From 067e9599ac920b251e2373cd61d9127db04e7132 Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Mon, 13 Oct 2014 11:54:55 +0530 Subject: [PATCH] MDL-45758 tool_monitor: Update navigation nodes --- admin/tool/monitor/lang/en/tool_monitor.php | 4 +- admin/tool/monitor/lib.php | 51 +++++++++++---------- admin/tool/monitor/settings.php | 11 +---- 3 files changed, 29 insertions(+), 37 deletions(-) diff --git a/admin/tool/monitor/lang/en/tool_monitor.php b/admin/tool/monitor/lang/en/tool_monitor.php index cae3db7cc79..50ba36ecfe6 100644 --- a/admin/tool/monitor/lang/en/tool_monitor.php +++ b/admin/tool/monitor/lang/en/tool_monitor.php @@ -47,8 +47,8 @@ $string['norules'] = 'There are no rules you can subscribe to.'; $string['manageruleslink'] = 'You can manage rules from {$a} page.'; $string['moduleinstance'] = 'Module instance'; $string['manage'] = 'Manage'; -$string['managesubscriptions'] = 'Manage subscriptions'; -$string['managerules'] = 'Manage rules'; +$string['managesubscriptions'] = 'Event monitoring'; +$string['managerules'] = 'Event monitoring rules'; $string['messageheader'] = 'Customise your notification message'; $string['messageprovider:notification'] = 'Notifications of rule subscriptions'; $string['messagetemplate'] = 'Message template'; diff --git a/admin/tool/monitor/lib.php b/admin/tool/monitor/lib.php index e562f82ad4b..88d2df99601 100644 --- a/admin/tool/monitor/lib.php +++ b/admin/tool/monitor/lib.php @@ -32,36 +32,37 @@ defined('MOODLE_INTERNAL') || die; * @param context $context The context of the course */ function tool_monitor_extend_navigation_course($navigation, $course, $context) { - $node = navigation_node::create(get_string('pluginname', 'tool_monitor'), null, navigation_node::TYPE_CONTAINER, null, - 'eventmonitor', new pix_icon('i/tool', '')); if (has_capability('tool/monitor:managerules', $context)) { $url = new moodle_url('/admin/tool/monitor/managerules.php', array('courseid' => $course->id)); $settingsnode = navigation_node::create(get_string('managerules', 'tool_monitor'), $url, navigation_node::TYPE_SETTING, - null, null, new pix_icon('i/settings', '')); - } + null, null, new pix_icon('i/settings', '')); + $reportnode = $navigation->get('coursereports'); - if (has_capability('tool/monitor:subscribe', $context)) { - $url = new moodle_url('/admin/tool/monitor/index.php', array('courseid' => $course->id)); - $subsnode = navigation_node::create(get_string('managesubscriptions', 'tool_monitor'), $url, - navigation_node::TYPE_SETTING, null, null, new pix_icon('i/settings', '')); - } - - $reportnode = $navigation->get('coursereports'); - - if ((isset($subsnode) || isset($settingsnode)) && !empty($reportnode)) { - // Add the node only if there are sub pages. - $node = $reportnode->add_node($node); - - // Our navigation lib can not handle nodes that have active child, so we need to always add parent first without - // children. Refer MDL-45872 . - - if (isset($settingsnode)) { - $node->add_node($settingsnode); - } - - if (isset($subsnode)) { - $node->add_node($subsnode); + if (isset($settingsnode) && !empty($reportnode)) { + $reportnode->add_node($settingsnode); } } } + +/** + * This function extends the navigation with the tool items for user settings node. + * + * @param navigation_node $navigation The navigation node to extend + * @param stdClass $user The user object + * @param context $usercontext The context of the user + * @param stdClass $course The course to object for the tool + * @param context $coursecontext The context of the course + */ +function tool_monitor_extend_navigation_user_settings($navigation, $user, $usercontext, $course, $coursecontext) { + global $USER; + if (($USER->id == $user->id)) { + $url = new moodle_url('/admin/tool/monitor/index.php', array('courseid' => $course->id)); + $subsnode = navigation_node::create(get_string('managesubscriptions', 'tool_monitor'), $url, + navigation_node::TYPE_SETTING, null, null, new pix_icon('i/settings', '')); + + if (isset($subsnode) && !empty($navigation)) { + $navigation->add_node($subsnode, 'changepassword'); + } + } +} \ No newline at end of file diff --git a/admin/tool/monitor/settings.php b/admin/tool/monitor/settings.php index 9bfc3013dc4..9e324684191 100644 --- a/admin/tool/monitor/settings.php +++ b/admin/tool/monitor/settings.php @@ -26,19 +26,10 @@ defined('MOODLE_INTERNAL') || die; if ($hassiteconfig) { - $ADMIN->add('reports', new admin_category('toolmonitor', new lang_string('pluginname', 'tool_monitor'))); // Manage rules page. $url = new moodle_url('/admin/tool/monitor/managerules.php', array('courseid' => 0)); $temp = new admin_externalpage('toolmonitorrules', get_string('managerules', 'tool_monitor'), $url, 'tool/monitor:managerules'); - $ADMIN->add('toolmonitor', $temp); - - // Manage subscriptions page. - $url = new moodle_url('/admin/tool/monitor/index.php', array('courseid' => 0)); - $temp = new admin_externalpage('toolmonitorsubscriptions', get_string('managesubscriptions', 'tool_monitor'), $url, - 'tool/monitor:subscribe'); - $ADMIN->add('toolmonitor', $temp); - - $settings = null; + $ADMIN->add('reports', $temp); }