diff --git a/application/controllers/api/frontend/v1/Stundenplan.php b/application/controllers/api/frontend/v1/Stundenplan.php index 2ec02fea9..4abff559c 100644 --- a/application/controllers/api/frontend/v1/Stundenplan.php +++ b/application/controllers/api/frontend/v1/Stundenplan.php @@ -18,6 +18,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); +use CI3_Events as Events; + class Stundenplan extends FHCAPI_Controller { @@ -28,6 +30,7 @@ class Stundenplan extends FHCAPI_Controller { parent::__construct([ + 'fetchMoodleEvents' => self::PERM_LOGGED, 'getRoomplan' => self::PERM_LOGGED, 'Stunden' => self::PERM_LOGGED, 'Reservierungen' => self::PERM_LOGGED, @@ -57,6 +60,21 @@ class Stundenplan extends FHCAPI_Controller //------------------------------------------------------------------------------------------------------------------ // Public methods + public function fetchMoodleEvents(){ + $this->load->library('form_validation'); + $this->form_validation->set_data($_GET); + $this->form_validation->set_rules('timestart',"timestart","required"); + $this->form_validation->set_rules('timeend',"timeend","required"); + if($this->form_validation->run() === FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array()); + + $timestart = intval($this->input->get('timestart', TRUE)); + $timeend = intval($this->input->get('timeend', TRUE)); + Events::trigger('moodleCalendarEvents', + ['timestart'=>$timestart,'timeend'=>$timeend, 'username'=>getAuthUID()] + ); + $this->terminateWithSuccess(json_decode(ob_get_contents())); + } + //TODO: delete this function if we don't use the old calendar export endpoints anymore public function studiensemesterDateInterval($date){ $this->load->model('organisation/Studiensemester_model','StudiensemesterModel'); diff --git a/public/js/api/stundenplan.js b/public/js/api/stundenplan.js index 94dad7ffe..388db5454 100644 --- a/public/js/api/stundenplan.js +++ b/public/js/api/stundenplan.js @@ -42,12 +42,10 @@ export default { {} ); }, - getMoodleEventsByUserid(username, timestart, timeend) { + getMoodleEventsByUserid(timestart, timeend) { return this.$fhcApi.get( - FHC_JS_DATA_STORAGE_OBJECT.app_root + - `addons/moodle/cis/get_events_by_userid.php`, + `/api/frontend/v1/Stundenplan/fetchMoodleEvents`, { - username: username, timestart: timestart, timeend: timeend, } diff --git a/public/js/components/Cis/Stundenplan/Stundenplan.js b/public/js/components/Cis/Stundenplan/Stundenplan.js index 053b1c3b9..889a3f8bf 100644 --- a/public/js/components/Cis/Stundenplan/Stundenplan.js +++ b/public/js/components/Cis/Stundenplan/Stundenplan.js @@ -250,7 +250,7 @@ const Stundenplan = { let date_start = Math.floor(new Date(start_date).getTime() / 1000); let date_end = Math.floor(new Date(end_date).getTime() / 1000); - return this.$fhcApi.factory.stundenplan.getMoodleEventsByUserid('io23m005', date_start, date_end).then((response) => response.events).then(events => { + return this.$fhcApi.factory.stundenplan.getMoodleEventsByUserid(date_start, date_end).then((response) => response?.data?.events).then(events => { let data =events.map(event =>{ const event_start_date = new Date(event.timestart); const event_end_date = new Date(event.timeend); diff --git a/public/js/components/DashboardWidget/Stundenplan.js b/public/js/components/DashboardWidget/Stundenplan.js index 3bffb478e..006acd306 100644 --- a/public/js/components/DashboardWidget/Stundenplan.js +++ b/public/js/components/DashboardWidget/Stundenplan.js @@ -170,7 +170,7 @@ export default { let date_start = Math.floor(new Date(start_date).getTime() / 1000); let date_end = Math.floor(new Date(end_date).getTime() / 1000); - return this.$fhcApi.factory.stundenplan.getMoodleEventsByUserid('io23m005', date_start, date_end).then((response) => response.events).then(events => { + return this.$fhcApi.factory.stundenplan.getMoodleEventsByUserid(date_start, date_end).then((response) => response?.data?.events).then(events => { let data = events.map(event => { const event_start_date = new Date(event.timestart); const event_end_date = new Date(event.timeend); @@ -230,7 +230,7 @@ export default {
- {{event.topic}} + {{event.topic}}
@@ -250,7 +250,7 @@ export default {