Davo Smith
10 years ago
1 changed files with 61 additions and 0 deletions
@ -0,0 +1,61 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
/** |
|||
* mod_attendance data generator |
|||
* |
|||
* @package mod_attendance |
|||
* @category test |
|||
* @copyright 2013 Davo Smith, Synergy Learning |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
|
|||
class mod_attendance_generator extends testing_module_generator { |
|||
|
|||
/** |
|||
* Create new attendance module instance |
|||
* @param array|stdClass $record |
|||
* @param array $options |
|||
* @return stdClass activity record with extra cmid field |
|||
*/ |
|||
public function create_instance($record = null, array $options = null) { |
|||
global $CFG; |
|||
require_once($CFG->dirroot.'/mod/attendance/lib.php'); |
|||
|
|||
$this->instancecount++; |
|||
$i = $this->instancecount; |
|||
|
|||
$record = (object)(array)$record; |
|||
$options = (array)$options; |
|||
|
|||
if (empty($record->course)) { |
|||
throw new coding_exception('module generator requires $record->course'); |
|||
} |
|||
if (!isset($record->name)) { |
|||
$record->name = get_string('pluginname', 'attendance').' '.$i; |
|||
} |
|||
if (!isset($record->grade)) { |
|||
$record->grade = 100; |
|||
} |
|||
|
|||
$record->coursemodule = $this->precreate_course_module($record->course, $options); |
|||
$id = attendance_add_instance($record, null); |
|||
return $this->post_add_instance($id, $record->coursemodule); |
|||
} |
|||
} |
Loading…
Reference in new issue