Merge branch 'MDL-36667-24' of git://github.com/damyon/moodle into MOODLE_24_STABLE
This commit is contained in:
@@ -266,7 +266,7 @@ class assignfeedback_file_zip_importer {
|
||||
$fileplugin->update_file_count($grade);
|
||||
|
||||
// Update the last modified time on the grade which will trigger student notifications.
|
||||
$assignment->update_grade($grade);
|
||||
$assignment->notify_grade_modified($grade);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -403,6 +403,7 @@ class assign_feedback_file extends assign_feedback_plugin {
|
||||
// Now copy each of these files to the users feedback file area.
|
||||
foreach ($users as $userid) {
|
||||
$grade = $this->assignment->get_user_grade($userid, true);
|
||||
$this->assignment->notify_grade_modified($grade);
|
||||
|
||||
$this->copy_area_files($fs,
|
||||
$this->assignment->get_context()->id,
|
||||
|
||||
@@ -157,6 +157,7 @@ class assign_feedback_offline extends assign_feedback_plugin {
|
||||
$grade->grade = $record->grade;
|
||||
$grade->grader = $USER->id;
|
||||
if ($this->assignment->update_grade($grade)) {
|
||||
$this->assignment->notify_grade_modified($grade);
|
||||
$this->assignment->add_to_log('grade submission', $this->assignment->format_grade_for_log($grade));
|
||||
$updatecount += 1;
|
||||
}
|
||||
@@ -178,6 +179,7 @@ class assign_feedback_offline extends assign_feedback_plugin {
|
||||
if ($newvalue != $oldvalue) {
|
||||
$updatecount += 1;
|
||||
$grade = $this->assignment->get_user_grade($record->user->id, true);
|
||||
$this->assignment->notify_grade_modified($grade);
|
||||
if ($plugin->set_editor_text($field, $newvalue, $grade->id)) {
|
||||
$logdesc = get_string('feedbackupdate', 'assignfeedback_offline',
|
||||
array('field'=>$description,
|
||||
|
||||
@@ -1476,6 +1476,23 @@ class assign {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark in the database that this grade record should have an update notification sent by cron.
|
||||
*
|
||||
* @param stdClass $grade a grade record keyed on id
|
||||
* @return bool true for success
|
||||
*/
|
||||
public function notify_grade_modified($grade) {
|
||||
global $DB;
|
||||
|
||||
$grade->timemodified = time();
|
||||
if ($grade->mailed != 1) {
|
||||
$grade->mailed = 0;
|
||||
}
|
||||
|
||||
return $DB->update_record('assign_grades', $grade);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a grade in the grade table for the assignment and in the gradebook
|
||||
*
|
||||
@@ -2175,6 +2192,10 @@ class assign {
|
||||
$grade->grade = -1;
|
||||
$grade->grader = $USER->id;
|
||||
$grade->extensionduedate = 0;
|
||||
|
||||
// The mailed flag can be one of 3 values: 0 is unsent, 1 is sent and 2 is do not send yet.
|
||||
// This is because students only want to be notified about certain types of update (grades and feedback).
|
||||
$grade->mailed = 2;
|
||||
$gid = $DB->insert_record('assign_grades', $grade);
|
||||
$grade->id = $gid;
|
||||
return $grade;
|
||||
@@ -3712,6 +3733,7 @@ class assign {
|
||||
}
|
||||
|
||||
$this->update_grade($grade);
|
||||
$this->notify_grade_modified($grade);
|
||||
|
||||
// save outcomes
|
||||
if ($CFG->enableoutcomes) {
|
||||
@@ -4406,6 +4428,7 @@ class assign {
|
||||
}
|
||||
}
|
||||
$this->update_grade($grade);
|
||||
$this->notify_grade_modified($grade);
|
||||
$user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
|
||||
|
||||
$this->add_to_log('grade submission', $this->format_grade_for_log($grade));
|
||||
|
||||
Reference in New Issue
Block a user