';
- echo '';
+ // MDL-9085 BOBPUFFER 2010-10-07 HACK to allow saving of text input field
+// echo '';
+ echo '';
+ // END OF HACK BOBPUFFER
echo '';
//if there are more to be graded.
if ($nextid) {
@@ -1167,7 +1227,20 @@
$strgrade = get_string('grade');
$grademenu = make_grades_menu($this->assignment->grade);
+
if (($ausers = get_records_sql($select.$sql.$sort, $table->get_page_start(), $table->get_page_size())) !== false) {
+ // MDL-9085 BOBPUFFER 2010-10-07 HACK TO ALLOW EDITING OF FLOATING POINT NUMBERS IN ASSIGNMENT INTERFACE
+ // phony up the grade_item object for the grade_grade class call
+ if ($CFG->wipeassignmentoverrides) {
+ $grade_item = get_record('grade_items','itemmodule','assignment','iteminstance',$this->assignment->id,'courseid',$course->id);
+ $grades_override = grade_grade::fetch_users_grades($grade_item, array_keys($ausers), true);
+ foreach ($grades_override as $used_grade) {
+ if ($used_grade->overridden <> 0) {
+ $used_grade->overridden = 0;
+ update_record('grade_grades', $used_grade);
+ }
+ }
+ } // END OF HACK BOBPUFFER
$grading_info = grade_get_grades($this->course->id, 'mod', 'assignment', $this->assignment->id, array_keys($ausers));
foreach ($ausers as $auser) {
$final_grade = $grading_info->items[0]->grades[$auser->id];
@@ -1177,6 +1250,9 @@
if ($final_grade->overridden) {
$locked_overridden = 'overridden';
}
+ if ($final_grade->grade <> null and floatval($final_grade->grade) <> floatval($auser->grade)) {
+ $auser->grade = s($final_grade->grade);
+ }
/// Calculate user status
$auser->status = ($auser->timemarked > 0) && ($auser->timemarked >= $auser->timemodified);
@@ -1203,9 +1279,12 @@
if ($final_grade->locked or $final_grade->overridden) {
$grade = '
'.$final_grade->formatted_grade.'
';
} else if ($quickgrade) {
- $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
- 'menu['.$auser->id.']', $auser->grade,
- get_string('nograde'),'',-1,true,false,$tabindex++);
+ // MDL-9085 BOBPUFFER 2010-10-07 HACK to allow text input field instead of dropdown
+ $menu = '';
+// $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
+// 'menu['.$auser->id.']', $auser->grade,
+// get_string('nograde'),'',-1,true,false,$tabindex++);
+ // END OF HACK BOBPUFFER
$grade = '
'. $menu .'
';
} else {
$grade = '
'.$this->display_grade($auser->grade).'
';
@@ -1216,9 +1295,12 @@
if ($final_grade->locked or $final_grade->overridden) {
$grade = '
'.$final_grade->formatted_grade.'
';
} else if ($quickgrade) {
- $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
- 'menu['.$auser->id.']', $auser->grade,
- get_string('nograde'),'',-1,true,false,$tabindex++);
+ // MDL-9085 BOBPUFFER 2010-10-07 HACK to allow text input field instead of dropdown
+ $menu = '';
+// $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
+// 'menu['.$auser->id.']', $auser->grade,
+// get_string('nograde'),'',-1,true,false,$tabindex++);
+ // END OF HACK BOBPUFFER
$grade = '
'.$menu.'
';
} else {
$grade = '
'.$this->display_grade($auser->grade).'
';
@@ -1243,9 +1325,12 @@
if ($final_grade->locked or $final_grade->overridden) {
$grade = '
'.$final_grade->formatted_grade . '
';
} else if ($quickgrade) { // allow editing
- $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
- 'menu['.$auser->id.']', $auser->grade,
- get_string('nograde'),'',-1,true,false,$tabindex++);
+ // MDL-9085 BOBPUFFER 2010-10-07 HACK to allow text input field instead of dropdown
+ $menu = '';
+// $menu = choose_from_menu(make_grades_menu($this->assignment->grade),
+// 'menu['.$auser->id.']', $auser->grade,
+// get_string('nograde'),'',-1,true,false,$tabindex++);
+ // END OF HACK BOBPUFFER
$grade = '
'.$menu.'
';
} else {
$grade = '
-
';
@@ -2245,7 +2331,9 @@
* @param object $assignment null means all assignments
* @param int $userid specific user only, 0 mean all
*/
-function assignment_update_grades($assignment=null, $userid=0, $nullifnone=true) {
+// MDL-9085 BOBPUFFER 2010-10-07 HACK TO ALLOW SAVING OF FLOATING POINT GRADE INPUT FROM TEXT FIELD IN ASSIGNMENT INTERFACE
+// function assignment_update_grades($assignment=null, $userid=0, $nullifnone=true)
+function assignment_update_grades($assignment=null, $userid=0, $submission=null) {
global $CFG;
if (!function_exists('grade_update')) { //workaround for buggy PHP versions
require_once($CFG->libdir.'/gradelib.php');
@@ -2256,6 +2344,8 @@
foreach($grades as $k=>$v) {
if ($v->rawgrade == -1) {
$grades[$k]->rawgrade = null;
+ } elseif ($submission->grade <> null && $v->rawgrade <> $submission) {
+ $grades[$k]->rawgrade = $submission->grade; // END OF HACK BOBPUFFER
}
}
assignment_grade_item_update($assignment, $grades);