MDL-66008 calendar: Remove duplicated call to library funciton
authorSimey Lameze <simey@moodle.com>
Tue, 25 Jun 2019 11:14:06 +0000 (19:14 +0800)
committerAdrian Greeve <abgreeve@gmail.com>
Mon, 12 Aug 2019 06:49:40 +0000 (14:49 +0800)
A duplicated call to calendar_get_allowed_event_types has
been removed.

calendar/classes/local/event/forms/create.php
calendar/externallib.php
calendar/lib.php

index ff9407b..90ebb35 100644 (file)
@@ -68,7 +68,7 @@ class create extends \moodleform {
         $editoroptions = !(empty($this->_customdata['editoroptions'])) ? $this->_customdata['editoroptions'] : null;
         $courseid = !(empty($this->_customdata['courseid'])) ? $this->_customdata['courseid'] : null;
 
-        $eventtypes = calendar_get_allowed_event_types($courseid);
+        $eventtypes = $this->_customdata['eventtypes'];
 
         if (in_array(true, $eventtypes, true) === false) {
             print_error('nopermissiontoupdatecalendar');
@@ -128,8 +128,8 @@ class create extends \moodleform {
         $eventtype = isset($data['eventtype']) ? $data['eventtype'] : null;
         $coursekey = ($eventtype == 'group') ? 'groupcourseid' : 'courseid';
         $courseid = (!empty($data[$coursekey])) ? $data[$coursekey] : null;
-        $eventtypes = calendar_get_allowed_event_types($courseid);
 
+        $eventtypes = $this->_customdata['eventtypes'];
         if (empty($eventtype) || !isset($eventtypes[$eventtype]) || $eventtypes[$eventtype] == false) {
             $errors['eventtype'] = get_string('invalideventtype', 'calendar');
         }
index 664dd28..2704bc4 100644 (file)
@@ -880,6 +880,7 @@ class core_calendar_external extends external_api {
         $courseid = (!empty($data[$coursekey])) ? $data[$coursekey] : null;
         $editoroptions = \core_calendar\local\event\forms\create::build_editor_options($context);
         $formoptions = ['editoroptions' => $editoroptions, 'courseid' => $courseid];
+        $formoptions['eventtypes'] = calendar_get_allowed_event_types($courseid);
         if ($courseid) {
             require_once($CFG->libdir . '/grouplib.php');
             $groupcoursedata = groups_get_course_data($courseid);
index b744caf..438ea5d 100644 (file)
@@ -3491,6 +3491,10 @@ function calendar_output_fragment_event_form($args) {
                 $formoptions['groups'][$groupid] = $groupdata->name;
             }
         }
+
+        // Let's check first which event types user can add.
+        $eventtypes = calendar_get_allowed_event_types($courseid);
+        $formoptions['eventtypes'] = $eventtypes;
         $mform = new \core_calendar\local\event\forms\create(
             null,
             $formoptions,
@@ -3501,9 +3505,6 @@ function calendar_output_fragment_event_form($args) {
             $data
         );
 
-        // Let's check first which event types user can add.
-        $eventtypes = calendar_get_allowed_event_types($courseid);
-
         // If the user is on course context and is allowed to add course events set the event type default to course.
         if (!empty($courseid) && !empty($eventtypes['course'])) {
             $data['eventtype'] = 'course';