From 848fe203df05f2ce6f517ffc0a2f948ed94ee530 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Thu, 14 Oct 2010 18:18:31 +0000 Subject: [PATCH] MDL-14627 if you do not have capability to view activity the continue button should point to course not the activity --- lib/setuplib.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/setuplib.php b/lib/setuplib.php index f7a84be72f0..f2acfc2a507 100644 --- a/lib/setuplib.php +++ b/lib/setuplib.php @@ -146,7 +146,14 @@ class webservice_parameter_exception extends moodle_exception { class required_capability_exception extends moodle_exception { function __construct($context, $capability, $errormessage, $stringfile) { $capabilityname = get_capability_string($capability); - parent::__construct($errormessage, $stringfile, get_context_url($context), $capabilityname); + if ($context->contextlevel == CONTEXT_MODULE and preg_match('/:view$/', $capability)) { + // we can not go to mod/xx/view.php because we most probably do not have cap to view it, let's go to course instead + $paranetcontext = get_context_instance_by_id(get_parent_contextid($context)); + $link = get_context_url($paranetcontext); + } else { + $link = get_context_url($context); + } + parent::__construct($errormessage, $stringfile, $link, $capabilityname); } }