MDL-86053 mod_assign: account for lack of global scales in settings.

This commit is contained in:
Paul Holden
2025-08-13 10:15:08 +01:00
parent e27e1ed7bc
commit e65ccd7ea3
2 changed files with 11 additions and 8 deletions
+2 -2
View File
@@ -312,10 +312,10 @@ class grade_scale extends grade_object {
/**
* Static function returning all global scales
*
* @return object
* @return grade_scale[]|false
*/
public static function fetch_all_global() {
return grade_scale::fetch_all(array('courseid'=>0));
return grade_scale::fetch_all(['courseid' => 0]);
}
/**
+9 -6
View File
@@ -177,14 +177,17 @@ if ($ADMIN->fulltree) {
]);
$settings->add($setting);
/** @var grade_scale[] $scales */
$scales = grade_scale::fetch_all_global();
$choices = ['' => new lang_string('choosedots')];
foreach ($scales as $scale) {
$choices[$scale->id] = $scale->get_name();
}
$name = new lang_string('defaultgradescale', 'mod_assign');
$description = new lang_string('defaultgradescale_help', 'mod_assign');
$choices = ['' => new lang_string('choosedots')];
$scales = grade_scale::fetch_all_global();
if ($scales !== false) {
foreach ($scales as $scale) {
$choices[$scale->id] = $scale->get_name();
}
}
if (count($choices) > 1) {
$setting = new admin_setting_configselect('mod_assign/defaultgradescale',
$name,