MDL-86507 badge: Check if role is assigned

This commit is contained in:
Stefan Hanauska
2025-11-27 11:51:17 +00:00
committed by Jenkins
parent 87cdc2b544
commit 2f76e2ac11
2 changed files with 11 additions and 0 deletions
+10
View File
@@ -82,6 +82,16 @@ if (!$badge->is_active()) {
die();
}
if (!empty($role)) {
if (!user_has_role_assignment($USER->id, $role, $context->id) && !$isadmin) {
// User does not have the role passed by the parameter.
echo $OUTPUT->header();
echo $OUTPUT->notification(get_string('wrongrole', 'badges'));
echo $OUTPUT->footer();
die();
}
}
$returnurl = new moodle_url('recipients.php', array('id' => $badge->id));
$returnlink = html_writer::link($returnurl, $strrecipients);
$actionbar = new \core_badges\output\standard_action_bar($PAGE, $badge->type, false, false, $returnurl);
+1
View File
@@ -593,6 +593,7 @@ $string['visible'] = 'Visible';
$string['version'] = 'Version';
$string['version_help'] = 'The version field may be used to keep track of the badge\'s development. If specified, the version is displayed on the badge page.';
$string['warnexpired'] = ' (This badge has expired!)';
$string['wrongrole'] = 'The role you want to use is not assigned to you.';
$string['year'] = 'Year(s)';
$string['includeauthdetails'] = "Include authentication details with the backpack";