From 8168299d7e3a82164b995a352d4d0794de4acdc5 Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Fri, 14 Oct 2011 15:41:08 +0200 Subject: [PATCH] Improved integration into the settings block --- grade/grading/lib.php | 13 +++++++++++-- lang/en/grading.php | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/grade/grading/lib.php b/grade/grading/lib.php index 16473fce493..97734f0d040 100644 --- a/grade/grading/lib.php +++ b/grade/grading/lib.php @@ -313,6 +313,15 @@ class grading_manager { return; } + if ($PAGE->url->compare(new moodle_url('/grade/grading/management.php'), URL_MATCH_BASE)) { + // we are already at the management page, do not produce link to ourselves + // (because of the returnurl) + $managementurl = null; + } else { + $managementurl = $this->get_management_url($PAGE->url); + } + $managementnode = $modulenode->add(get_string('gradingmanagement', 'core_grading'), $managementurl, settings_navigation::TYPE_CUSTOM); + foreach ($areas as $areaname => $areatitle) { $this->set_area($areaname); $method = $this->get_active_method(); @@ -324,10 +333,10 @@ class grading_manager { if (count($areas) > 1) { // if the module supports multiple gradable areas, make a node for each of them - $node = $modulenode->add(get_string('gradinginarea', 'core_grading', $areatitle), null, settings_navigation::NODETYPE_BRANCH); + $node = $managementnode->add(get_string('gradinginarea', 'core_grading', $areatitle), null, settings_navigation::NODETYPE_BRANCH); } else { // otherwise put the items directly into the module's node - $node = $modulenode; + $node = $managementnode; } $controller = $this->get_controller($method); diff --git a/lang/en/grading.php b/lang/en/grading.php index 5646d4773b3..0b8909d9087 100644 --- a/lang/en/grading.php +++ b/lang/en/grading.php @@ -29,6 +29,7 @@ defined('MOODLE_INTERNAL') || die(); $string['exc_gradingformelement'] = 'Unable to instantiate grading form element'; $string['formnotavailable'] = 'Advanced grading method was selected to use but the grading form is not available yet. You may need to define it first via a link in the Settings block.'; $string['gradinginarea'] = 'Grading ({$a})'; +$string['gradingmanagement'] = 'Advanced grading'; $string['gradingmethod'] = 'Grading method'; $string['gradingmethods'] = 'Grading methods'; $string['gradingmethodnone'] = 'Simple direct grading';