// Roles that can award this badge.
$acceptedroles = array_keys($badge->criteria[BADGE_CRITERIA_TYPE_MANUAL]->params);
+if (empty($acceptedroles)) {
+ echo $OUTPUT->header();
+ $return = html_writer::link(new moodle_url('recipients.php', array('id' => $badge->id)), $strrecipients);
+ echo $OUTPUT->notification(get_string('notacceptedrole', 'badges', $return));
+ echo $OUTPUT->footer();
+ die();
+}
+
if (count($acceptedroles) > 1) {
// If there is more than one role that can award a badge, prompt user to make a selection.
// If it is an admin, include all accepted roles, otherwise only the ones that current user has in this context.
public function review($userid, $filtered = false) {
global $DB;
+ // Roles should always have a parameter.
+ if (empty($this->params)) {
+ return false;
+ }
+
// Users were already filtered by criteria completion.
if ($filtered) {
return true;