Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-32759 Assignment 2.2: Changing grade for existing assignments wil…

…l show warning that grades will not be scaled
  • Loading branch information...
commit b5cbe52bfc6992e2aa0499496423a60e75e87560 1 parent e6aac11
@rajeshtaneja rajeshtaneja authored
View
12 mod/assignment/assignment.js
@@ -35,3 +35,15 @@ M.mod_assignment.init_tree = function(Y, expand_all, htmlid) {
tree.render();
});
};
+
+M.mod_assignment.init_grade_change = function(Y) {
+ var gradenode = Y.one('#id_grade');
+ if (gradenode) {
+ var originalvalue = gradenode.get('value');
+ gradenode.on('change', function() {
+ if (gradenode.get('value') != originalvalue) {
+ alert(M.str.mod_assignment.changegradewarning);
+ }
+ });
+ }
+};
View
1  mod/assignment/lang/en/assignment.php
@@ -56,6 +56,7 @@
$string['availabledate'] = 'Available from';
$string['cannotdeletefiles'] = 'An error occurred and files could not be deleted';
$string['cannotviewassignment'] = 'You can not view this assignment';
+$string['changegradewarning'] = 'This assignment has graded submissions and changing the grade will not automatically re-calculate existing submission grades. You must re-grade all existing submissions, if you wish to change the grade.';
$string['comment'] = 'Comment';
$string['commentinline'] = 'Comment inline';
$string['commentinline_help'] = 'If enabled, the submission text will be copied into the feedback comment field during grading, making it easier to comment inline (using a different colour, perhaps) or to edit the original text.';
View
17 mod/assignment/mod_form.php
@@ -9,7 +9,7 @@ class mod_assignment_mod_form extends moodleform_mod {
protected $_assignmentinstance = null;
function definition() {
- global $CFG, $DB;
+ global $CFG, $DB, $PAGE;
$mform =& $this->_form;
// this hack is needed for different settings of each subtype
@@ -76,6 +76,21 @@ function definition() {
$this->standard_coursemodule_elements();
$this->add_action_buttons();
+
+ // Add warning popup/noscript tag, if grades are changed by user.
+ if ($mform->elementExists('grade') && !empty($this->_instance) && $DB->record_exists_select('assignment_submissions', 'assignment = ? AND grade <> -1', array($this->_instance))) {
+ $module = array(
+ 'name' => 'mod_assignment',
+ 'fullpath' => '/mod/assignment/assignment.js',
+ 'requires' => array('node', 'event'),
+ 'strings' => array(array('changegradewarning', 'mod_assignment'))
+ );
+ $PAGE->requires->js_init_call('M.mod_assignment.init_grade_change', null, false, $module);
+
+ // Add noscript tag in case
+ $noscriptwarning = $mform->createElement('static', 'warning', null, html_writer::tag('noscript', get_string('changegradewarning', 'mod_assignment')));
+ $mform->insertElementBefore($noscriptwarning, 'grade');
+ }
}
// Needed by plugin assignment types if they include a filemanager element in the settings form
Please sign in to comment.
Something went wrong with that request. Please try again.