mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-71902 mod_quiz: Add locked flag option for quiz options
- Applies locked settings to many other quiz general options. For example, allows an admin to lock the browsersecurity level so it cannot be changed at an instance level, and will apply the 'default' option (which is currently None).
This commit is contained in:
parent
2b2897bf10
commit
4141f88361
1 changed files with 39 additions and 12 deletions
|
@ -64,6 +64,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('timelimit', 'quiz'), get_string('configtimelimitsec', 'quiz'),
|
get_string('timelimit', 'quiz'), get_string('configtimelimitsec', 'quiz'),
|
||||||
'0', 60);
|
'0', 60);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Delay to notify graded attempts.
|
// Delay to notify graded attempts.
|
||||||
|
@ -71,15 +72,18 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('attemptgradeddelay', 'quiz'), get_string('attemptgradeddelay_desc', 'quiz'), 5 * HOURSECS, HOURSECS));
|
get_string('attemptgradeddelay', 'quiz'), get_string('attemptgradeddelay_desc', 'quiz'), 5 * HOURSECS, HOURSECS));
|
||||||
|
|
||||||
// What to do with overdue attempts.
|
// What to do with overdue attempts.
|
||||||
$quizsettings->add(new mod_quiz_admin_setting_overduehandling('quiz/overduehandling',
|
$setting = new mod_quiz_admin_setting_overduehandling('quiz/overduehandling',
|
||||||
get_string('overduehandling', 'quiz'), get_string('overduehandling_desc', 'quiz'),
|
get_string('overduehandling', 'quiz'), get_string('overduehandling_desc', 'quiz'),
|
||||||
array('value' => 'autosubmit', 'adv' => false), null));
|
array('value' => 'autosubmit', 'adv' => false), null);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Grace period time.
|
// Grace period time.
|
||||||
$setting = new admin_setting_configduration('quiz/graceperiod',
|
$setting = new admin_setting_configduration('quiz/graceperiod',
|
||||||
get_string('graceperiod', 'quiz'), get_string('graceperiod_desc', 'quiz'),
|
get_string('graceperiod', 'quiz'), get_string('graceperiod_desc', 'quiz'),
|
||||||
'86400');
|
'86400');
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Minimum grace period used behind the scenes.
|
// Minimum grace period used behind the scenes.
|
||||||
|
@ -96,16 +100,21 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('attemptsallowed', 'quiz'), get_string('configattemptsallowed', 'quiz'),
|
get_string('attemptsallowed', 'quiz'), get_string('configattemptsallowed', 'quiz'),
|
||||||
0, $options);
|
0, $options);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Grading method.
|
// Grading method.
|
||||||
$quizsettings->add(new mod_quiz_admin_setting_grademethod('quiz/grademethod',
|
$setting = new mod_quiz_admin_setting_grademethod('quiz/grademethod',
|
||||||
get_string('grademethod', 'quiz'), get_string('configgrademethod', 'quiz'),
|
get_string('grademethod', 'quiz'), get_string('configgrademethod', 'quiz'),
|
||||||
array('value' => QUIZ_GRADEHIGHEST, 'adv' => false), null));
|
array('value' => QUIZ_GRADEHIGHEST, 'adv' => false), null);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Maximum grade.
|
// Maximum grade.
|
||||||
$quizsettings->add(new admin_setting_configtext('quiz/maximumgrade',
|
$setting = new admin_setting_configtext('quiz/maximumgrade',
|
||||||
get_string('maximumgrade'), get_string('configmaximumgrade', 'quiz'), 10, PARAM_INT));
|
get_string('maximumgrade'), get_string('configmaximumgrade', 'quiz'), 10, PARAM_INT);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Questions per page.
|
// Questions per page.
|
||||||
$perpage = array();
|
$perpage = array();
|
||||||
|
@ -118,6 +127,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('newpageevery', 'quiz'), get_string('confignewpageevery', 'quiz'),
|
get_string('newpageevery', 'quiz'), get_string('confignewpageevery', 'quiz'),
|
||||||
1, $perpage);
|
1, $perpage);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Navigation method.
|
// Navigation method.
|
||||||
|
@ -125,6 +135,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('navmethod', 'quiz'), get_string('confignavmethod', 'quiz'),
|
get_string('navmethod', 'quiz'), get_string('confignavmethod', 'quiz'),
|
||||||
QUIZ_NAVMETHOD_FREE, quiz_get_navigation_options());
|
QUIZ_NAVMETHOD_FREE, quiz_get_navigation_options());
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Shuffle within questions.
|
// Shuffle within questions.
|
||||||
|
@ -132,12 +143,15 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('shufflewithin', 'quiz'), get_string('configshufflewithin', 'quiz'),
|
get_string('shufflewithin', 'quiz'), get_string('configshufflewithin', 'quiz'),
|
||||||
1);
|
1);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Preferred behaviour.
|
// Preferred behaviour.
|
||||||
$quizsettings->add(new admin_setting_question_behaviour('quiz/preferredbehaviour',
|
$setting = new admin_setting_question_behaviour('quiz/preferredbehaviour',
|
||||||
get_string('howquestionsbehave', 'question'), get_string('howquestionsbehave_desc', 'quiz'),
|
get_string('howquestionsbehave', 'question'), get_string('howquestionsbehave_desc', 'quiz'),
|
||||||
'deferredfeedback'));
|
'deferredfeedback');
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Can redo completed questions.
|
// Can redo completed questions.
|
||||||
$setting = new admin_setting_configselect('quiz/canredoquestions',
|
$setting = new admin_setting_configselect('quiz/canredoquestions',
|
||||||
|
@ -145,6 +159,7 @@ if ($ADMIN->fulltree) {
|
||||||
0,
|
0,
|
||||||
array(0 => get_string('no'), 1 => get_string('canredoquestionsyes', 'quiz')));
|
array(0 => get_string('no'), 1 => get_string('canredoquestionsyes', 'quiz')));
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Each attempt builds on last.
|
// Each attempt builds on last.
|
||||||
|
@ -153,6 +168,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('configeachattemptbuildsonthelast', 'quiz'),
|
get_string('configeachattemptbuildsonthelast', 'quiz'),
|
||||||
0);
|
0);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Review options.
|
// Review options.
|
||||||
|
@ -172,9 +188,11 @@ if ($ADMIN->fulltree) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show the user's picture.
|
// Show the user's picture.
|
||||||
$quizsettings->add(new mod_quiz_admin_setting_user_image('quiz/showuserpicture',
|
$setting = new mod_quiz_admin_setting_user_image('quiz/showuserpicture',
|
||||||
get_string('showuserpicture', 'quiz'), get_string('configshowuserpicture', 'quiz'),
|
get_string('showuserpicture', 'quiz'), get_string('configshowuserpicture', 'quiz'),
|
||||||
array('value' => 0, 'adv' => false), null));
|
array('value' => 0, 'adv' => false), null);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Decimal places for overall grades.
|
// Decimal places for overall grades.
|
||||||
$options = array();
|
$options = array();
|
||||||
|
@ -185,6 +203,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('decimalplaces', 'quiz'), get_string('configdecimalplaces', 'quiz'),
|
get_string('decimalplaces', 'quiz'), get_string('configdecimalplaces', 'quiz'),
|
||||||
2, $options);
|
2, $options);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Decimal places for question grades.
|
// Decimal places for question grades.
|
||||||
|
@ -197,6 +216,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('configdecimalplacesquestion', 'quiz'),
|
get_string('configdecimalplacesquestion', 'quiz'),
|
||||||
-1, $options);
|
-1, $options);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Show blocks during quiz attempts.
|
// Show blocks during quiz attempts.
|
||||||
|
@ -204,6 +224,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('showblocks', 'quiz'), get_string('configshowblocks', 'quiz'),
|
get_string('showblocks', 'quiz'), get_string('configshowblocks', 'quiz'),
|
||||||
0);
|
0);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Password.
|
// Password.
|
||||||
|
@ -212,6 +233,7 @@ if ($ADMIN->fulltree) {
|
||||||
'');
|
'');
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$setting->set_required_flag_options(admin_setting_flag::ENABLED, false);
|
$setting->set_required_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// IP restrictions.
|
// IP restrictions.
|
||||||
|
@ -219,6 +241,7 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('requiresubnet', 'quiz'), get_string('configrequiresubnet', 'quiz'),
|
get_string('requiresubnet', 'quiz'), get_string('configrequiresubnet', 'quiz'),
|
||||||
'', PARAM_TEXT);
|
'', PARAM_TEXT);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Enforced delay between attempts.
|
// Enforced delay between attempts.
|
||||||
|
@ -226,17 +249,21 @@ if ($ADMIN->fulltree) {
|
||||||
get_string('delay1st2nd', 'quiz'), get_string('configdelay1st2nd', 'quiz'),
|
get_string('delay1st2nd', 'quiz'), get_string('configdelay1st2nd', 'quiz'),
|
||||||
0, 60);
|
0, 60);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
$setting = new admin_setting_configduration('quiz/delay2',
|
$setting = new admin_setting_configduration('quiz/delay2',
|
||||||
get_string('delaylater', 'quiz'), get_string('configdelaylater', 'quiz'),
|
get_string('delaylater', 'quiz'), get_string('configdelaylater', 'quiz'),
|
||||||
0, 60);
|
0, 60);
|
||||||
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
$quizsettings->add($setting);
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
// Browser security.
|
// Browser security.
|
||||||
$quizsettings->add(new mod_quiz_admin_setting_browsersecurity('quiz/browsersecurity',
|
$setting = new mod_quiz_admin_setting_browsersecurity('quiz/browsersecurity',
|
||||||
get_string('showinsecurepopup', 'quiz'), get_string('configpopup', 'quiz'),
|
get_string('showinsecurepopup', 'quiz'), get_string('configpopup', 'quiz'),
|
||||||
array('value' => '-', 'adv' => true), null));
|
array('value' => '-', 'adv' => true), null);
|
||||||
|
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
||||||
|
$quizsettings->add($setting);
|
||||||
|
|
||||||
$quizsettings->add(new admin_setting_configtext('quiz/initialnumfeedbacks',
|
$quizsettings->add(new admin_setting_configtext('quiz/initialnumfeedbacks',
|
||||||
get_string('initialnumfeedbacks', 'quiz'), get_string('initialnumfeedbacks_desc', 'quiz'),
|
get_string('initialnumfeedbacks', 'quiz'), get_string('initialnumfeedbacks_desc', 'quiz'),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue