From 188fd8006b80ece2e565ff4124d6a7dc9bd5c03a Mon Sep 17 00:00:00 2001 From: David Monllao Date: Wed, 28 Aug 2013 10:09:05 +0800 Subject: [PATCH] MDL-41913 tool_generator: Refactoring make_form to make_course_form Also: - Added a soft password for the newly generated users so we can use them to log in the site when running performance tests. - Added a method to see the courses-users relation from outside course_backend class. --- admin/tool/generator/classes/course_backend.php | 17 +++++++++++++++++ .../{make_form.php => make_course_form.php} | 14 +++++++++++++- admin/tool/generator/maketestcourse.php | 8 ++++---- 3 files changed, 34 insertions(+), 5 deletions(-) rename admin/tool/generator/classes/{make_form.php => make_course_form.php} (88%) diff --git a/admin/tool/generator/classes/course_backend.php b/admin/tool/generator/classes/course_backend.php index 3a3ca57b2b6..1916db5fe3e 100644 --- a/admin/tool/generator/classes/course_backend.php +++ b/admin/tool/generator/classes/course_backend.php @@ -113,6 +113,15 @@ class tool_generator_course_backend extends tool_generator_backend { parent::__construct($size, $fixeddataset, $progress); } + /** + * Returns the relation between users and course sizes. + * + * @return array + */ + public static function get_users_per_size() { + return self::$paramusers; + } + /** * Gets a list of size choices supported by this backend. * @@ -282,6 +291,8 @@ class tool_generator_course_backend extends tool_generator_backend { * @param int $last Number of last user */ private function create_user_accounts($first, $last) { + global $CFG; + $this->log('createaccounts', (object)array('from' => $first, 'to' => $last), true); $count = $last - $first + 1; $done = 0; @@ -296,6 +307,12 @@ class tool_generator_course_backend extends tool_generator_backend { // Create user account. $record = array('firstname' => get_string('firstname', 'tool_generator'), 'lastname' => $number, 'username' => $username); + + // We add a user password if it has been specified. + if (!empty($CFG->tool_generator_users_password)) { + $record['password'] = $CFG->tool_generator_users_password; + } + $user = $this->generator->create_user($record); $this->userids[$number] = (int)$user->id; $this->dot($done, $count); diff --git a/admin/tool/generator/classes/make_form.php b/admin/tool/generator/classes/make_course_form.php similarity index 88% rename from admin/tool/generator/classes/make_form.php rename to admin/tool/generator/classes/make_course_form.php index b4a976c9030..bc1e1604700 100644 --- a/admin/tool/generator/classes/make_form.php +++ b/admin/tool/generator/classes/make_course_form.php @@ -26,8 +26,13 @@ require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/generator/classes/course * @copyright 2013 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_generator_make_form extends moodleform { +class tool_generator_make_course_form extends moodleform { + /** + * Course generation tool form definition. + * + * @return void + */ public function definition() { $mform = $this->_form; @@ -42,6 +47,13 @@ class tool_generator_make_form extends moodleform { $mform->addElement('submit', 'submit', get_string('createcourse', 'tool_generator')); } + /** + * Form validation. + * + * @param array $data + * @param array $files + * @return void + */ public function validation($data, $files) { global $DB; $errors = array(); diff --git a/admin/tool/generator/maketestcourse.php b/admin/tool/generator/maketestcourse.php index b092cba3567..03ccc0129d1 100644 --- a/admin/tool/generator/maketestcourse.php +++ b/admin/tool/generator/maketestcourse.php @@ -31,10 +31,10 @@ require('../../../config.php'); require_once($CFG->libdir . '/adminlib.php'); require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/generator/classes/course_backend.php'); -require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/generator/classes/make_form.php'); +require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/generator/classes/make_course_form.php'); // Initialise page and check permissions. -admin_externalpage_setup('toolgenerator'); +admin_externalpage_setup('toolgeneratorcourse'); // Start page. echo $OUTPUT->header(); @@ -42,7 +42,7 @@ echo $OUTPUT->heading(get_string('maketestcourse', 'tool_generator')); // Information message. $context = context_system::instance(); -echo $OUTPUT->box(format_text(get_string('explanation', 'tool_generator'), +echo $OUTPUT->box(format_text(get_string('courseexplanation', 'tool_generator'), FORMAT_MARKDOWN, array('context' => $context))); // Check debugging is set to DEVELOPER. @@ -53,7 +53,7 @@ if (!debugging('', DEBUG_DEVELOPER)) { } // Set up the form. -$mform = new tool_generator_make_form('maketestcourse.php'); +$mform = new tool_generator_make_course_form('maketestcourse.php'); if ($data = $mform->get_data()) { // Do actual work. echo $OUTPUT->heading(get_string('creating', 'tool_generator'));