diff --git a/grade/lib.php b/grade/lib.php index 34f5d9b1e80..608aaf2e1d0 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -297,6 +297,14 @@ function print_grade_plugin_selector($courseid, $active_type, $active_plugin, $r $menu[$url] = get_string('edittree', 'grades'); } + if (has_capability('moodle/grade:manage', $context)) { + $url = 'edit/gradedisplay/index.php?id='.$courseid; + if ($active_type == 'edit' and $active_plugin == 'gradedisplay' ) { + $active = $url; + } + $menu[$url] = get_string('gradedisplay', 'grades'); + } + if (has_capability('moodle/course:managescales', $context)) { $url = 'edit/scale/index.php?id='.$courseid; if ($active_type == 'edit' and $active_plugin == 'scale' ) { diff --git a/grade/report/grader/preferences_form.php b/grade/report/grader/preferences_form.php index acc5b33cf02..56740ba47e7 100644 --- a/grade/report/grader/preferences_form.php +++ b/grade/report/grader/preferences_form.php @@ -25,11 +25,6 @@ class grader_report_preferences_form extends moodleform { $stryes = get_string('yes'); $strno = get_string('no'); - $percentages = array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', - GRADE_REPORT_PREFERENCE_UNUSED => get_string('unused', 'grades')); - for ($i=100; $i > -1; $i--) { - $percentages[$i] = "$i%"; - } $checkbox_default = array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', 0 => $strno, 1 => $stryes); @@ -45,10 +40,6 @@ class grader_report_preferences_form extends moodleform { GRADE_REPORT_AGGREGATION_VIEW_FULL => get_string('fullmode', 'grades'), GRADE_REPORT_AGGREGATION_VIEW_AGGREGATES_ONLY => get_string('aggregatesonly', 'grades'), GRADE_REPORT_AGGREGATION_VIEW_GRADES_ONLY => get_string('gradesonly', 'grades')), - 'gradedisplaytype' => array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', - GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => get_string('real', 'grades'), - GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE => get_string('percentage', 'grades'), - GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER => get_string('letter', 'grades')), 'meanselection' => array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', GRADE_REPORT_MEAN_ALL => get_string('meanall', 'grades'), GRADE_REPORT_MEAN_GRADED => get_string('meangraded', 'grades'))); @@ -61,13 +52,11 @@ class grader_report_preferences_form extends moodleform { 'showlocks' => $checkbox_default); $preferences['prefrows'] = array( - 'averagesdisplaytype' => array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', - GRADE_REPORT_PREFERENCE_INHERIT => $strinherit, + 'averagesdisplaytype' => array(GRADE_REPORT_GRADE_DISPLAY_TYPE_DEFAULT => 'default', GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => get_string('real', 'grades'), GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE => get_string('percentage', 'grades'), GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER => get_string('letter', 'grades')), - 'rangesdisplaytype' => array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', - GRADE_REPORT_PREFERENCE_INHERIT => $strinherit, + 'rangesdisplaytype' => array(GRADE_REPORT_GRADE_DISPLAY_TYPE_DEFAULT => 'default', GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => get_string('real', 'grades'), GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE => get_string('percentage', 'grades'), GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER => get_string('letter', 'grades')), @@ -76,11 +65,6 @@ class grader_report_preferences_form extends moodleform { 'rangesdecimalpoints' => array(GRADE_REPORT_PREFERENCE_DEFAULT => 'default', GRADE_REPORT_PREFERENCE_INHERIT => $strinherit, 0, 1, 2, 3, 4, 5)); - - for ($i = 1; $i <= 10; $i++) { - $preferences['prefletters']['gradeletter' . $i] = 'text'; - $preferences['prefletters']['gradeboundary' . $i] = $percentages; - } } // quickgrading and quickfeedback are conditional on grade:edit capability diff --git a/grade/report/grader/settings.php b/grade/report/grader/settings.php index 252a1b662de..1cb01be628d 100644 --- a/grade/report/grader/settings.php +++ b/grade/report/grader/settings.php @@ -82,15 +82,13 @@ $settings->add(new admin_setting_configcheckbox('grade_report_shownumberofgrades $settings->add(new admin_setting_configselect('grade_report_averagesdisplaytype', get_string('averagesdisplaytype', 'grades'), get_string('configaveragesdisplaytype', 'grades'), false, - array(GRADE_REPORT_PREFERENCE_INHERIT => $strinherit, - GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => $strreal, + array(GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => $strreal, GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE => $strpercentage, GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER => $strletter))); $settings->add(new admin_setting_configselect('grade_report_rangesdisplaytype', get_string('rangesdisplaytype', 'grades'), get_string('configrangesdisplaytype', 'grades'), false, - array(GRADE_REPORT_PREFERENCE_INHERIT => $strinherit, - GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => $strreal, + array(GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL => $strreal, GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE => $strpercentage, GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER => $strletter))); diff --git a/lang/en_utf8/grades.php b/lang/en_utf8/grades.php index bcf6e1842df..44cf567c90a 100644 --- a/lang/en_utf8/grades.php +++ b/lang/en_utf8/grades.php @@ -89,6 +89,7 @@ $string['configstudentsperpage'] = 'The number of students to display per page i $string['configstudentsperpagedefault'] = 'The number of students to display per page in the grader report. Leave this field empty to use the site default (currently $a).'; $string['contract'] = 'Contract Category'; $string['coursegradecategory'] = 'Course grade category'; +$string['coursegradedisplayupdated'] = 'The course grade display type has been updated.'; $string['coursename'] = 'Course name'; $string['coursetotal'] = 'Course total'; $string['createcategory'] = 'Create Category'; @@ -159,6 +160,7 @@ $string['gradecategory'] = 'Grade Category'; $string['gradecategoryhelp'] = 'Grade Category Help'; $string['gradecategorysettings'] = 'Grade Category Settings'; $string['gradedon'] = 'Graded $a'; +$string['gradedisplay'] = 'Grade display'; $string['gradedisplaytype'] = 'Grade display type'; $string['gradeexceptions'] = 'Grade Exceptions'; $string['gradeexceptionshelp'] = 'Grade Exceptions Help'; @@ -305,6 +307,8 @@ $string['outcomestandard'] = 'Standard outcome'; $string['outcomestandardhelp'] = 'A Standard outcome is available site-wide, for all courses.'; $string['outcomes'] = 'Outcomes'; $string['overallaverage'] = 'Overall average'; +$string['overridesitedefaultgradedisplaytype'] = 'Override site defaults'; +$string['overridesitedefaultgradedisplaytypehelp'] = 'Tick this checkbox to enable the overriding of the site defaults for the display of grades in the gradebook. This activates form elements allowing you to define the grade letters and boundaries of your choice.'; $string['overridden'] = 'Overridden'; $string['overriddenhelp'] = 'When on, the overridden flag prevents any future attempts to automatically adjust the value of the grade. This flag is often set internally by the gradebook, but can be switched on and off manually using this form element.'; $string['overallavg'] = 'Overall average'; diff --git a/lib/grade/constants.php b/lib/grade/constants.php index 41e8291cdf1..ab80b13aad2 100644 --- a/lib/grade/constants.php +++ b/lib/grade/constants.php @@ -64,9 +64,10 @@ define('GRADE_REPORT_AGGREGATION_POSITION_RIGHT', 1); define('GRADE_REPORT_AGGREGATION_VIEW_FULL', 0); define('GRADE_REPORT_AGGREGATION_VIEW_AGGREGATES_ONLY', 1); define('GRADE_REPORT_AGGREGATION_VIEW_GRADES_ONLY', 2); -define('GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL', 0); -define('GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE', 1); -define('GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER', 2); +define('GRADE_REPORT_GRADE_DISPLAY_TYPE_DEFAULT', 0); +define('GRADE_REPORT_GRADE_DISPLAY_TYPE_REAL', 1); +define('GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE', 2); +define('GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER', 3); define('GRADE_REPORT_PREFERENCE_DEFAULT', 'default'); define('GRADE_REPORT_PREFERENCE_INHERIT', 'inherit'); define('GRADE_REPORT_PREFERENCE_UNUSED', -1);