/** * View a summary listing of all setaskments in the current course. * * @return string */ private function view_course_index() { global $USER; $o = ''; $course = $this->get_course(); $strplural = get_string('modulenameplural', 'setask'); if (!($cms = get_coursemodules_in_course('setask', $course->id, 'm.duedate'))) { $o .= $this->get_renderer()->notification(get_string('thereareno', 'moodle', $strplural)); $o .= $this->get_renderer()->continue_button(new moodle_url('/course/view.php', array('id' => $course->id))); return $o; } $strsectionname = ''; $usesections = course_format_uses_sections($course->format); $modinfo = get_fast_modinfo($course); if ($usesections) { $strsectionname = get_string('sectionname', 'format_' . $course->format); $sections = $modinfo->get_section_info_all(); } $courseindexsummary = new setask_course_index_summary($usesections, $strsectionname); $timenow = time(); $currentsection = ''; foreach ($modinfo->instances['setask'] as $cm) { if (!$cm->uservisible) { continue; } $timedue = $cms[$cm->id]->duedate; $sectionname = ''; if ($usesections && $cm->sectionnum) { $sectionname = get_section_name($course, $sections[$cm->sectionnum]); } $submitted = ''; $context = context_module::instance($cm->id); $setaskment = new setask($context, $cm, $course); if (has_capability('mod/setask:grade', $context)) { $submitted = $setaskment->count_submissions_with_status(ASSIGN_SUBMISSION_STATUS_SUBMITTED); } else { if (has_capability('mod/setask:submit', $context)) { $usersubmission = $setaskment->get_user_submission($USER->id, false); if (!empty($usersubmission->status)) { $submitted = get_string('submissionstatus_' . $usersubmission->status, 'setask'); } else { $submitted = get_string('submissionstatus_', 'setask'); } } } $gradinginfo = grade_get_grades($course->id, 'mod', 'setask', $cm->instance, $USER->id); if (isset($gradinginfo->items[0]->grades[$USER->id]) && !$gradinginfo->items[0]->grades[$USER->id]->hidden) { $grade = $gradinginfo->items[0]->grades[$USER->id]->str_grade; } else { $grade = '-'; } $courseindexsummary->add_setask_info($cm->id, $cm->name, $sectionname, $timedue, $submitted, $grade); } $o .= $this->get_renderer()->render($courseindexsummary); $o .= $this->view_footer(); return $o; }