MDL-53943 tool_cohortroles: Require 'moodle/cohort:view' capability

tool_cohortroles not just needs the 'moodle/role:manage' capability,
but the 'moodle/cohort:view' capability as well since the cohorts
selector field will not work without it.
This commit is contained in:
Jun Pataleta
2016-04-28 16:47:56 +08:00
parent 6bd3ab0717
commit 782fc43bd8
+16 -2
View File
@@ -23,5 +23,19 @@
*/
defined('MOODLE_INTERNAL') || die;
$str = get_string('managecohortroles', 'tool_cohortroles');
$ADMIN->add('roles', new admin_externalpage('toolcohortroles', $str, '/admin/tool/cohortroles/index.php', 'moodle/role:manage'));
// This tool's required capabilities.
$capabilities = [
'moodle/cohort:view',
'moodle/role:manage'
];
// Check if the user has all of the required capabilities.
$context = context_system::instance();
$hasaccess = has_all_capabilities($capabilities, $context);
// Add this admin page only if the user has all of the required capabilities.
if ($hasaccess) {
$str = get_string('managecohortroles', 'tool_cohortroles');
$ADMIN->add('roles', new admin_externalpage('toolcohortroles', $str, '/admin/tool/cohortroles/index.php', $capabilities));
}