* @param array $files
*/
public function validation($data, $files) {
+ global $DB;
$errors = parent::validation($data, $files);
$sesstarttime = $data['sestime']['starthour'] * HOURSECS + $data['sestime']['startminute'] * MINSECS;
$this->_form->setConstant('previoussessiondate', $data['sessiondate']);
}
+ if ($data['automark'] == ATTENDANCE_AUTOMARK_CLOSE) {
+ $cm = $this->_customdata['cm'];
+ // Check that the selected statusset has a status to use when unmarked.
+ $sql = 'SELECT id
+ FROM {attendance_statuses}
+ WHERE deleted = 0 AND (attendanceid = 0 or attendanceid = ?)
+ AND setnumber = ? AND setunmarked = 1';
+ $params = array($cm->instance, $data['statusset']);
+ if (!$DB->record_exists_sql($sql, $params)) {
+ $errors['automark'] = get_string('noabsentstatusset', 'attendance');
+ }
+ }
+
return $errors;
}
$string['newdate'] = 'New date';
$string['newduration'] = 'New duration';
$string['newstatusset'] = 'New set of statuses';
+$string['noabsentstatusset'] = 'The status set in use does not have a status to use when not marked.';
$string['noattendanceusers'] = 'It is not possible to export any data as there are no students enrolled in the course.';
$string['noautomark'] = 'Disabled';
$string['noattforuser'] = 'No attendance records exist for the user';
* @param array $files
*/
public function validation($data, $files) {
+ global $DB;
$errors = parent::validation($data, $files);
$sesstarttime = $data['sestime']['starthour'] * HOURSECS + $data['sestime']['startminute'] * MINSECS;
$errors['sestime'] = get_string('invalidsessionendtime', 'attendance');
}
+ if ($data['automark'] == ATTENDANCE_AUTOMARK_CLOSE) {
+ $cm = $this->_customdata['cm'];
+ // Check that the selected statusset has a status to use when unmarked.
+ $sql = 'SELECT id
+ FROM {attendance_statuses}
+ WHERE deleted = 0 AND (attendanceid = 0 or attendanceid = ?)
+ AND setnumber = ? AND setunmarked = 1';
+ $params = array($cm->instance, $data['statusset']);
+ if (!$DB->record_exists_sql($sql, $params)) {
+ $errors['automark'] = get_string('noabsentstatusset', 'attendance');
+ }
+ }
+
return $errors;
}
}