MDL-35398: Quick grading feedback is now pushed to the gradebook
authorDamyon Wiese <damyon.wiese@netspot.com.au>
Tue, 18 Sep 2012 06:49:52 +0000 (14:49 +0800)
committerDamyon Wiese <damyon.wiese@netspot.com.au>
Tue, 18 Sep 2012 06:54:01 +0000 (14:54 +0800)
mod/assign/locallib.php

index e1e5104..7bed4c1 100644 (file)
@@ -2623,21 +2623,29 @@ class assign {
         }
         $currentgrades->close();
 
+        $adminconfig = $this->get_admin_config();
+        $gradebookplugin = $adminconfig->feedback_plugin_for_gradebook;
+
         // ok - ready to process the updates
         foreach ($modifiedusers as $userid => $modified) {
             $grade = $this->get_user_grade($userid, true);
             $grade->grade= grade_floatval(unformat_float($modified->grade));
             $grade->grader= $USER->id;
 
-            $this->update_grade($grade);
-
             // save plugins data
             foreach ($this->feedbackplugins as $plugin) {
                 if ($plugin->is_visible() && $plugin->is_enabled() && $plugin->supports_quickgrading()) {
                     $plugin->save_quickgrading_changes($userid, $grade);
+                    if (('assignfeedback_' . $plugin->get_type()) == $gradebookplugin) {
+                        // This is the feedback plugin chose to push comments to the gradebook.
+                        $grade->feedbacktext = $plugin->text_for_gradebook($grade);
+                        $grade->feedbackformat = $plugin->format_for_gradebook($grade);
+                    }
                 }
             }
 
+            $this->update_grade($grade);
+
             // save outcomes
             if ($CFG->enableoutcomes) {
                 $data = array();