Implement data privacy provider.
[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 /**
31 * class for displaying tempedit form.
32 *
33 * @copyright 2013 Davo Smith, Synergy Learning
34 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35 */
36 class tempedit_form extends moodleform {
37
38 /**
39 * Called to define this moodle form
40 *
41 * @return void
42 */
43 public function definition() {
44
45 $mform = $this->_form;
46
47 $mform->addElement('hidden', 'userid', 0);
48 $mform->setType('userid', PARAM_INT);
49 $mform->addElement('hidden', 'id', 0);
50 $mform->setType('id', PARAM_INT);
51
52 $mform->addElement('header', 'attheader', get_string('tempusersedit', 'attendance'));
53 $mform->addElement('text', 'tname', get_string('tusername', 'attendance'));
54 $mform->addRule('tname', 'Required', 'required', null, 'client');
55 $mform->setType('tname', PARAM_TEXT);
56
57 $mform->addElement('text', 'temail', get_string('tuseremail', 'attendance'));
58 $mform->addRule('temail', 'Email', 'email', null, 'client');
59 $mform->setType('temail', PARAM_EMAIL);
60
61 $buttonarray = array(
62 $mform->createElement('submit', 'submitbutton', get_string('edituser', 'attendance')),
63 $mform->createElement('cancel'),
64 );
65 $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
66 $mform->closeHeaderBefore('submit');
67 }
68
69 /**
70 * Apply filter to form
71 *
72 */
73 public function definition_after_data() {
74 $mform = $this->_form;
75 $mform->applyFilter('tname', 'trim');
76 }
77
78 /**
79 * Perform validation on the form
80 * @param array $data
81 * @param array $files
82 */
83 public function validation($data, $files) {
84 $errors = parent::validation($data, $files);
85
86 if ($err = mod_attendance_structure::check_existing_email($data['temail'], $data['userid'])) {
87 $errors['temail'] = $err;
88 }
89 return $errors;
90 }
91 }