Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
 * Test plan form.
19
 *
20
 * @package tool_generator
21
 * @copyright 2013 David Monllaó
22
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
defined('MOODLE_INTERNAL') || die();
26
 
27
require_once($CFG->libdir . '/formslib.php');
28
 
29
/**
30
 * Form with options for creating large course.
31
 *
32
 * @package tool_generator
33
 * @copyright 2013 David Monllaó
34
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35
 */
36
class tool_generator_make_testplan_form extends moodleform {
37
 
38
    /**
39
     * Test plan form definition.
40
     *
41
     * @return void
42
     */
43
    public function definition() {
44
        $mform = $this->_form;
45
 
46
        $mform->addElement('select', 'size', get_string('size', 'tool_generator'),
47
            tool_generator_testplan_backend::get_size_choices());
48
        $mform->setDefault('size', tool_generator_testplan_backend::DEFAULT_SIZE);
49
 
50
        $mform->addElement('course', 'courseid', get_string('targetcourse', 'tool_generator'));
51
 
52
        $mform->addElement('advcheckbox', 'updateuserspassword', get_string('updateuserspassword', 'tool_generator'));
53
        $mform->addHelpButton('updateuserspassword', 'updateuserspassword', 'tool_generator');
54
 
55
        $mform->addElement('submit', 'submit', get_string('createtestplan', 'tool_generator'));
56
    }
57
 
58
    /**
59
     * Checks that the submitted data allows us to create a test plan.
60
     *
61
     * @param array $data
62
     * @param array $files
63
     * @return array An array of errors
64
     */
65
    public function validation($data, $files) {
66
        global $CFG;
67
 
68
        $errors = array();
69
        if (empty($CFG->tool_generator_users_password) || is_bool($CFG->tool_generator_users_password)) {
70
            $errors['updateuserspassword'] = get_string('error_nouserspassword', 'tool_generator');
71
        }
72
 
73
        // Better to repeat here the query than to do it afterwards and end up with an exception.
74
        if ($courseerrors = tool_generator_testplan_backend::has_selected_course_any_problem($data['courseid'], $data['size'])) {
75
            $errors = array_merge($errors, $courseerrors);
76
        }
77
 
78
        return $errors;
79
    }
80
 
81
}