From 22f42316311ef9284c014c24c18ff30565cdebf1 Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Tue, 15 Jul 2014 14:06:19 +0800 Subject: [PATCH] MDL-45758 tool_monitor: Display a rule managment interface Original issue - MDL-46110 --- admin/tool/monitor/lang/en/tool_monitor.php | 2 + admin/tool/monitor/managerules.php | 67 +++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/admin/tool/monitor/lang/en/tool_monitor.php b/admin/tool/monitor/lang/en/tool_monitor.php index 13591962bf8..b8a78d578dd 100644 --- a/admin/tool/monitor/lang/en/tool_monitor.php +++ b/admin/tool/monitor/lang/en/tool_monitor.php @@ -35,7 +35,9 @@ $string['description_help'] = "Description is displayed to users when they want $string['defaultmessagetpl'] = 'Rule "{rulename}" has happened. You can find further details at {link}'; $string['eventnotfound'] = 'Event not found'; $string['errorincorrectevent'] = 'Please select an event related to the selected plugin'; +$string['frequency'] = 'Frequency'; $string['freqdesc'] = '{$a->freq} times in {$a->mins} minutes'; +$string['manage'] = 'Manage'; $string['managesubscriptions'] = 'Manage subscriptions'; $string['managerules'] = 'Manage rules'; $string['messageheader'] = 'Customize your notification message'; diff --git a/admin/tool/monitor/managerules.php b/admin/tool/monitor/managerules.php index e69de29bb2d..a40006b0117 100644 --- a/admin/tool/monitor/managerules.php +++ b/admin/tool/monitor/managerules.php @@ -0,0 +1,67 @@ +. + +/** + * This page lets users to manage rules for a given course. + * + * @package tool_monitor + * @copyright 2014 onwards Ankit Agarwal + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require_once(__DIR__ . '/../../../config.php'); +require_once($CFG->libdir.'/adminlib.php'); + +$courseid = optional_param('courseid', 0, PARAM_INT); + +// Validate course id. +if (empty($courseid)) { + require_login(); + $context = context_system::instance(); + $coursename = format_string($SITE->fullname, true, array('context' => $context)); + $PAGE->set_context($context); +} else { + $course = get_course($courseid); + require_login($course); + $context = context_course::instance($course->id); + $coursename = format_string($course->fullname, true, array('context' => $context)); +} + +// Check for caps. +require_capability('tool/monitor:managerules', $context); + +// Set up the page. +$a = new stdClass(); +$a->coursename = $coursename; +$a->reportname = get_string('pluginname', 'tool_monitor'); +$title = get_string('title', 'tool_monitor', $a); +$manageurl = new moodle_url("/admin/tool/monitor/managerules.php", array('courseid' => $courseid)); + +$PAGE->set_url($manageurl); +$PAGE->set_pagelayout('report'); +$PAGE->set_title($title); +$PAGE->set_heading($title); + +// Site level report. +if (empty($courseid)) { + admin_externalpage_setup('toolmonitorrules', '', null, '', array('pagelayout' => 'report')); +} + +echo $OUTPUT->header(); +$renderable = new \tool_monitor\output\managerules\renderable('toolmonitorrules', $manageurl, $courseid); +$renderer = $PAGE->get_renderer('tool_monitor', 'managerules'); +echo $renderer->render($renderable); +echo $OUTPUT->footer();