Merge branch 'MDL-39760-MOODLE_23_STABLE' of https://github.com/lucisgit/moodle into MOODLE_23_STABLE

Conflicts:
	mod/assign/locallib.php
This commit is contained in:
Sam Hemelryk
2013-06-24 14:25:54 +12:00
2 changed files with 56 additions and 2 deletions
+26 -1
View File
@@ -2663,7 +2663,7 @@ class assign {
$plugins = $this->get_submission_plugins();
foreach ($plugins as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
$plugin->submit_for_grading();
$plugin->submit_for_grading($submission);
}
}
@@ -3288,6 +3288,13 @@ class assign {
$submission->status = ASSIGN_SUBMISSION_STATUS_DRAFT;
$this->update_submission($submission, false);
// Give each submission plugin a chance to process the reverting to draft.
$plugins = $this->get_submission_plugins();
foreach ($plugins as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
$plugin->revert_to_draft($submission);
}
}
// update the modified time on the grade (grader modified)
$grade = $this->get_user_grade($userid, true);
$this->update_grade($grade);
@@ -3315,6 +3322,15 @@ class assign {
$userid = required_param('userid', PARAM_INT);
}
// Give each submission plugin a chance to process the locking.
$plugins = $this->get_submission_plugins();
$submission = $this->get_user_submission($userid, false);
foreach ($plugins as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
$plugin->lock($submission);
}
}
$grade = $this->get_user_grade($userid, true);
$grade->locked = 1;
$grade->grader = $USER->id;
@@ -3342,6 +3358,15 @@ class assign {
$userid = required_param('userid', PARAM_INT);
}
// Give each submission plugin a chance to process the locking.
$plugins = $this->get_submission_plugins();
$submission = $this->get_user_submission($userid, false);
foreach ($plugins as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
$plugin->unlock($submission);
}
}
$grade = $this->get_user_grade($userid, true);
$grade->locked = 0;
$grade->grader = $USER->id;
+30 -1
View File
@@ -69,9 +69,38 @@ abstract class assign_submission_plugin extends assign_plugin {
/**
* Carry out any extra processing required when the work is submitted for grading
*
* @param stdClass $submission - assign_submission data
* @return void
*/
public function submit_for_grading() {
public function submit_for_grading(stdClass $submission) {
}
/**
* Carry out any extra processing required when the work is locked.
*
* @param stdClass $submission - assign_submission data
* @return void
*/
public function lock(stdClass $submission) {
}
/**
* Carry out any extra processing required when the work is unlocked.
*
* @param stdClass $submission - assign_submission data
* @return void
*/
public function unlock(stdClass $submission) {
}
/**
* Carry out any extra processing required when the work reverted to draft.
*
* @param stdClass $submission - assign_submission data
* @return void
*/
public function revert_to_draft(stdClass $submission) {
}
}