diff --git a/classes/form/evaluserexportform.php b/classes/form/evaluserexportform.php index 668918e3427e04bd27939b295caf98bfec88c190..ffe4d00d7d456aa6521302e8e7779f4ddebd507b 100644 --- a/classes/form/evaluserexportform.php +++ b/classes/form/evaluserexportform.php @@ -58,12 +58,15 @@ class evaluserexportform extends moodleform { $mform->addHelpButton('coursecode', 'coursecode', 'local_hshexport'); $mform->setDefault('coursecode', null); + $selectableroles = explode(',', get_config('local_hshexport', 'selectableroles')); $viewableroles = get_roles_used_in_context($coursecontext, false); $roles = role_fix_names($viewableroles, $coursecontext, ROLENAME_ALIAS); $rolescheckboxes = []; foreach ($roles as $role) { - $rolescheckboxes[] =& $mform->createElement('advcheckbox', 'role_'.$role->id, - $role->localname, null, ['group' => 1], [null, $role->id]); + if (in_array($role->id, $selectableroles)){ + $rolescheckboxes[] =& $mform->createElement('advcheckbox', 'role_' . $role->id, + $role->localname, null, ['group' => 1], [null, $role->id]); + }; } $mform->addGroup($rolescheckboxes, 'roles', get_string('select_roles', 'local_hshexport'), ); diff --git a/lang/de/local_hshexport.php b/lang/de/local_hshexport.php index 464ea5a71ad0a848e072b0e4e5c84645d8587102..4ab1d648592eda217b0ef74b0207f4ef2b304818 100644 --- a/lang/de/local_hshexport.php +++ b/lang/de/local_hshexport.php @@ -38,5 +38,7 @@ $string['navigation'] = 'Platzierung des Links'; $string['navigation_desc'] = 'Der Ort, an dem der Link für das Formular zum Export von Nutzern zur Evaluation innerhalb eines Kurses hinzugefügt wird.'; $string['noselectedroles'] = 'Mindestens eine Rolle muss ausgewählt werden.'; $string['pluginname'] = 'HSH Nutzer Export für Evaluation'; +$string['selectableroles'] = 'Auswählbare Rollen'; +$string['selectableroles_desc'] = 'Rollen, die im Formular für den Nutzerexport zur Auswahl stehen können.'; $string['select_roles'] = 'Rollen'; $string['select_roles_help'] = 'Nutzer mit dieser Rolle bzw. diesen Rollen exportieren.'; diff --git a/lang/en/local_hshexport.php b/lang/en/local_hshexport.php index ddbfd132ec7ae5e530a8c13b1a30196030b04ddf..fffe5468ee6656358ef0b9b7f2e3c96232bd6afa 100644 --- a/lang/en/local_hshexport.php +++ b/lang/en/local_hshexport.php @@ -38,5 +38,7 @@ $string['navigation'] = 'Navigation node placement'; $string['navigation_desc'] = 'The location where the navigation node for evaluation user export form will be added within a course.'; $string['noselectedroles'] = 'At least one role has to be selected.'; $string['pluginname'] = 'HSH User export'; +$string['selectableroles'] = 'Selectable roles'; +$string['selectableroles_desc'] = 'Roles that can be selected in the user export form.'; $string['select_roles'] = 'Roles'; $string['select_roles_help'] = 'Export users with this role or these roles.'; diff --git a/settings.php b/settings.php index 7e49f1ca48cfd00d87415dad0e41c1266adb26a7..8a6b0a46cce62b84037f409f5797164b7eecde5a 100644 --- a/settings.php +++ b/settings.php @@ -48,5 +48,19 @@ if ($hassiteconfig) { unset($navigationoptions); } + // Get roles as choicelist for selectbutton + $roles = role_fix_names(get_all_roles()); + $roleslist = []; + foreach ($roles as $role) { + $roleslist[$role->id] = $role->shortname; + } + + $settings -> add(new admin_setting_pickroles( + 'local_hshexport/selectableroles', + get_string('selectableroles', 'local_hshexport'), + get_string('selectableroles_desc', 'local_hshexport'), + ['student'], + )); + $ADMIN->add('localplugins', $settings); } diff --git a/version.php b/version.php index d4a74ded72aff4ee41464d5b29377ebae38bf213..b7318950ae389386197cc1aa4d077b34eb1af886 100644 --- a/version.php +++ b/version.php @@ -26,6 +26,6 @@ defined('MOODLE_INTERNAL') || die(); $plugin->component = 'local_hshexport'; $plugin->release = 'v0.1-beta1'; -$plugin->version = 2024110500; +$plugin->version = 2024110501; $plugin->requires = 2022112800; $plugin->maturity = MATURITY_BETA;