/// form definition with preferences defaults
//--------------------------------------------------------------------------------
- $prefs = new stdClass();
- $prefs->aggregationposition = get_user_preferences('grade_report_aggregationposition', $CFG->grade_report_aggregationposition);
- $prefs->aggregationview = get_user_preferences('grade_report_aggregationview', $CFG->grade_report_aggregationview);
- $prefs->bulkcheckboxes = get_user_preferences('grade_report_bulkcheckboxes', $CFG->grade_report_bulkcheckboxes);
- $prefs->enableajax = get_user_preferences('grade_report_enableajax', $CFG->grade_report_enableajax);
- $prefs->gradedisplaytype = get_user_preferences('grade_report_gradedisplaytype', $CFG->grade_report_gradedisplaytype);
- $prefs->grandtotalsdisplaytype = get_user_preferences('grade_report_grandtotalsdisplaytype', $CFG->grade_report_grandtotalsdisplaytype);
- $prefs->showeyecons = get_user_preferences('grade_report_showeyecons', $CFG->grade_report_showeyecons);
- $prefs->showgroups = get_user_preferences('grade_report_showgroups', $CFG->grade_report_showgroups);
- $prefs->showlocks = get_user_preferences('grade_report_showlocks', $CFG->grade_report_showlocks);
- $prefs->shownotes = get_user_preferences('grade_report_shownotes', $CFG->grade_report_shownotes);
- $prefs->showscales = get_user_preferences('grade_report_showscales', $CFG->grade_report_showscales);
- $prefs->showgrandtotals = get_user_preferences('grade_report_showgrandtotals', $CFG->grade_report_showgrandtotals);
- $prefs->studentsperpage = get_user_preferences('grade_report_studentsperpage', $CFG->grade_report_studentsperpage);
- $prefs->feedbackformat = get_user_preferences('grade_report_feedbackformat', $CFG->grade_report_feedbackformat);
- $prefs->decimalpoints = get_user_preferences('grade_report_decimalpoints', $CFG->grade_report_decimalpoints);
-
- $mform->addElement('text','grade_report_studentsperpage', get_string('studentsperpage', 'grades'));
- $mform->setHelpButton('grade_report_studentsperpage', array(false, get_string('studentsperpage', 'grades'), false, true,
- false, get_string('configstudentsperpage', 'grades')));
- $mform->setDefault('grade_report_studentsperpage', $prefs->studentsperpage);
- $mform->setType('grade_report_studentsperpage', PARAM_INT);
-
- $mform->addElement('select','grade_report_aggregationposition', get_string('aggregationposition', 'grades'),
- array(get_string('left', 'grades'), get_string('right', 'grades')));
- $mform->setHelpButton('grade_report_aggregationposition', array(false, get_string('aggregationposition', 'grades'), false, true,
- false, get_string('configaggregationposition', 'grades')));
- $mform->setDefault('grade_report_aggregationposition', $prefs->aggregationposition);
- $mform->setType('grade_report_aggregationposition', PARAM_INT);
-
- $mform->addElement('select','grade_report_aggregationview', get_string('aggregationview', 'grades'),
- array(get_string('full', 'grades'), get_string('compact', 'grades')));
- $mform->setHelpButton('grade_report_aggregationview', array(false, get_string('aggregationview', 'grades'), false, true,
- false, get_string('configaggregationview', 'grades')));
- $mform->setDefault('grade_report_aggregationview', $prefs->aggregationview);
- $mform->setType('grade_report_aggregationview', PARAM_INT);
-
- $mform->addElement('select','grade_report_gradedisplaytype', get_string('gradedisplaytype', 'grades'),
- array(get_string('raw', 'grades'), get_string('percentage', 'grades')));
- $mform->setHelpButton('grade_report_gradedisplaytype', array(false, get_string('gradedisplaytype', 'grades'), false, true,
- false, get_string('configgradedisplaytype', 'grades')));
- $mform->setDefault('grade_report_gradedisplaytype', $prefs->gradedisplaytype);
- $mform->setType('grade_report_gradedisplaytype', PARAM_INT);
-
- $mform->addElement('select','grade_report_grandtotalsdisplaytype', get_string('grandtotalsdisplaytype', 'grades'),
- array(get_string('raw', 'grades'), get_string('percentage', 'grades')));
- $mform->setHelpButton('grade_report_grandtotalsdisplaytype', array(false, get_string('grandtotalsdisplaytype', 'grades'), false, true,
- false, get_string('configgrandtotalsdisplaytype', 'grades')));
- $mform->setDefault('grade_report_grandtotalsdisplaytype', $prefs->grandtotalsdisplaytype);
- $mform->setType('grade_report_grandtotalsdisplaytype', PARAM_INT);
-
- $mform->addElement('select','grade_report_feedbackformat', get_string('feedbackformat', 'grades'),
- array(get_string('text', 'grades'), get_string('html', 'grades')));
- $mform->setHelpButton('grade_report_feedbackformat', array(false, get_string('feedbackformat', 'grades'), false, true,
- false, get_string('configfeedbackformat', 'grades')));
- $mform->setDefault('grade_report_feedbackformat', $prefs->feedbackformat);
- $mform->setType('grade_report_feedbackformat', PARAM_INT);
-
- $mform->addElement('select','grade_report_decimalpoints', get_string('decimalpoints', 'grades'),
- array(0, 1, 2, 3, 4, 5));
- $mform->setHelpButton('grade_report_decimalpoints', array(false, get_string('decimalpoints', 'grades'), false, true,
- false, get_string('configdecimalpoints', 'grades')));
- $mform->setDefault('grade_report_decimalpoints', $prefs->decimalpoints);
- $mform->setType('grade_report_decimalpoints', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_bulkcheckboxes', get_string('bulkcheckboxes', 'grades'));
- $mform->setHelpButton('grade_report_bulkcheckboxes', array(false, get_string('bulkcheckboxes', 'grades'), false, true,
- false, get_string('configbulkcheckboxes', 'grades')));
- $mform->setDefault('grade_report_bulkcheckboxes', $prefs->bulkcheckboxes);
- $mform->setType('grade_report_bulkcheckboxes', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_enableajax', get_string('enableajax', 'grades'));
- $mform->setHelpButton('grade_report_enableajax', array(false, get_string('enableajax', 'grades'), false, true,
- false, get_string('configenableajax', 'grades')));
- $mform->setDefault('grade_report_enableajax', $prefs->enableajax);
- $mform->setType('grade_report_enableajax', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_showeyecons', get_string('showeyecons', 'grades'));
- $mform->setHelpButton('grade_report_showeyecons', array(false, get_string('showeyecons', 'grades'), false, true,
- false, get_string('configshoweyecons', 'grades')));
- $mform->setDefault('grade_report_showeyecons', $prefs->showeyecons);
- $mform->setType('grade_report_showeyecons', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_showgroups', get_string('showgroups', 'grades'));
- $mform->setHelpButton('grade_report_showgroups', array(false, get_string('showgroups', 'grades'), false, true,
- false, get_string('configshowgroups', 'grades')));
- $mform->setDefault('grade_report_showgroups', $prefs->showgroups);
- $mform->setType('grade_report_showgroups', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_showlocks', get_string('showlocks', 'grades'));
- $mform->setHelpButton('grade_report_showlocks', array(false, get_string('showlocks', 'grades'), false, true,
- false, get_string('configshowlocks', 'grades')));
- $mform->setDefault('grade_report_showlocks', $prefs->showlocks);
- $mform->setType('grade_report_showlocks', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_shownotes', get_string('shownotes', 'grades'));
- $mform->setHelpButton('grade_report_shownotes', array(false, get_string('shownotes', 'grades'), false, true,
- false, get_string('configshownotes', 'grades')));
- $mform->setDefault('grade_report_shownotes', $prefs->shownotes);
- $mform->setType('grade_report_shownotes', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_showscales', get_string('showscales', 'grades'));
- $mform->setHelpButton('grade_report_showscales', array(false, get_string('showscales', 'grades'), false, true,
- false, get_string('configshowscales', 'grades')));
- $mform->setDefault('grade_report_showscales', $prefs->showscales);
- $mform->setType('grade_report_showscales', PARAM_INT);
-
- $mform->addElement('checkbox', 'grade_report_showgrandtotals', get_string('showgrandtotals', 'grades'));
- $mform->setHelpButton('grade_report_showgrandtotals', array(false, get_string('showgrandtotals', 'grades'), false, true,
- false, get_string('configshowgrandtotals', 'grades')));
- $mform->setDefault('grade_report_showgrandtotals', $prefs->showgrandtotals);
- $mform->setType('grade_report_showgrandtotals', PARAM_INT);
+ $preferences = array('bulkcheckboxes' => 'checkbox',
+ 'enableajax' => 'checkbox',
+ 'showcalculations' => 'checkbox',
+ 'showeyecons' => 'checkbox',
+ 'showgrandtotals' => 'checkbox',
+ 'showgroups' => 'checkbox',
+ 'showlocks' => 'checkbox',
+ 'shownotes' => 'checkbox',
+ 'showscales' => 'checkbox',
+ 'aggregationposition' => array(get_string('left', 'grades'), get_string('right', 'grades')),
+ 'aggregationview' => array(get_string('full', 'grades'), get_string('compact', 'grades')),
+ 'gradedisplaytype' => array(get_string('raw', 'grades'), get_string('percentage', 'grades')),
+ 'grandtotalsdisplaytype' => array(get_string('raw', 'grades'), get_string('percentage', 'grades')),
+ 'feedbackformat' => array(get_string('text', 'grades'), get_string('html', 'grades')),
+ 'decimalpoints' => array(0, 1, 2, 3, 4, 5),
+ 'studentsperpage' => 'text');
+
+ foreach ($preferences as $pref => $type) {
+ $full_pref = 'grade_report_' . $pref;
+ $pref_value = get_user_preferences($full_pref, $CFG->$full_pref);
+
+ $options = null;
+ if (is_array($type)) {
+ $options = $type;
+ $type = 'select';
+ }
+
+ $mform->addElement($type, $full_pref, get_string($pref, 'grades'), $options);
+ $mform->setHelpButton($full_pref, array(false, get_string($pref, 'grades'), false, true, false, get_string("config_$pref", 'grades')));
+ $mform->setDefault($full_pref, $pref_value);
+ $mform->setType($full_pref, PARAM_INT);
+ }
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);