Fixes #223 allow student attendance to be disabled at site-level
[moodle-mod_attendance.git] / tempedit_form.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
16
17 /**
18 * Form for editing temporary users.
19 *
20 * @package mod_attendance
21 * @copyright 2013 Davo Smith, Synergy Learning
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25 defined('MOODLE_INTERNAL') || die();
26
27 global $CFG;
28 require_once($CFG->libdir.'/formslib.php');
29
30 class tempedit_form extends moodleform {
31
32 public function definition() {
33
34 $mform = $this->_form;
35
36 $mform->addElement('hidden', 'userid', 0);
37 $mform->setType('userid', PARAM_INT);
38 $mform->addElement('hidden', 'id', 0);
39 $mform->setType('id', PARAM_INT);
40
41 $mform->addElement('header', 'attheader', get_string('tempusersedit', 'attendance'));
42 $mform->addElement('text', 'tname', get_string('tusername', 'attendance'));
43 $mform->addRule('tname', 'Required', 'required', null, 'client');
44 $mform->setType('tname', PARAM_TEXT);
45
46 $mform->addElement('text', 'temail', get_string('tuseremail', 'attendance'));
47 $mform->addRule('temail', 'Email', 'email', null, 'client');
48 $mform->setType('temail', PARAM_EMAIL);
49
50 $buttonarray = array(
51 $mform->createElement('submit', 'submitbutton', get_string('edituser', 'attendance')),
52 $mform->createElement('cancel'),
53 );
54 $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
55 $mform->closeHeaderBefore('submit');
56 }
57
58 public function definition_after_data() {
59 $mform = $this->_form;
60 $mform->applyFilter('tname', 'trim');
61 }
62
63 public function validation($data, $files) {
64 $errors = parent::validation($data, $files);
65
66 if ($err = mod_attendance_structure::check_existing_email($data['temail'], $data['userid'])) {
67 $errors['temail'] = $err;
68 }
69 return $errors;
70 }
71 }