Exemplo n.º 1
0
 /**
  * Trigger the user report events, do the same that the web interface view of the report
  *
  * @param int $courseid id of course
  * @param int $userid id of the user the report belongs to
  * @return array of warnings and status result
  * @since Moodle 3.2
  * @throws moodle_exception
  */
 public static function view_grade_report($courseid, $userid = 0)
 {
     global $USER;
     $params = self::validate_parameters(self::view_grade_report_parameters(), array('courseid' => $courseid, 'userid' => $userid));
     $warnings = array();
     $course = get_course($params['courseid']);
     $context = context_course::instance($course->id);
     self::validate_context($context);
     $userid = $params['userid'];
     if (empty($userid)) {
         $userid = $USER->id;
     } else {
         $user = core_user::get_user($userid, '*', MUST_EXIST);
         core_user::require_active_user($user);
     }
     $systemcontext = context_system::instance();
     $personalcontext = context_user::instance($userid);
     $access = grade_report_overview::check_access($systemcontext, $context, $personalcontext, $course, $userid);
     if (!$access) {
         throw new moodle_exception('nopermissiontoviewgrades', 'error');
     }
     grade_report_overview::viewed($context, $course->id, $userid);
     $result = array();
     $result['status'] = true;
     $result['warnings'] = $warnings;
     return $result;
 }
Exemplo n.º 2
0
            }
            echo $OUTPUT->header();
            if ($report->fill_table(true, true)) {
                echo html_writer::tag('h3', get_string('coursesiamtaking', 'grades'));
                echo '<br />' . $report->print_table(true);
            }
        } else {
            // We have a course context. We must be navigating from the gradebook.
            print_grade_page_head($courseid, 'report', 'overview', get_string('pluginname', 'gradereport_overview') . ' - ' . fullname($report->user));
            if ($report->fill_table()) {
                echo '<br />' . $report->print_table(true);
            }
        }
    } else {
        $PAGE->set_pagelayout('standard');
        $header = get_string('grades', 'grades') . ' - ' . fullname($report->user);
        $PAGE->set_title($header);
        $PAGE->set_heading(fullname($report->user));
        echo $OUTPUT->header();
    }
    if (count($report->teachercourses)) {
        echo html_writer::tag('h3', get_string('coursesiamteaching', 'grades'));
        $report->print_teacher_table();
    }
    if (empty($report->studentcourseids) && empty($report->teachercourses)) {
        // We have no report to show the user. Let them know something.
        echo $OUTPUT->notification(get_string('noreports', 'grades'), 'notifymessage');
    }
}
grade_report_overview::viewed($context, $courseid, $userid);
echo $OUTPUT->footer();