mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 04:22:07 +02:00
Merge branch 'MDL-76603-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE
This commit is contained in:
commit
9bdbff4f3a
@ -80,7 +80,7 @@ M.gradingform_guideeditor.editmode = function(el, editmode) {
|
||||
if (editmode && !ta.hasClass('hiddenelement')) {
|
||||
return;
|
||||
}
|
||||
var pseudotablink = '<input type="text" size="1" class="pseudotablink"/>',
|
||||
var pseudotablink = '<span class="pseudotablink" tabindex="0"></span>',
|
||||
taplain = ta.next('.plainvalue'),
|
||||
tbplain = null,
|
||||
tb = el.one('.score input[type=text]')
|
||||
|
@ -66,7 +66,7 @@ class gradingform_rubric_editrubric extends moodleform {
|
||||
$form->addElement('select', 'status', get_string('rubricstatus', 'gradingform_rubric'), $choices)->freeze();
|
||||
|
||||
// rubric editor
|
||||
$element = $form->addElement('rubriceditor', 'rubric', get_string('rubric', 'gradingform_rubric'));
|
||||
$form->addElement('rubriceditor', 'rubric', get_string('rubric', 'gradingform_rubric'));
|
||||
$form->setType('rubric', PARAM_RAW);
|
||||
|
||||
$buttonarray = array();
|
||||
|
@ -68,7 +68,7 @@ M.gradingform_rubriceditor.editmode = function(el, editmode, focustb) {
|
||||
var ta = el.one('textarea')
|
||||
if (!editmode && ta.hasClass('hiddenelement')) return;
|
||||
if (editmode && !ta.hasClass('hiddenelement')) return;
|
||||
var pseudotablink = '<input type="text" size="1" class="pseudotablink"/>',
|
||||
var pseudotablink = '<span class="pseudotablink" tabindex="0"></span>',
|
||||
taplain = ta.get('parentNode').one('.plainvalue'),
|
||||
tbplain = null,
|
||||
tb = el.one('.score input[type=text]')
|
||||
|
@ -119,7 +119,10 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
|
||||
$criteriontemplate .= html_writer::tag('td', $description, $descriptiontdparams);
|
||||
|
||||
// Levels table.
|
||||
$levelsrowparams = array('id' => '{NAME}-criteria-{CRITERION-id}-levels');
|
||||
$levelsrowparams = [
|
||||
'id' => '{NAME}-criteria-{CRITERION-id}-levels',
|
||||
'aria-label' => get_string('levelsgroup', 'gradingform_rubric'),
|
||||
];
|
||||
// Add radiogroup role only when not previewing or editing.
|
||||
$isradiogroup = !in_array($mode, [
|
||||
gradingform_rubric_controller::DISPLAY_EDIT_FULL,
|
||||
@ -127,15 +130,13 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
|
||||
gradingform_rubric_controller::DISPLAY_PREVIEW,
|
||||
gradingform_rubric_controller::DISPLAY_PREVIEW_GRADED,
|
||||
]);
|
||||
if ($isradiogroup) {
|
||||
$levelsrowparams['role'] = 'radiogroup';
|
||||
}
|
||||
$levelsrowparams['role'] = $isradiogroup ? 'radiogroup' : 'list';
|
||||
$levelsrow = html_writer::tag('tr', $levelsstr, $levelsrowparams);
|
||||
|
||||
$levelstableparams = array(
|
||||
$levelstableparams = [
|
||||
'id' => '{NAME}-criteria-{CRITERION-id}-levels-table',
|
||||
'aria-label' => get_string('levelsgroup', 'gradingform_rubric')
|
||||
);
|
||||
'role' => 'none',
|
||||
];
|
||||
$levelsstrtable = html_writer::tag('table', $levelsrow, $levelstableparams);
|
||||
$levelsclass = 'levels';
|
||||
if (isset($criterion['error_levels'])) {
|
||||
@ -311,7 +312,11 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
|
||||
} else {
|
||||
$tdattributes['aria-checked'] = 'false';
|
||||
}
|
||||
} else {
|
||||
$tdattributes['role'] = 'listitem';
|
||||
}
|
||||
} else {
|
||||
$tdattributes['role'] = 'listitem';
|
||||
}
|
||||
|
||||
$leveltemplateparams = array(
|
||||
@ -395,11 +400,12 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
|
||||
$rubrictemplate = html_writer::start_tag('div', array('id' => 'rubric-{NAME}', 'class' => 'clearfix gradingform_rubric'.$classsuffix));
|
||||
|
||||
// Rubric table.
|
||||
$rubrictableparams = array(
|
||||
$rubrictableparams = [
|
||||
'class' => 'criteria',
|
||||
'id' => '{NAME}-criteria',
|
||||
'aria-label' => get_string('rubric', 'gradingform_rubric'));
|
||||
$rubrictable = html_writer::tag('table', $criteriastr, $rubrictableparams);
|
||||
];
|
||||
$caption = html_writer::tag('caption', get_string('rubric', 'gradingform_rubric'), ['class' => 'sr-only']);
|
||||
$rubrictable = html_writer::tag('table', $caption . $criteriastr, $rubrictableparams);
|
||||
$rubrictemplate .= $rubrictable;
|
||||
if ($mode == gradingform_rubric_controller::DISPLAY_EDIT_FULL) {
|
||||
$value = get_string('addcriterion', 'gradingform_rubric');
|
||||
|
@ -96,10 +96,14 @@
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.gradingform_rubric .criterion.even {
|
||||
.gradingform_rubric .criterion.even td {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.gradingform_rubric .criterion.odd td {
|
||||
background: white;
|
||||
}
|
||||
|
||||
.gradingform_rubric .criterion .description {
|
||||
min-width: 150px;
|
||||
font-weight: bold;
|
||||
@ -153,36 +157,36 @@
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .criterion .controls .delete input {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: transparent url([[pix:t/delete]]) no-repeat center top;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url([[pix:t/delete]]) no-repeat center;
|
||||
margin: .3em .3em 0 .3em;
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .criterion .controls .duplicate input {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: transparent url([[pix:t/copy]]) no-repeat center top;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url([[pix:t/copy]]) no-repeat center;
|
||||
margin: .3em .3em 0 .3em;
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .levels .level .delete input {
|
||||
width: 12px;
|
||||
height: 16px;
|
||||
background: transparent url([[pix:t/delete]]) no-repeat center center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url([[pix:t/delete]]) no-repeat center;
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .moveup input {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: transparent url([[pix:t/up]]) no-repeat center top;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url([[pix:t/up]]) no-repeat center;
|
||||
margin: .3em .3em 0 .3em;
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .movedown input {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: transparent url([[pix:t/down]]) no-repeat center top;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url([[pix:t/down]]) no-repeat center;
|
||||
margin: .3em .3em 0 .3em;
|
||||
}
|
||||
|
||||
|
@ -448,6 +448,11 @@ class renderer extends \plugin_renderer_base {
|
||||
$o .= \html_writer::table($t);
|
||||
$o .= $this->output->box_end();
|
||||
|
||||
if (!empty($status->gradingcontrollergrade)) {
|
||||
$o .= $this->output->heading(get_string('gradebreakdown', 'assign'), 4);
|
||||
$o .= $status->gradingcontrollergrade;
|
||||
}
|
||||
|
||||
$o .= $this->output->container_end();
|
||||
return $o;
|
||||
}
|
||||
@ -813,13 +818,6 @@ class renderer extends \plugin_renderer_base {
|
||||
$this->add_table_row_tuple($t, $cell1content, $cell2content, [], $cell2attributes);
|
||||
}
|
||||
|
||||
// Grading criteria preview.
|
||||
if (!empty($status->gradingcontrollerpreview)) {
|
||||
$cell1content = get_string('gradingmethodpreview', 'assign');
|
||||
$cell2content = $status->gradingcontrollerpreview;
|
||||
$this->add_table_row_tuple($t, $cell1content, $cell2content, [], []);
|
||||
}
|
||||
|
||||
// Last modified.
|
||||
if ($submission) {
|
||||
$cell1content = get_string('timemodified', 'assign');
|
||||
@ -860,6 +858,12 @@ class renderer extends \plugin_renderer_base {
|
||||
$o .= \html_writer::table($t);
|
||||
$o .= $this->output->box_end();
|
||||
|
||||
// Grading criteria preview.
|
||||
if (!empty($status->gradingcontrollerpreview)) {
|
||||
$o .= $this->output->heading(get_string('gradingmethodpreview', 'assign'), 4);
|
||||
$o .= $status->gradingcontrollerpreview;
|
||||
}
|
||||
|
||||
$o .= $this->output->container_end();
|
||||
return $o;
|
||||
}
|
||||
|
@ -284,6 +284,7 @@ $string['gradedby'] = 'Graded by';
|
||||
$string['gradedfollowupsubmit'] = 'Graded - follow-up submission received';
|
||||
$string['gradedon'] = 'Graded on';
|
||||
$string['gradebelowzero'] = 'Grade must be greater than or equal to zero.';
|
||||
$string['gradebreakdown'] = 'Grade breakdown';
|
||||
$string['gradeabovemaximum'] = 'Grade must be less than or equal to {$a}.';
|
||||
$string['gradelocked'] = 'This grade is locked or overridden in the gradebook.';
|
||||
$string['gradeoutof'] = 'Grade out of {$a}';
|
||||
|
@ -5446,15 +5446,19 @@ class assign {
|
||||
$grader = null;
|
||||
$gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
|
||||
|
||||
$gradingcontrollergrade = '';
|
||||
if ($hasgrade) {
|
||||
if ($controller = $gradingmanager->get_active_controller()) {
|
||||
$menu = make_grades_menu($this->get_instance()->grade);
|
||||
$controller->set_grade_range($menu, $this->get_instance()->grade > 0);
|
||||
$gradefordisplay = $controller->render_grade($PAGE,
|
||||
$grade->id,
|
||||
$gradingitem,
|
||||
$gradebookgrade->str_long_grade,
|
||||
$cangrade);
|
||||
$gradingcontrollergrade = $controller->render_grade(
|
||||
$PAGE,
|
||||
$grade->id,
|
||||
$gradingitem,
|
||||
'',
|
||||
$cangrade
|
||||
);
|
||||
$gradefordisplay = $gradebookgrade->str_long_grade;
|
||||
} else {
|
||||
$gradefordisplay = $this->display_grade($gradebookgrade->grade, false);
|
||||
}
|
||||
@ -5481,15 +5485,18 @@ class assign {
|
||||
if ($grade) {
|
||||
\mod_assign\event\feedback_viewed::create_from_grade($this, $grade)->trigger();
|
||||
}
|
||||
$feedbackstatus = new assign_feedback_status($gradefordisplay,
|
||||
$gradeddate,
|
||||
$grader,
|
||||
$this->get_feedback_plugins(),
|
||||
$grade,
|
||||
$this->get_course_module()->id,
|
||||
$this->get_return_action(),
|
||||
$this->get_return_params(),
|
||||
$viewfullnames);
|
||||
$feedbackstatus = new assign_feedback_status(
|
||||
$gradefordisplay,
|
||||
$gradeddate,
|
||||
$grader,
|
||||
$this->get_feedback_plugins(),
|
||||
$grade,
|
||||
$this->get_course_module()->id,
|
||||
$this->get_return_action(),
|
||||
$this->get_return_params(),
|
||||
$viewfullnames,
|
||||
$gradingcontrollergrade
|
||||
);
|
||||
|
||||
// Show the grader's identity if 'Hide Grader' is disabled or has the 'Show Hidden Grader' capability.
|
||||
$showgradername = (
|
||||
|
@ -291,6 +291,8 @@ class assign_feedback_status implements renderable {
|
||||
public $returnparams = array();
|
||||
/** @var bool canviewfullnames */
|
||||
public $canviewfullnames = false;
|
||||
/** @var string gradingcontrollergrade The grade information rendered by a grade controller */
|
||||
public $gradingcontrollergrade;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@ -303,6 +305,7 @@ class assign_feedback_status implements renderable {
|
||||
* @param string $returnaction The action required to return to this page
|
||||
* @param array $returnparams The list of params required to return to this page
|
||||
* @param bool $canviewfullnames
|
||||
* @param string $gradingcontrollergrade The grade information rendered by a grade controller
|
||||
*/
|
||||
public function __construct($gradefordisplay,
|
||||
$gradeddate,
|
||||
@ -312,7 +315,8 @@ class assign_feedback_status implements renderable {
|
||||
$coursemoduleid,
|
||||
$returnaction,
|
||||
$returnparams,
|
||||
$canviewfullnames) {
|
||||
$canviewfullnames,
|
||||
$gradingcontrollergrade = '') {
|
||||
$this->gradefordisplay = $gradefordisplay;
|
||||
$this->gradeddate = $gradeddate;
|
||||
$this->grader = $grader;
|
||||
@ -322,6 +326,7 @@ class assign_feedback_status implements renderable {
|
||||
$this->returnaction = $returnaction;
|
||||
$this->returnparams = $returnparams;
|
||||
$this->canviewfullnames = $canviewfullnames;
|
||||
$this->gradingcontrollergrade = $gradingcontrollergrade;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user