This commit is contained in:
kindlm
2016-07-21 11:38:46 +02:00
3 changed files with 136 additions and 2 deletions
@@ -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
@@ -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
@@ -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();
}
}
}