MDL-59382 core: make CiBoT happy.
This commit is contained in:
committed by
Ryan Wyllie
parent
c448e19bff
commit
705eea84d1
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
@@ -21,7 +20,6 @@
|
||||
*
|
||||
* @copyright 2017 Ryan Wyllie <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @package calendar
|
||||
*/
|
||||
namespace core_calendar\local\event\forms;
|
||||
|
||||
@@ -55,7 +53,7 @@ class create extends \moodleform {
|
||||
$this->add_default_hidden_elements($mform);
|
||||
|
||||
// Event name field.
|
||||
$mform->addElement('text', 'name', get_string('eventname','calendar'), 'size="50"');
|
||||
$mform->addElement('text', 'name', get_string('eventname', 'calendar'), 'size="50"');
|
||||
$mform->addRule('name', get_string('required'), 'required', null, 'client');
|
||||
$mform->setType('name', PARAM_TEXT);
|
||||
|
||||
@@ -65,10 +63,10 @@ class create extends \moodleform {
|
||||
// Add the select elements for the available event types.
|
||||
$this->add_event_type_elements($mform, $eventtypes);
|
||||
|
||||
// ********* START OF ADVANCED ELEMENTS *********.
|
||||
// Advanced elements are not visible to the user by default. They are
|
||||
// displayed through the user of a show more / less button.
|
||||
$mform->addElement('editor', 'description', get_string('eventdescription','calendar'), ['rows' => 3]);
|
||||
// Start of advanced elements.
|
||||
// Advanced elements are not visible to the user by default.
|
||||
// They are displayed through the user of a show more / less button.
|
||||
$mform->addElement('editor', 'description', get_string('eventdescription', 'calendar'), ['rows' => 3]);
|
||||
$mform->setType('description', PARAM_RAW);
|
||||
$mform->setAdvanced('description');
|
||||
|
||||
@@ -78,8 +76,8 @@ class create extends \moodleform {
|
||||
// Add the form elements for repeating events.
|
||||
$this->add_event_repeat_elements($mform);
|
||||
|
||||
// Add the javascript required to enhance this mform. Including the show/hide of advanced elements
|
||||
// and the display of the correct select elements for chosen event types.
|
||||
// Add the javascript required to enhance this mform.
|
||||
// Including the show/hide of advanced elements and the display of the correct select elements for event types.
|
||||
$PAGE->requires->js_call_amd('core_calendar/event_form', 'init', [$mform->getAttribute('id'), $haserror]);
|
||||
}
|
||||
|
||||
@@ -125,7 +123,7 @@ class create extends \moodleform {
|
||||
protected function add_default_hidden_elements($mform) {
|
||||
global $USER;
|
||||
|
||||
// Add some hidden fields
|
||||
// Add some hidden fields.
|
||||
$mform->addElement('hidden', 'id');
|
||||
$mform->setType('id', PARAM_INT);
|
||||
$mform->setDefault('id', 0);
|
||||
@@ -260,7 +258,7 @@ class create extends \moodleform {
|
||||
$mform->disabledIf('timedurationuntil[minute]', 'duration', 'noteq', 1);
|
||||
|
||||
$mform->setType('timedurationminutes', PARAM_INT);
|
||||
$mform->disabledIf('timedurationminutes','duration','noteq', 2);
|
||||
$mform->disabledIf('timedurationminutes', 'duration', 'noteq', 2);
|
||||
|
||||
$mform->setDefault('duration', 0);
|
||||
}
|
||||
@@ -276,7 +274,7 @@ class create extends \moodleform {
|
||||
$mform->addElement('text', 'repeats', get_string('repeatweeksl', 'calendar'), 'maxlength="10" size="10"');
|
||||
$mform->setType('repeats', PARAM_INT);
|
||||
$mform->setDefault('repeats', 1);
|
||||
$mform->disabledIf('repeats','repeat','notchecked');
|
||||
$mform->disabledIf('repeats', 'repeat', 'notchecked');
|
||||
$mform->setAdvanced('repeat');
|
||||
$mform->setAdvanced('repeats');
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
@@ -21,7 +20,6 @@
|
||||
*
|
||||
* @copyright 2017 Ryan Wyllie <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @package calendar
|
||||
*/
|
||||
namespace core_calendar\local\event\forms;
|
||||
|
||||
@@ -39,9 +37,7 @@ class update extends create {
|
||||
/**
|
||||
* Add the repeat elements for the form when editing an existing event.
|
||||
*
|
||||
* @method add_event_repeat_elements
|
||||
* @param MoodleQuickForm $mform
|
||||
* @param stdClass $event The event properties
|
||||
*/
|
||||
protected function add_event_repeat_elements($mform) {
|
||||
$event = $this->_customdata['event'];
|
||||
@@ -50,7 +46,8 @@ class update extends create {
|
||||
$mform->setType('repeatid', PARAM_INT);
|
||||
|
||||
$group = [];
|
||||
$group[] = $mform->createElement('radio', 'repeateditall', null, get_string('repeateditall', 'calendar', $event->eventrepeats), 1);
|
||||
$group[] = $mform->createElement('radio', 'repeateditall', null, get_string('repeateditall', 'calendar',
|
||||
$event->eventrepeats), 1);
|
||||
$group[] = $mform->createElement('radio', 'repeateditall', null, get_string('repeateditthis', 'calendar'), 0);
|
||||
$mform->addGroup($group, 'repeatgroup', get_string('repeatedevents', 'calendar'), '<br />', false);
|
||||
|
||||
|
||||
@@ -47,8 +47,7 @@ class create_update_form_mapper implements create_update_form_mapper_interface {
|
||||
/**
|
||||
* Generate the appropriate data for the form from a legacy event.
|
||||
*
|
||||
* @method from_legacy_event_to_data
|
||||
* @param calendar_event $legacyevent
|
||||
* @param \calendar_event $legacyevent
|
||||
* @return stdClass
|
||||
*/
|
||||
public function from_legacy_event_to_data(\calendar_event $legacyevent) {
|
||||
@@ -69,8 +68,7 @@ class create_update_form_mapper implements create_update_form_mapper_interface {
|
||||
/**
|
||||
* Generate the appropriate calendar_event properties from the form data.
|
||||
*
|
||||
* @method from_data_to_event_properties
|
||||
* @param stdClass $data
|
||||
* @param \stdClass $data
|
||||
* @return stdClass
|
||||
*/
|
||||
public function from_data_to_event_properties(\stdClass $data) {
|
||||
@@ -105,13 +103,12 @@ class create_update_form_mapper implements create_update_form_mapper_interface {
|
||||
* A helper function to calculate the time duration for an event based on
|
||||
* the event_form data.
|
||||
*
|
||||
* @method get_time_duration_from_form_data
|
||||
* @param \stdClass $data event_form data
|
||||
* @return int
|
||||
*/
|
||||
private function get_time_duration_from_form_data(\stdClass $data) {
|
||||
if ($data->duration == 1) {
|
||||
return $data->timedurationuntil- $data->timestart;
|
||||
return $data->timedurationuntil - $data->timestart;
|
||||
} else if ($data->duration == 2) {
|
||||
return $data->timedurationminutes * MINSECS;
|
||||
} else {
|
||||
|
||||
@@ -38,8 +38,7 @@ interface create_update_form_mapper_interface {
|
||||
/**
|
||||
* Generate the appropriate data for the form from a legacy event.
|
||||
*
|
||||
* @method from_legacy_event_to_data
|
||||
* @param calendar_event $legacyevent
|
||||
* @param \calendar_event $legacyevent
|
||||
* @return stdClass
|
||||
*/
|
||||
public function from_legacy_event_to_data(\calendar_event $legacyevent);
|
||||
@@ -47,8 +46,7 @@ interface create_update_form_mapper_interface {
|
||||
/**
|
||||
* Generate the appropriate calendar_event properties from the form data.
|
||||
*
|
||||
* @method from_data_to_event_properties
|
||||
* @param stdClass $data
|
||||
* @param \stdClass $data
|
||||
* @return stdClass
|
||||
*/
|
||||
public function from_data_to_event_properties(\stdClass $data);
|
||||
|
||||
+7
-1
@@ -2744,7 +2744,7 @@ function calendar_get_allowed_types(&$allowed, $course = null, $groups = null) {
|
||||
* 'groupcourses' : array of courses that the groups belong to (can
|
||||
* be different from the list in 'course'.
|
||||
*
|
||||
* @param array The available types for the logged in user
|
||||
* @return array The array of allowed types.
|
||||
*/
|
||||
function calendar_get_all_allowed_types() {
|
||||
global $CFG, $USER;
|
||||
@@ -3416,6 +3416,12 @@ function calendar_get_legacy_events($tstart, $tend, $users, $groups, $courses, $
|
||||
}, []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Request and render event form fragment.
|
||||
*
|
||||
* @param array $args The fragment arguments.
|
||||
* @return string The rendered mform fragment.
|
||||
*/
|
||||
function calendar_output_fragment_event_form($args) {
|
||||
global $CFG, $OUTPUT;
|
||||
require_once($CFG->dirroot.'/calendar/event_form.php');
|
||||
|
||||
+40
-38
@@ -352,44 +352,46 @@ function groups_get_all_groups_for_courses($courses) {
|
||||
|
||||
$results = $DB->get_records_sql($sql, $params);
|
||||
|
||||
// The results will come back as a flat dataset thanks to the left
|
||||
// join so we will need to do some post processing to blow it out
|
||||
// into a more useable data structure.
|
||||
//
|
||||
// This loop will extract the distinct groups from the result set
|
||||
// and add it's list of members to the object as a property called
|
||||
// 'members'. Then each group will be added to the result set indexed
|
||||
// by it's course id.
|
||||
//
|
||||
// The resulting data structure for $groups should be:
|
||||
// $groups = [
|
||||
// '1' = [
|
||||
// '1' => (object) [
|
||||
// 'id' => 1,
|
||||
// <rest of group properties>
|
||||
// 'members' => [
|
||||
// '1' => (object) [
|
||||
// <group member properties>
|
||||
// ],
|
||||
// '2' => (object) [
|
||||
// <group member properties>
|
||||
// ]
|
||||
// ]
|
||||
// ],
|
||||
// '2' => (object) [
|
||||
// 'id' => 2,
|
||||
// <rest of group properties>
|
||||
// 'members' => [
|
||||
// '1' => (object) [
|
||||
// <group member properties>
|
||||
// ],
|
||||
// '3' => (object) [
|
||||
// <group member properties>
|
||||
// ]
|
||||
// ]
|
||||
// ]
|
||||
// ]
|
||||
// ]
|
||||
/**
|
||||
* The results will come back as a flat dataset thanks to the left
|
||||
* join so we will need to do some post processing to blow it out
|
||||
* into a more usable data structure.
|
||||
*
|
||||
* This loop will extract the distinct groups from the result set
|
||||
* and add it's list of members to the object as a property called
|
||||
* 'members'. Then each group will be added to the result set indexed
|
||||
* by it's course id.
|
||||
*
|
||||
* The resulting data structure for $groups should be:
|
||||
* $groups = [
|
||||
* '1' = [
|
||||
* '1' => (object) [
|
||||
* 'id' => 1,
|
||||
* <rest of group properties>
|
||||
* 'members' => [
|
||||
* '1' => (object) [
|
||||
* <group member properties>
|
||||
* ],
|
||||
* '2' => (object) [
|
||||
* <group member properties>
|
||||
* ]
|
||||
* ]
|
||||
* ],
|
||||
* '2' => (object) [
|
||||
* 'id' => 2,
|
||||
* <rest of group properties>
|
||||
* 'members' => [
|
||||
* '1' => (object) [
|
||||
* <group member properties>
|
||||
* ],
|
||||
* '3' => (object) [
|
||||
* <group member properties>
|
||||
* ]
|
||||
* ]
|
||||
* ]
|
||||
* ]
|
||||
* ]
|
||||
*/
|
||||
foreach ($results as $key => $result) {
|
||||
$groupid = $result->gid;
|
||||
$courseid = $result->courseid;
|
||||
|
||||
+16
-10
@@ -1548,6 +1548,9 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertEquals([$user1->id, $user3->id], array_keys($members), '', 0.0, 10, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test groups_get_all_groups_for_courses() method.
|
||||
*/
|
||||
public function test_groups_get_all_groups_for_courses_no_courses() {
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
@@ -1555,6 +1558,9 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertEquals([], groups_get_all_groups_for_courses([]));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test groups_get_all_groups_for_courses() method.
|
||||
*/
|
||||
public function test_groups_get_all_groups_for_courses_with_courses() {
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
@@ -1606,7 +1612,7 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$generator->create_group_member(array('groupid' => $group9->id, 'userid' => $user2->id));
|
||||
|
||||
$result = groups_get_all_groups_for_courses($courses);
|
||||
$assertPropertiesMatch = function($expected, $actual) {
|
||||
$assertpropertiesmatch = function($expected, $actual) {
|
||||
$props = get_object_vars($expected);
|
||||
|
||||
foreach ($props as $name => $val) {
|
||||
@@ -1627,7 +1633,7 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$coursegroup = $coursegroups[$group1->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertEquals([], $coursegroup->members);
|
||||
$assertPropertiesMatch($group1, $coursegroup);
|
||||
$assertpropertiesmatch($group1, $coursegroup);
|
||||
|
||||
// Course 3 has one group with one member.
|
||||
$coursegroups = $result[$course3->id];
|
||||
@@ -1635,7 +1641,7 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$groupmember1 = $coursegroup->members[$user1->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertCount(1, $coursegroup->members);
|
||||
$assertPropertiesMatch($group2, $coursegroup);
|
||||
$assertpropertiesmatch($group2, $coursegroup);
|
||||
$this->assertEquals($user1->id, $groupmember1->userid);
|
||||
|
||||
// Course 4 has one group with multiple members.
|
||||
@@ -1645,7 +1651,7 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$groupmember2 = $coursegroup->members[$user2->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertCount(2, $coursegroup->members);
|
||||
$assertPropertiesMatch($group3, $coursegroup);
|
||||
$assertpropertiesmatch($group3, $coursegroup);
|
||||
$this->assertEquals($user1->id, $groupmember1->userid);
|
||||
$this->assertEquals($user2->id, $groupmember2->userid);
|
||||
|
||||
@@ -1656,8 +1662,8 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertEquals([], $coursegroup1->members);
|
||||
$this->assertEquals([], $coursegroup2->members);
|
||||
$assertPropertiesMatch($group4, $coursegroup1);
|
||||
$assertPropertiesMatch($group5, $coursegroup2);
|
||||
$assertpropertiesmatch($group4, $coursegroup1);
|
||||
$assertpropertiesmatch($group5, $coursegroup2);
|
||||
|
||||
// Course 6 has multiple groups with one member.
|
||||
$coursegroups = $result[$course6->id];
|
||||
@@ -1668,8 +1674,8 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertCount(1, $coursegroup1->members);
|
||||
$this->assertCount(1, $coursegroup2->members);
|
||||
$assertPropertiesMatch($group6, $coursegroup1);
|
||||
$assertPropertiesMatch($group7, $coursegroup2);
|
||||
$assertpropertiesmatch($group6, $coursegroup1);
|
||||
$assertpropertiesmatch($group7, $coursegroup2);
|
||||
$this->assertEquals($user1->id, $group1member1->userid);
|
||||
$this->assertEquals($user1->id, $group2member1->userid);
|
||||
|
||||
@@ -1684,8 +1690,8 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertCount(2, $coursegroup1->members);
|
||||
$this->assertCount(2, $coursegroup2->members);
|
||||
$assertPropertiesMatch($group8, $coursegroup1);
|
||||
$assertPropertiesMatch($group9, $coursegroup2);
|
||||
$assertpropertiesmatch($group8, $coursegroup1);
|
||||
$assertpropertiesmatch($group9, $coursegroup2);
|
||||
$this->assertEquals($user1->id, $group1member1->userid);
|
||||
$this->assertEquals($user2->id, $group1member2->userid);
|
||||
$this->assertEquals($user1->id, $group2member1->userid);
|
||||
|
||||
Reference in New Issue
Block a user