diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 0f19c5949ca..eca4d62e31a 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -473,29 +473,27 @@ class assignment_base { case 'all': // Main window, display everything $this->display_submissions(); break; + case 'fastgrade': - - ///do the fast grading stuff - ///this process should work for all 3 subclasses + ///do the fast grading stuff - this process should work for all 3 subclasses foreach ($_POST['comment'] as $id => $commentvalue){ $grade = $_POST['menu'][$id]; $newsubmission = $this->get_submission($id, true); // Get or make one //for fast grade, we need to check if any changes take place - $duplicate = ($newsubmission->grade == $grade && $newsubmission->comment == stripslashes($commentvalue)); + $duplicate = ($newsubmission->grade == $grade && $newsubmission->comment == stripslashes($commentvalue)); $newsubmission->grade = $grade; - $newsubmission->comment = $commentvalue; - $newsubmission->format = $this->format; + $newsubmission->comment = $commentvalue; $newsubmission->teacher = $USER->id; $newsubmission->mailed = $duplicate?$newsubmission->mailed:0;//only change if it's a duplicate $newsubmission->timemarked = time(); unset($newsubmission->data1); // Don't need to update this. unset($newsubmission->data2); // Don't need to update this. - if (empty($submission->timemodified)) { // eg for offline assignments - $newsubmission->timemodified = time(); + if (empty($newsubmission->timemodified)) { // eg for offline assignments + $newsubmission->timemodified = time(); } //if it is a duplicate, we don't change the last modified time etc. @@ -503,11 +501,12 @@ class assignment_base { if (!$duplicate){ if (!update_record('assignment_submissions', $newsubmission)) { - return false; + return false; } //add to log only if not a duplicate add_to_log($this->course->id, 'assignment', 'update grades', - 'submissions.php?id='.$this->assignment->id.'&user='.$newsubmission->userid, $newsubmission->userid, $this->cm->id); + 'submissions.php?id='.$this->assignment->id.'&user='.$newsubmission->userid, + $newsubmission->userid, $this->cm->id); } } @@ -604,7 +603,11 @@ class assignment_base { static $scalegrades; // Cached because we only have one per assignment if ($this->assignment->grade >= 0) { // Normal number - return $grade.' / '.$this->assignment->grade; + if ($grade == -1) { + return '-'; + } else { + return $grade.' / '.$this->assignment->grade; + } } else { // Scale if (empty($scalegrades)) { @@ -627,7 +630,7 @@ class assignment_base { */ function display_submission() { - global $CFG;//need prefix + global $CFG; $userid = required_param('userid'); $offset = required_param('offset');//offset for where to start looking for student. @@ -666,10 +669,12 @@ class assignment_base { $users = get_course_users($course->id); } - $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture, s.id AS submissionid, s.grade, s.comment, s.timemodified, s.timemarked, ((s.timemarked > 0) AND (s.timemarked >= s.timemodified)) AS status '; + $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture,'. + 's.id AS submissionid, s.grade, s.comment, s.timemodified, s.timemarked, ((s.timemarked > 0) AND (s.timemarked >= s.timemodified)) AS status '; $sql = 'FROM '.$CFG->prefix.'user u '. 'LEFT JOIN '.$CFG->prefix.'assignment_submissions s ON u.id = s.userid AND s.assignment = '.$this->assignment->id.' '. - 'WHERE '.$where.'u.id IN ('.implode(',', array_keys($users)).') '; + 'WHERE u.id IN ('.implode(',', array_keys($users)).') '; + $nextid = 0; if (($ausers = get_records_sql($select.$sql.$sort.$limit)) !== false) { foreach ($ausers as $auser => $val){ $nextid = $val->id; @@ -708,7 +713,7 @@ class assignment_base { print_user_picture($teacher->id, $this->course->id, $teacher->picture); echo ''; echo '