MDL-34256: Grading table shows users with no submissions with "requires grading" filter
Also hide the filters completely if there are no submission plugins enabled (offline assignment).
This commit is contained in:
committed by
Sam Hemelryk
parent
392ee02d6c
commit
145a300b73
@@ -52,7 +52,9 @@ class mod_assign_grading_options_form extends moodleform {
|
||||
$options = array('' => get_string('filternone', 'assign'),
|
||||
ASSIGN_FILTER_SUBMITTED => get_string('filtersubmitted', 'assign'),
|
||||
ASSIGN_FILTER_REQUIRE_GRADING => get_string('filterrequiregrading', 'assign'));
|
||||
$mform->addElement('select', 'filter', get_string('filter', 'assign'), $options);
|
||||
if ($instance['submissionsenabled']) {
|
||||
$mform->addElement('select', 'filter', get_string('filter', 'assign'), $options);
|
||||
}
|
||||
|
||||
// quickgrading
|
||||
if ($instance['showquickgrading']) {
|
||||
|
||||
@@ -105,7 +105,7 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
$where .= ' AND s.timecreated > 0 ';
|
||||
}
|
||||
if ($filter == ASSIGN_FILTER_REQUIRE_GRADING) {
|
||||
$where .= ' AND (s.timemodified > g.timemodified OR g.timemodified IS NULL)';
|
||||
$where .= ' AND (s.timemodified > g.timemodified OR (s.timemodified IS NOT NULL AND g.timemodified IS NULL))';
|
||||
}
|
||||
if (strpos($filter, ASSIGN_FILTER_SINGLE_USER) === 0) {
|
||||
$userfilter = (int) array_pop(explode('=', $filter));
|
||||
|
||||
@@ -1745,6 +1745,7 @@ class assign {
|
||||
array('cm'=>$this->get_course_module()->id,
|
||||
'contextid'=>$this->context->id,
|
||||
'userid'=>$USER->id,
|
||||
'submissionsenabled'=>$this->is_any_submission_plugin_enabled(),
|
||||
'showquickgrading'=>$showquickgrading,
|
||||
'quickgrading'=>$quickgrading),
|
||||
'post', '',
|
||||
@@ -2673,7 +2674,11 @@ class assign {
|
||||
// Need submit permission to submit an assignment
|
||||
require_capability('mod/assign:grade', $this->context);
|
||||
|
||||
$mform = new mod_assign_grading_options_form(null, array('cm'=>$this->get_course_module()->id, 'contextid'=>$this->context->id, 'userid'=>$USER->id, 'showquickgrading'=>false));
|
||||
$mform = new mod_assign_grading_options_form(null, array('cm'=>$this->get_course_module()->id,
|
||||
'contextid'=>$this->context->id,
|
||||
'userid'=>$USER->id,
|
||||
'submissionsenabled'=>$this->is_any_submission_plugin_enabled(),
|
||||
'showquickgrading'=>false));
|
||||
if ($formdata = $mform->get_data()) {
|
||||
set_user_preference('assign_perpage', $formdata->perpage);
|
||||
set_user_preference('assign_filter', $formdata->filter);
|
||||
|
||||
Reference in New Issue
Block a user