}
// Students can mark own attendance.
- $mform->addElement('checkbox', 'studentscanmark', '', get_string('studentscanmark', 'attendance'));
- $mform->addHelpButton('studentscanmark', 'studentscanmark', 'attendance');
+ if (!empty(get_config('attendance', 'studentscanmark'))) {
+ $mform->addElement('checkbox', 'studentscanmark', '', get_string('studentscanmark', 'attendance'));
+ $mform->addHelpButton('studentscanmark', 'studentscanmark', 'attendance');
+ } else {
+ $mform->addElement('hidden', 'studentscanmark', '0');
+ $mform->settype('studentscanmark', PARAM_INT);
+ }
$mform->addElement('editor', 'sdescription', get_string('description', 'attendance'), array('rows' => 1, 'columns' => 80),
array('maxfiles' => EDITOR_UNLIMITED_FILES, 'noclean' => true, 'context' => $modcontext));
// Require the user is logged in.
require_login($course, true, $cm);
+if (empty(get_config('attendance', 'studentscanmark')) || empty($attforsession->studentscanmark)) {
+ redirect(new moodle_url('/mod/attendance/view.php', array('id' => $cm->id)));
+ exit;
+}
$pageparams->sessionid = $id;
$att = new mod_attendance_structure($attendance, $cm, $course, $PAGE->context, $pageparams);
$string['eventstatusadded'] = 'Status added';
$string['studentscanmark'] = 'Allow students to record own attendance';
+$string['studentscanmark_desc'] = 'If checked, teachers will be able to allow students to mark their own attendance.';
$string['studentscanmark_help'] = 'If checked students will be able to change their own attendance status for the session.';
$string['set_by_student'] = 'Self-recorded';
$string['attendance_already_submitted'] = 'You may not self register attendance that has already been set.';
$cell->colspan = 2;
$row->cells[] = $cell;
} else {
- if (!empty($sess->studentscanmark)) { // Student can mark their own attendance.
+ if (!empty(get_config('attendance', 'studentscanmark')) && !empty($sess->studentscanmark)) {
+ // Student can mark their own attendance.
// URL to the page that lets the student modify their attendance.
$url = new moodle_url('/mod/attendance/attendance.php',
array('sessid' => $sess->id, 'sesskey' => sesskey()));
$duration = $sesendtime - $sesstarttime;
$now = time();
+ if (empty(get_config('attendance', 'studentscanmark'))) {
+ $formdata->studentscanmark = 0;
+ }
+
$sessions = array();
if (isset($formdata->addmultiply)) {
$startdate = $sessiondate;
$settings->add(new admin_setting_configselect('attendance/resultsperpage',
get_string('resultsperpage', 'attendance'), get_string('resultsperpage_desc', 'attendance'), 25, $options));
+
+ $settings->add(new admin_setting_configcheckbox('attendance/studentscanmark',
+ get_string('studentscanmark', 'attendance'), get_string('studentscanmark_desc', 'attendance'), 1));
}