]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-10287 Finished implementing form
authornicolasconnault <nicolasconnault>
Fri, 6 Jul 2007 06:10:20 +0000 (06:10 +0000)
committernicolasconnault <nicolasconnault>
Fri, 6 Jul 2007 06:10:20 +0000 (06:10 +0000)
grade/report/grader/edit_feedback.php
grade/report/grader/edit_feedback_form.php
grade/report/grader/index.php
grade/report/grader/preferences_form.php
lang/en_utf8/grades.php
lib/grade/grade_tree.php

index 034c03f79ae89c8af1626316e8e1630e580f9b3f..7fcb8203a308edb4ca21415e960c2773a4d84809 100644 (file)
@@ -6,7 +6,7 @@ require_once 'edit_feedback_form.php';
 
 $courseid = required_param('courseid', PARAM_INT);
 $id       = optional_param('id', 0, PARAM_INT);
-$action   = optional_param('action', 0, PARAM_ALPHA);
+$action   = optional_param('action', 'view', PARAM_ALPHA);
 
 if (!$course = get_record('course', 'id', $courseid)) {
     print_error('nocourseid');
@@ -15,13 +15,12 @@ if (!$course = get_record('course', 'id', $courseid)) {
 require_login($course);
 
 $context = get_context_instance(CONTEXT_COURSE, $course->id);
-//require_capability() here!!
+require_capability('gradereport/grader:manage', $context);
 
 // default return url
-$returnurl = 'index.php?id='.$course->id;
+$returnurl = $CFG->wwwroot.'/grade/report.php?report=grader&amp;id='.$course->id;
 
-
-$mform = new edit_feedback_form();
+$mform = new edit_feedback_form('edit_feedback.php', compact('course', 'id'));
 if ($grade_text = get_record('grade_grades_text', 'gradeid', $id)) {
     $mform->set_data($grade_text);
 } else {
@@ -32,9 +31,11 @@ if ($mform->is_cancelled()) {
     redirect($returnurl);
 
 } else if ($data = $mform->get_data()) {
+    $data->gradeid = $data->id;
+    unset($data->id);
+
     $grade_text = new grade_grades_text(array('gradeid'=>$id));
     grade_grades_text::set_properties($grade_text, $data);
-
     if (empty($grade_text->id)) {
         $grade_text->insert();
 
@@ -42,7 +43,7 @@ if ($mform->is_cancelled()) {
         $grade_text->update();
     }
 
-    redirect($returnurl);
+    redirect($returnurl, get_string('feedbacksaved', 'grades'), 1);
 }
 
 // Get extra data related to this feedback
@@ -60,7 +61,10 @@ $extra_info = get_record_sql($query) ;
 $extra_info->grademin = round($extra_info->grademin);
 $extra_info->grademax = round($extra_info->grademax);
 $extra_info->finalgrade = round($extra_info->finalgrade);
-$extra_info->course_module = get_coursemodule_from_instance($extra_info->itemmodule, $extra_info->iteminstance, $courseid);
+
+if (!empty($extra_info->itemmodule) && !empty($extra_info->iteminstance)) {
+    $extra_info->course_module = get_coursemodule_from_instance($extra_info->itemmodule, $extra_info->iteminstance, $courseid);
+}
 
 $stronascaleof   = get_string('onascaleof', 'grades', $extra_info);
 $strgrades       = get_string('grades');
@@ -75,7 +79,7 @@ $strgradeitem    = get_string('gradeitem', 'grades');
 
 $feedback = null;
 $heading = ${"strfeedback$action"};
-if (!empty($action) && $action == 'view') {
+if (!empty($action) && $action == 'view' && !empty($grade_text->feedback)) {
     $feedback = "<p><strong>$strfeedback</strong>:</p><p>$grade_text->feedback</p>";
 }
 
@@ -99,8 +103,10 @@ echo "<p><strong>$strstudent:</strong> <a href=\"" . $CFG->wwwroot . '/user/view
      . $extra_info->userid . '">' . fullname($extra_info) . "</a></p>";
 
 // Grade item name and link
-echo "<p><strong>$strgradeitem:</strong> <a href=\"" . $CFG->wwwroot . '/mod/' . $extra_info->itemmodule
-     . '/view.php?id=' . $extra_info->course_module->id . "&amp;courseid=$courseid\">$extra_info->itemname</a></p>";
+if (!empty($extra_info->course_module) && !empty($extra_info->itemmodule)) {
+    echo "<p><strong>$strgradeitem:</strong> <a href=\"" . $CFG->wwwroot . '/mod/' . $extra_info->itemmodule
+         . '/view.php?id=' . $extra_info->course_module->id . "&amp;courseid=$courseid\">$extra_info->itemname</a></p>";
+}
 
 // Final grade and link to scale if applicable
 if (!empty($extra_info->finalgrade)) {
index 357b32c0ab23043243b04ad1fd5426b61506b0db..ed3c7c18967fdec085dfe738b83266ab021a4688 100644 (file)
@@ -8,6 +8,8 @@ class edit_feedback_form extends moodleform {
         $mform =& $this->_form;
 
         $feedbackformat = get_user_preferences('grade_report_feedbackformat', $CFG->grade_report_feedbackformat);
+        $course = $this->_customdata['course'];
+        $id     = $this->_customdata['id'];
 
         // visible elements
         // User preference determines the format
@@ -21,11 +23,13 @@ class edit_feedback_form extends moodleform {
         //TODO: add other elements
 
         // hidden params
-        $mform->addElement('hidden', 'gradeid', 0);
+        $mform->addElement('hidden', 'id', 0);
         $mform->setType('gradeid', PARAM_INT);
+        $mform->setDefault('id', $id);
 
         $mform->addElement('hidden', 'courseid', 0);
         $mform->setType('courseid', PARAM_INT);
+        $mform->setDefault('courseid', $course->id);
 
 //-------------------------------------------------------------------------------
         // buttons
index 93d19cc147e5534de499de1affa95050f6688f65..4750037644b2612e07e3fbbb54a051998bc15c75 100644 (file)
@@ -55,6 +55,7 @@ $target        = optional_param('target', 0, PARAM_ALPHANUM);
 // Get the user preferences
 $perpage  = get_user_preferences('grade_report_studentsperpage', $CFG->grade_report_studentsperpage); // number of users on a page
 $decimals = get_user_preferences('grade_report_decimalpoints', $CFG->grade_report_decimalpoints); // decimals in grades
+$aggregation_position = get_user_preferences('grade_report_aggregationposition', $CFG->grade_report_aggregationposition);
 
 // Override perpage if set in URL
 if ($perpageurl = optional_param('perpage', 0, PARAM_INT)) {
@@ -71,7 +72,7 @@ $baseurl = 'report.php?id='.$courseid.'&amp;perpage='.$perpage.'&amp;report=grad
 $pbarurl = 'report.php?id='.$courseid.'&amp;perpage='.$perpage.'&amp;report=grader&amp;';
 
 // Grab the grade_tree for this course
-$gtree = new grade_tree($courseid);
+$gtree = new grade_tree($courseid, true, false, $aggregation_position);
 
 // setting the sort order, this depends on last state
 // all this should be in the new table class that we might need to use
index 889b312564381b78bc026ba1f57f93d543753f17..0274be4f69645649d559e127fd5ed354888f9387 100644 (file)
@@ -134,6 +134,7 @@ class grader_report_preferences_form extends moodleform {
         $mform->setType('grade_report_showgrandtotals', PARAM_INT); 
         
         $mform->addElement('hidden', 'id');
+        $mform->setType('id', PARAM_INT);
         $mform->setDefault('id', $course->id);
 
         $this->add_action_buttons();
index 5d980d18ddcd1d28c653aaac8ba9d2b029505af8..73bf82d0bd58ef891267c7f7b49561ec465a91bb 100644 (file)
@@ -74,6 +74,7 @@ $string['feedbackadd'] = 'Add feedback';
 $string['feedbackedit'] = 'Edit feedback';
 $string['feedbackview'] = 'View feedback';
 $string['feedbackformat'] = 'Feedback format';
+$string['feedbacksaved'] = 'Feedback saved';
 $string['forelementtypes'] = ' for the selected $a';
 $string['forstudents'] = 'For Students';
 $string['full'] = 'Full';
index 94ecd406b19793759f7e2da94b0223e2d27ee051..859e700ec81fca0199d88156d4c15b79350ff59e 100644 (file)
@@ -63,10 +63,9 @@ class grade_tree {
      * @param int $courseid
      * @param boolean $fillers include fillers and colspans, make the levels var "rectabgular"
      * @param boolean $include_grades
-     * @param boolean $include_cagegory_items inclute the items for categories in the tree
      * &param boolean $category_grade_last category grade item is the last child
      */
-    function grade_tree($courseid, $fillers=true, $include_grades=false, $category_grade_last=false) {
+    function grade_tree($courseid, $fillers=true, $include_grades=false, $category_grade_last=true) {
         global $USER;
 
         $this->courseid = $courseid;