diff --git a/mod/assign/index.php b/mod/assign/index.php index b90c8ac3018..fa9796e29ed 100644 --- a/mod/assign/index.php +++ b/mod/assign/index.php @@ -61,11 +61,24 @@ foreach ($assignments as $assignment) { $date = userdate($assignment->duedate); } - $params = array('assignment'=>$cm->instance, 'status'=>ASSIGN_SUBMISSION_STATUS_SUBMITTED); - $submissions = $DB->count_records('assign_submission', $params); - $row = array($link, $date, $submissions); - $table->data[] = $row; + $context = context_module::instance($cm->id); + $instance = new assign($context, $cm, $course); + $submitted = ''; + if (has_capability('mod/assign:grade', $context)) { + $submitted = $instance->count_submissions_with_status(ASSIGN_SUBMISSION_STATUS_SUBMITTED); + } else if (has_capability('mod/assign:submit', $context)) { + $submission = $DB->get_record('assign_submission', array('assignment'=>$assignment->id, 'userid'=>$USER->id)); + + if (!empty($submission->status)) { + $submitted = get_string('submissionstatus_' . $submission->status, 'assign'); + } else { + $submitted = get_string('submissionstatus_', 'assign'); + } + } + + $row = array($link, $date, $submitted); + $table->data[] = $row; } echo html_writer::table($table); echo $OUTPUT->footer();