From 5de0c5cb76c0edcff6f21da90a2aa1916334500d Mon Sep 17 00:00:00 2001 From: nicolasconnault Date: Wed, 9 May 2007 09:01:56 +0000 Subject: [PATCH] MDL-9506 Replaces grade_grades_text.gradesid by composite key userid and itemid. --- lib/grade/grade_grades_raw.php | 5 +++-- lib/grade/grade_grades_text.php | 12 +++++++++--- lib/simpletest/grade/simpletest/testgradetext.php | 9 ++++++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/grade/grade_grades_raw.php b/lib/grade/grade_grades_raw.php index 3b8754c560..4de893e3d2 100644 --- a/lib/grade/grade_grades_raw.php +++ b/lib/grade/grade_grades_raw.php @@ -171,7 +171,8 @@ class grade_grades_raw extends grade_object { function annotate($information, $informationformat=FORMAT_PLAIN, $feedback=NULL, $feedbackformat=FORMAT_PLAIN) { $grade_text = new grade_grades_text(); - $grade_text->gradesid = $this->id; + $grade_text->itemid = $this->itemid; + $grade_text->userid = $this->userid; $grade_text->information = $information; $grade_text->informationformat = $informationformat; $grade_text->feedback = $feedback; @@ -215,7 +216,7 @@ class grade_grades_raw extends grade_object { // Update grade_grades_text if changed if (!empty($this->text)) { - $grade_text = grade_grades_text::fetch('gradesid', $this->id); + $grade_text = grade_grades_text::fetch('userid', $this->userid, 'itemid', $this->itemid); if ($this->text != $grade_text && $this->text->id == $grade_text->id) { $result = $result & $this->text->update(); } diff --git a/lib/grade/grade_grades_text.php b/lib/grade/grade_grades_text.php index 9a28bd5bc1..c28941b2c2 100644 --- a/lib/grade/grade_grades_text.php +++ b/lib/grade/grade_grades_text.php @@ -43,10 +43,16 @@ class grade_grades_text extends grade_object { var $nonfields = array('table', 'nonfields'); /** - * A reference to the grade_grades_raw object this text belongs to. - * @var int $gradesid + * The grade_item.id this text refers to. + * @var int $itemid */ - var $gradesid; + var $itemid; + + /** + * The user.id this text refers to. + * @var int $userid + */ + var $userid; /** * Further information like forum rating distribution 4/5/7/0/1 diff --git a/lib/simpletest/grade/simpletest/testgradetext.php b/lib/simpletest/grade/simpletest/testgradetext.php index e4b0d02f64..e09e30c097 100755 --- a/lib/simpletest/grade/simpletest/testgradetext.php +++ b/lib/simpletest/grade/simpletest/testgradetext.php @@ -39,14 +39,16 @@ class grade_text_test extends gradelib_test { function test_grade_grades_text_construct() { $params = new stdClass(); - $params->gradesid = $this->grade_grades_raw[0]->id; + $params->itemid = $this->grade_grades_raw[0]->itemid; + $params->userid = $this->grade_grades_raw[0]->userid; $params->information = 'Thumbs down'; $params->informationformat = FORMAT_PLAIN; $params->feedback = 'Good, but not good enough..'; $params->feedbackformat = FORMAT_PLAIN; $grade_grades_text = new grade_grades_text($params, false); - $this->assertEqual($params->gradesid, $grade_grades_text->gradesid); + $this->assertEqual($params->userid, $grade_grades_text->userid); + $this->assertEqual($params->itemid, $grade_grades_text->itemid); $this->assertEqual($params->information, $grade_grades_text->information); $this->assertEqual($params->informationformat, $grade_grades_text->informationformat); $this->assertEqual($params->feedback, $grade_grades_text->feedback); @@ -57,7 +59,8 @@ class grade_text_test extends gradelib_test { $grade_grades_text = new grade_grades_text(); $this->assertTrue(method_exists($grade_grades_text, 'insert')); - $grade_grades_text->gradesid = $this->grade_grades_raw[0]->id; + $grade_grades_text->itemid = $this->grade_grades_raw[0]->itemid; + $grade_grades_text->userid = $this->grade_grades_raw[0]->userid; $grade_grades_text->information = 'Thumbs down'; $grade_grades_text->informationformat = FORMAT_PLAIN; $grade_grades_text->feedback = 'Good, but not good enough..'; -- 2.39.5