From 1dd1bc8eaa57a7a72b010e5c9ec0943d55e741cd Mon Sep 17 00:00:00 2001 From: nicolasconnault Date: Fri, 6 Jul 2007 06:10:20 +0000 Subject: [PATCH] MDL-10287 Finished implementing form --- grade/report/grader/edit_feedback.php | 28 +++++++++++++--------- grade/report/grader/edit_feedback_form.php | 6 ++++- grade/report/grader/index.php | 3 ++- grade/report/grader/preferences_form.php | 1 + lang/en_utf8/grades.php | 1 + lib/grade/grade_tree.php | 3 +-- 6 files changed, 27 insertions(+), 15 deletions(-) diff --git a/grade/report/grader/edit_feedback.php b/grade/report/grader/edit_feedback.php index 034c03f79a..7fcb8203a3 100644 --- a/grade/report/grader/edit_feedback.php +++ b/grade/report/grader/edit_feedback.php @@ -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&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 = "

$strfeedback:

$grade_text->feedback

"; } @@ -99,8 +103,10 @@ echo "

$strstudent: wwwroot . '/user/view . $extra_info->userid . '">' . fullname($extra_info) . "

"; // Grade item name and link -echo "

$strgradeitem: wwwroot . '/mod/' . $extra_info->itemmodule - . '/view.php?id=' . $extra_info->course_module->id . "&courseid=$courseid\">$extra_info->itemname

"; +if (!empty($extra_info->course_module) && !empty($extra_info->itemmodule)) { + echo "

$strgradeitem: wwwroot . '/mod/' . $extra_info->itemmodule + . '/view.php?id=' . $extra_info->course_module->id . "&courseid=$courseid\">$extra_info->itemname

"; +} // Final grade and link to scale if applicable if (!empty($extra_info->finalgrade)) { diff --git a/grade/report/grader/edit_feedback_form.php b/grade/report/grader/edit_feedback_form.php index 357b32c0ab..ed3c7c1896 100644 --- a/grade/report/grader/edit_feedback_form.php +++ b/grade/report/grader/edit_feedback_form.php @@ -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 diff --git a/grade/report/grader/index.php b/grade/report/grader/index.php index 93d19cc147..4750037644 100644 --- a/grade/report/grader/index.php +++ b/grade/report/grader/index.php @@ -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.'&perpage='.$perpage.'&report=grad $pbarurl = 'report.php?id='.$courseid.'&perpage='.$perpage.'&report=grader&'; // 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 diff --git a/grade/report/grader/preferences_form.php b/grade/report/grader/preferences_form.php index 889b312564..0274be4f69 100644 --- a/grade/report/grader/preferences_form.php +++ b/grade/report/grader/preferences_form.php @@ -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(); diff --git a/lang/en_utf8/grades.php b/lang/en_utf8/grades.php index 5d980d18dd..73bf82d0bd 100644 --- a/lang/en_utf8/grades.php +++ b/lang/en_utf8/grades.php @@ -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'; diff --git a/lib/grade/grade_tree.php b/lib/grade/grade_tree.php index 94ecd406b1..859e700ec8 100644 --- a/lib/grade/grade_tree.php +++ b/lib/grade/grade_tree.php @@ -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 * ¶m 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; -- 2.39.5