mirror of
https://github.com/moodle/moodle.git
synced 2025-03-28 03:22:38 +01:00
Merge branch 'MDL-70441-main' of https://github.com/kevpercy/moodle
This commit is contained in:
commit
8223afd93e
@ -650,15 +650,20 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
if ($this->quickgrading && !$gradingdisabled) {
|
||||
$notmarked = get_string('markingworkflowstatenotmarked', 'assign');
|
||||
$name = 'quickgrade_' . $row->id . '_workflowstate';
|
||||
$o .= html_writer::select($workflowstates, $name, $workflowstate, array('' => $notmarked));
|
||||
// Check if this user is a marker that can't manage allocations and doesn't have the marker column added.
|
||||
if ($this->assignment->get_instance()->markingworkflow &&
|
||||
$this->assignment->get_instance()->markingallocation &&
|
||||
!has_capability('mod/assign:manageallocations', $this->assignment->get_context())) {
|
||||
if ($workflowstate !== ASSIGN_MARKING_WORKFLOW_STATE_NOTMARKED && !array_key_exists($workflowstate, $workflowstates)) {
|
||||
$allworkflowstates = $this->assignment->get_all_marking_workflow_states();
|
||||
$o .= html_writer::div($allworkflowstates[$workflowstate]);
|
||||
} else {
|
||||
$o .= html_writer::select($workflowstates, $name, $workflowstate, ['' => $notmarked]);
|
||||
// Check if this user is a marker that can't manage allocations and doesn't have the marker column added.
|
||||
if ($this->assignment->get_instance()->markingworkflow &&
|
||||
$this->assignment->get_instance()->markingallocation &&
|
||||
!has_capability('mod/assign:manageallocations', $this->assignment->get_context())) {
|
||||
|
||||
$name = 'quickgrade_' . $row->id . '_allocatedmarker';
|
||||
$o .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => $name,
|
||||
'value' => $row->allocatedmarker));
|
||||
$name = 'quickgrade_' . $row->id . '_allocatedmarker';
|
||||
$o .= html_writer::empty_tag('input', ['type' => 'hidden', 'name' => $name,
|
||||
'value' => $row->allocatedmarker]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$o .= $this->output->container(get_string('markingworkflowstate' . $workflowstate, 'assign'), $workflowstate);
|
||||
|
@ -165,6 +165,9 @@ class assign {
|
||||
/** @var array of marking workflow states for the current user */
|
||||
private $markingworkflowstates = null;
|
||||
|
||||
/** @var array of all marking workflow states */
|
||||
private $allmarkingworkflowstates = null;
|
||||
|
||||
/** @var bool whether to exclude users with inactive enrolment */
|
||||
private $showonlyactiveenrol = null;
|
||||
|
||||
@ -7891,8 +7894,15 @@ class assign {
|
||||
if ($this->get_instance()->markingworkflow) {
|
||||
$states = $this->get_marking_workflow_states_for_current_user();
|
||||
$options = array('' => get_string('markingworkflowstatenotmarked', 'assign')) + $states;
|
||||
$mform->addElement('select', 'workflowstate', get_string('markingworkflowstate', 'assign'), $options);
|
||||
$select = $mform->addElement('select', 'workflowstate', get_string('markingworkflowstate', 'assign'), $options);
|
||||
$mform->addHelpButton('workflowstate', 'markingworkflowstate', 'assign');
|
||||
if (isset($data->workflowstate) && !array_key_exists($data->workflowstate, $states)) {
|
||||
// In a workflow state that user should not be able to change, so freeze workflow selector.
|
||||
// Have to add the state so it shows in the frozen selector.
|
||||
$allworkflowstates = $this->get_all_marking_workflow_states();
|
||||
$select->addOption($allworkflowstates[$data->workflowstate], $data->workflowstate);
|
||||
$mform->freeze('workflowstate');
|
||||
}
|
||||
$gradingstatus = $this->get_grading_status($userid);
|
||||
if ($gradingstatus != ASSIGN_MARKING_WORKFLOW_STATE_RELEASED) {
|
||||
if ($grade->grade && $grade->grade != -1) {
|
||||
@ -9204,6 +9214,28 @@ class assign {
|
||||
return $this->markingworkflowstates;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of marking_workflow states.
|
||||
*
|
||||
* @return array Array of multiple state => description.
|
||||
*/
|
||||
public function get_all_marking_workflow_states(): array {
|
||||
if (!empty($this->allmarkingworkflowstates)) {
|
||||
return $this->allmarkingworkflowstates;
|
||||
}
|
||||
|
||||
$this->allmarkingworkflowstates = [
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_NOTMARKED => get_string('markingworkflowstatenotmarked', 'assign'),
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_INMARKING => get_string('markingworkflowstateinmarking', 'assign'),
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_READYFORREVIEW => get_string('markingworkflowstatereadyforreview', 'assign'),
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_INREVIEW => get_string('markingworkflowstateinreview', 'assign'),
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_READYFORRELEASE => get_string('markingworkflowstatereadyforrelease', 'assign'),
|
||||
ASSIGN_MARKING_WORKFLOW_STATE_RELEASED => get_string('markingworkflowstatereleased', 'assign'),
|
||||
];
|
||||
|
||||
return $this->allmarkingworkflowstates;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check is only active users in course should be shown.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user