diff --git a/application/controllers/api/v1/crm/Bewerbungstermine.php b/application/controllers/api/v1/crm/Bewerbungstermine.php index 6c2fbd79c..cc68c86b0 100644 --- a/application/controllers/api/v1/crm/Bewerbungstermine.php +++ b/application/controllers/api/v1/crm/Bewerbungstermine.php @@ -46,6 +46,29 @@ class Bewerbungstermine extends APIv1_Controller $this->response(); } } + + /** + * @return void + */ + public function getByStudiengangStudiensemester() + { + $studiengang_kz = $this->get('studiengang_kz'); + $studiensemester_kurzbz = $this->get('studiensemester_kurzbz'); + + if (isset($studiengang_kz) && isset($studiensemester_kurzbz)) + { + $result = $this->BewerbungstermineModel->loadWhere(array( + 'studiengang_kz' => $studiengang_kz, + 'studiensemester_kurzbz' => $studiensemester_kurzbz, + )); + + $this->response($result, REST_Controller::HTTP_OK); + } + else + { + $this->response(); + } + } /** * @return void diff --git a/application/controllers/api/v1/crm/Dokumentstudiengang.php b/application/controllers/api/v1/crm/Dokumentstudiengang.php index 35f86ae10..c30a1704e 100644 --- a/application/controllers/api/v1/crm/Dokumentstudiengang.php +++ b/application/controllers/api/v1/crm/Dokumentstudiengang.php @@ -47,6 +47,43 @@ class Dokumentstudiengang extends APIv1_Controller $this->response(); } } + + /** + * @return void + */ + public function getDokumentstudiengangByStudiengang_kz() + { + $studiengang_kz = $this->get('studiengang_kz'); + $onlinebewerbung = $this->get('onlinebewerbung'); + $pflicht = $this->get('pflicht'); + + if (isset($studiengang_kz)) + { + $result = $this->DokumentstudiengangModel->addJoin("public.tbl_dokument", "dokument_kurzbz"); + if(is_object($result) && $result->error == EXIT_SUCCESS) + { + $parameterArray = array("studiengang_kz" => $studiengang_kz); + + if( isset($onlinebewerbung)) + { + $parameterArray["onlinebewerbung"] = $onlinebewerbung; + } + + if( isset($pflicht)) + { + $parameterArray["pflicht"] = $pflicht; + } + + $result = $this->DokumentstudiengangModel->loadWhere($parameterArray); + } + + $this->response($result, REST_Controller::HTTP_OK); + } + else + { + $this->response(); + } + } /** * @return void diff --git a/application/controllers/api/v1/organisation/Studiengang2.php b/application/controllers/api/v1/organisation/Studiengang2.php index 6a95d9700..44e213ccf 100644 --- a/application/controllers/api/v1/organisation/Studiengang2.php +++ b/application/controllers/api/v1/organisation/Studiengang2.php @@ -23,8 +23,6 @@ class Studiengang2 extends APIv1_Controller parent::__construct(); // Load model PersonModel $this->load->model('organisation/studiengang_model', 'StudiengangModel'); - - } public function getStudiengang() @@ -47,4 +45,80 @@ class Studiengang2 extends APIv1_Controller { $this->response($this->StudiengangModel->getAllForBewerbung(), REST_Controller::HTTP_OK); } + + public function getStudiengangStudienplan() + { + $studiensemester_kurzbz = $this->get('studiensemester_kurzbz'); + $ausbildungssemester = $this->get('ausbildungssemester'); + $aktiv = $this->get('aktiv'); + $onlinebewerbung = $this->get('onlinebewerbung'); + + if (isset($studiensemester_kurzbz) && isset($ausbildungssemester)) + { + $this->load->model('organisation/studienplan_model', 'StudienplanModel'); + $result = $this->StudienplanModel->addJoin('lehre.tbl_studienplan_semester', 'studienplan_id'); + if ($result->error == EXIT_SUCCESS) + { + $result = $this->StudienplanModel->addJoin('lehre.tbl_studienordnung', 'studienordnung_id'); + if ($result->error == EXIT_SUCCESS) + { + $this->StudienplanModel->addSelect('tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz'); + + $this->StudienplanModel->addOrder('lehre.tbl_studienordnung.studiengang_kz'); + + if (!isset($aktiv)) $aktiv = 'TRUE'; + if (!isset($onlinebewerbung)) $onlinebewerbung = 'TRUE'; + + $resultStudienplan = $this->StudienplanModel->loadWhere( + array('semester' => $ausbildungssemester, + 'studiensemester_kurzbz' => $studiensemester_kurzbz) + ); + + if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS && + is_array($resultStudienplan->retval) && count($resultStudienplan->retval) > 0) + { + $studiengangCount = 0; + $prevStudiengang_kz = ''; + $studiengangArray = array(); + + for ($i = 0; $i < count($resultStudienplan->retval); $i++) + { + if ($prevStudiengang_kz == $resultStudienplan->retval[$i]->studiengang_kz) + { + if (isset($studiengangArray[$studiengangCount - 1]) && is_array($studiengangArray[$studiengangCount - 1]->studienplaene)) + { + array_push($studiengangArray[$studiengangCount - 1]->studienplaene, $resultStudienplan->retval[$i]); + } + } + else + { + $resultStudiengang = $this->StudiengangModel->loadWhere( + array('studiengang_kz' => $resultStudienplan->retval[$i]->studiengang_kz, + 'aktiv' => $aktiv, + 'onlinebewerbung' => $onlinebewerbung) + ); + + if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS && + is_array($resultStudiengang->retval) && count($resultStudiengang->retval) > 0) + { + $resultStudiengang->retval[0]->studienplaene = array($resultStudienplan->retval[$i]); + $studiengangArray[$studiengangCount++] = $resultStudiengang->retval[0]; + } + + $prevStudiengang_kz = $resultStudienplan->retval[$i]->studiengang_kz; + } + } + + $result = $this->_success($studiengangArray); + } + } + } + + $this->response($result, REST_Controller::HTTP_OK); + } + else + { + $this->response(); + } + } } \ No newline at end of file