Skip to content

Commit

Permalink
MDL-45758 tool_monitor: Update navigation nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
ankitagarwal committed Oct 15, 2014
1 parent b9ba26b commit 067e959
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 34 deletions.
4 changes: 2 additions & 2 deletions admin/tool/monitor/lang/en/tool_monitor.php
Expand Up @@ -47,8 +47,8 @@
$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';
Expand Down
45 changes: 23 additions & 22 deletions admin/tool/monitor/lib.php
Expand Up @@ -32,36 +32,37 @@
* @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 (isset($settingsnode) && !empty($reportnode)) {
$reportnode->add_node($settingsnode);
}
}
}

if (has_capability('tool/monitor:subscribe', $context)) {
/**
* 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', ''));
}
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($subsnode) && !empty($navigation)) {
$navigation->add_node($subsnode, 'changepassword');
}
}
}
}
11 changes: 1 addition & 10 deletions admin/tool/monitor/settings.php
Expand Up @@ -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);
}

0 comments on commit 067e959

Please sign in to comment.