MDL-60631 analytics: Pass evaluation analysables filters as objects
authorDavid Monllao <davidm@moodle.com>
Mon, 30 Oct 2017 09:53:30 +0000 (10:53 +0100)
committerDavid Monllao <davidm@moodle.com>
Mon, 30 Oct 2017 09:54:07 +0000 (10:54 +0100)
analytics/classes/local/analyser/by_course.php
analytics/classes/local/time_splitting/base.php

index 7d9f28a..bbda69a 100644 (file)
@@ -44,7 +44,11 @@ abstract class by_course extends base {
 
         // Default to all system courses.
         if (!empty($this->options['filter'])) {
-            $courses = $this->options['filter'];
+            $courses = array();
+            foreach ($this->options['filter'] as $courseid) {
+                $courses[$courseid] = new \stdClass();
+                $courses[$courseid]->id = $courseid;
+            }
         } else {
             // Iterate through all potentially valid courses.
             $courses = get_courses('all', 'c.sortorder ASC', 'c.id');
index 11532a9..1ee6dfb 100644 (file)
@@ -197,6 +197,10 @@ abstract class base {
 
         $dataset = $this->calculate_indicators($sampleids, $samplesorigin, $indicators, $ranges);
 
+        if (empty($dataset)) {
+            return false;
+        }
+
         // Now that we have the indicators in place we can add the time range indicators (and target if provided) to each of them.
         $this->fill_dataset($dataset, $calculatedtarget);