MDL-86507 badge: Check if role is assigned

This commit is contained in:
Stefan Hanauska
2025-12-03 03:34:22 +00:00
committed by Jenkins
parent c85f153068
commit 0d48779e61
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(
+1
View File
@@ -596,6 +596,7 @@ $string['viewbadge'] = 'View issued badge';
$string['visible'] = 'Visible';
$string['version'] = 'Version';
$string['warnexpired'] = ' (This badge has expired!)';
$string['wrongrole'] = 'The role you want to use is not assigned to you.';
$string['year'] = 'Year(s)';
// Deprecated since Moodle 4.5.