diff --git a/course/classes/analytics/target/course_competencies.php b/course/classes/analytics/target/course_competencies.php index 046013b54bf..0aea6268db6 100644 --- a/course/classes/analytics/target/course_competencies.php +++ b/course/classes/analytics/target/course_competencies.php @@ -118,11 +118,6 @@ class course_competencies extends course_enrolments { */ protected function calculate_sample($sampleid, \core_analytics\analysable $course, $starttime = false, $endtime = false) { - if ($this->enrolment_starts_after_calculation_start($sampleid, $starttime)) { - // Discard user enrolments whose start date is after $starttime. - return null; - } - $userenrol = $this->retrieve('user_enrolments', $sampleid); $key = $course->get_id(); diff --git a/course/classes/analytics/target/course_completion.php b/course/classes/analytics/target/course_completion.php index 75f0d82c1c3..9c187ca76b7 100644 --- a/course/classes/analytics/target/course_completion.php +++ b/course/classes/analytics/target/course_completion.php @@ -96,10 +96,6 @@ class course_completion extends course_enrolments { */ protected function calculate_sample($sampleid, \core_analytics\analysable $course, $starttime = false, $endtime = false) { - if ($this->enrolment_starts_after_calculation_start($sampleid, $starttime)) { - // Discard user enrolments whose start date is after $starttime. - return null; - } $userenrol = $this->retrieve('user_enrolments', $sampleid); // We use completion as a success metric. diff --git a/course/classes/analytics/target/course_dropout.php b/course/classes/analytics/target/course_dropout.php index 4cb43c7a82a..694b0581079 100644 --- a/course/classes/analytics/target/course_dropout.php +++ b/course/classes/analytics/target/course_dropout.php @@ -118,11 +118,6 @@ class course_dropout extends course_enrolments { */ protected function calculate_sample($sampleid, \core_analytics\analysable $course, $starttime = false, $endtime = false) { - if ($this->enrolment_starts_after_calculation_start($sampleid, $starttime)) { - // Discard user enrolments whose start date is after $starttime. - return null; - } - $userenrol = $this->retrieve('user_enrolments', $sampleid); // We use completion as a success metric only when it is enabled. diff --git a/course/classes/analytics/target/course_enrolments.php b/course/classes/analytics/target/course_enrolments.php index e3384132438..57b8ee63560 100644 --- a/course/classes/analytics/target/course_enrolments.php +++ b/course/classes/analytics/target/course_enrolments.php @@ -197,27 +197,4 @@ abstract class course_enrolments extends \core_analytics\local\target\binary { return array_merge($actions, parent::prediction_actions($prediction, $includedetailsaction)); } - - /** - * Does the user enrolment created after this time range start time or starts after it? - * - * We need to identify these enrolments because the indicators can not be calculated properly - * if the student enrolment started half way through this time range. - * - * User enrolments whose end date is before time() have already been discarded in - * course_enrolments::is_valid_sample. - * - * @param int $sampleid - * @param int $starttime - * @return bool - */ - protected function enrolment_starts_after_calculation_start(int $sampleid, int $starttime) { - - $userenrol = $this->retrieve('user_enrolments', $sampleid); - if ($userenrol->timestart && $userenrol->timestart > $starttime) { - return true; - } - - return false; - } } diff --git a/course/classes/analytics/target/course_gradetopass.php b/course/classes/analytics/target/course_gradetopass.php index 84152eb2b70..cb5727c393d 100644 --- a/course/classes/analytics/target/course_gradetopass.php +++ b/course/classes/analytics/target/course_gradetopass.php @@ -164,11 +164,6 @@ class course_gradetopass extends course_enrolments { */ protected function calculate_sample($sampleid, \core_analytics\analysable $course, $starttime = false, $endtime = false) { - if ($this->enrolment_starts_after_calculation_start($sampleid, $starttime)) { - // Discard user enrolments whose start date is after $starttime. - return null; - } - $userenrol = $this->retrieve('user_enrolments', $sampleid); // Get course grade to pass. diff --git a/lib/tests/targets_test.php b/lib/tests/targets_test.php index a61cb8365d3..24873747085 100644 --- a/lib/tests/targets_test.php +++ b/lib/tests/targets_test.php @@ -413,15 +413,11 @@ class core_analytics_targets_testcase extends advanced_testcase { $student1 = $dg->create_user(); $student2 = $dg->create_user(); $student3 = $dg->create_user(); - $student4 = $dg->create_user(); $studentrole = $DB->get_record('role', array('shortname' => 'student')); $dg->enrol_user($student1->id, $course1->id, $studentrole->id); $dg->enrol_user($student2->id, $course1->id, $studentrole->id); $dg->enrol_user($student3->id, $course1->id, $studentrole->id); - $enrolstart = mktime(0, 0, 0, 10, 25, 2015); - $dg->enrol_user($student4->id, $course1->id, $studentrole->id, 'manual', $enrolstart); - // get_all_samples() does not guarantee any order, so let's // explicitly define the expectations here for later comparing. // Expectations format being array($userid => expectation, ...) @@ -439,9 +435,6 @@ class core_analytics_targets_testcase extends advanced_testcase { // Student 3 (has no grade) fails, so it's non achieved sample. $expectations[$student3->id] = 1; - // Student 4 should be null as its enrolment timestart is after the this range. - $expectations[$student4->id] = null; - $courseitem->gradepass = 50; $DB->update_record('grade_items', $courseitem); @@ -460,12 +453,9 @@ class core_analytics_targets_testcase extends advanced_testcase { $method = $class->getMethod('calculate_sample'); $method->setAccessible(true); - $starttime = mktime(0, 0, 0, 10, 24, 2015); - // Verify all the expectations are fulfilled. foreach ($sampleids as $sampleid => $key) { - $this->assertEquals($expectations[$samplesdata[$key]['user']->id], $method->invoke($target, $sampleid, - $analysable, $starttime)); + $this->assertEquals($expectations[$samplesdata[$key]['user']->id], $method->invoke($target, $sampleid, $analysable)); } } }