diff --git a/application/controllers/api/frontend/v1/LvPlan.php b/application/controllers/api/frontend/v1/LvPlan.php index b6c629fe1..3b6b55911 100644 --- a/application/controllers/api/frontend/v1/LvPlan.php +++ b/application/controllers/api/frontend/v1/LvPlan.php @@ -41,6 +41,7 @@ class LvPlan extends FHCAPI_Controller 'getLehreinheitStudiensemester' => self::PERM_LOGGED, 'studiensemesterDateInterval' => self::PERM_LOGGED, 'getLvPlanForStudiensemester' => self::PERM_LOGGED, + 'getLv' => self::PERM_LOGGED ]); $this->load->library('LogLib'); @@ -250,6 +251,41 @@ class LvPlan extends FHCAPI_Controller $this->terminateWithSuccess($result); } + /** + * get details for a lv + * @access public + * + * @param integer $lehrveranstaltung_id + * @return void + */ + public function getLv($lehrveranstaltung_id) + { + if (!$lehrveranstaltung_id && $lehrveranstaltung_id !== 0 && $lehrveranstaltung_id !== '0') + return show_404(); + + // Load Phrases + $this->loadPhrases(['lehre']); + + // Validation + $this->form_validation->set_data([ + 'lehrveranstaltung_id' => $lehrveranstaltung_id + ]); + + $this->form_validation->set_rules('lehrveranstaltung_id', $this->p->t('lehre', 'lehrveranstaltung_id'), 'integer'); + + if (!$this->form_validation->run()) + $this->terminateWithValidationErrors($this->form_validation->error_array()); + + // Get Data + $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); + + $result = $this->LehrveranstaltungModel->load($lehrveranstaltung_id); + + $result = $this->getDataOrTerminateWithError($result); + + return $this->terminateWithSuccess(current($result)); + } + /** * fetch moodle events * diff --git a/public/js/api/factory/lvPlan.js b/public/js/api/factory/lvPlan.js index 87e74cff5..0b179c9ba 100644 --- a/public/js/api/factory/lvPlan.js +++ b/public/js/api/factory/lvPlan.js @@ -87,4 +87,10 @@ export default { } }; }, + getLv(lehrveranstaltung_id) { + return { + method: 'get', + url: '/api/frontend/v1/LvPlan/getLv/' + lehrveranstaltung_id + }; + } }; \ No newline at end of file