MDL-47914 report_stats: better handling of user and mode
authorSam Hemelryk <sam@moodle.com>
Mon, 27 Oct 2014 22:22:51 +0000 (11:22 +1300)
committerSam Hemelryk <sam@moodle.com>
Mon, 27 Oct 2014 22:52:41 +0000 (11:52 +1300)
report/stats/graph.php
report/stats/locallib.php

index b4463e1..8505e33 100644 (file)
@@ -57,7 +57,8 @@ if (!empty($userid)) {
     if (!report_stats_can_access_user_report($user, $course, true)) {
         require_capability('report/stats:view', $coursecontext);
     }
-
+} else if ($mode === STATS_MODE_DETAILED) {
+    print_error('invaliduser');
 } else {
     require_capability('report/stats:view', $coursecontext);
 }
index 0a0b6f1..78bbda6 100644 (file)
@@ -161,7 +161,11 @@ function report_stats_report($course, $report, $mode, $user, $roleid, $time) {
     echo '</div>';
     echo '</form>';
 
-    if (!empty($report) && !empty($time)) {
+    // Display the report if:
+    //  - A report has been selected.
+    //  - A time frame has been provided
+    //  - If the mode is not detailed OR a valid user has been selected.
+    if (!empty($report) && !empty($time) && ($mode !== STATS_MODE_DETAILED || !empty($userid))) {
         if ($report == STATS_REPORT_LOGINS && $course->id != SITEID) {
             print_error('reportnotavailable');
         }