mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-15 11:09:28 +00:00
Added additional API Function to get current Bewerbungstermine
This commit is contained in:
@@ -24,8 +24,8 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
parent::__construct();
|
||||
// Load model BewerbungstermineModel
|
||||
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -34,11 +34,11 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
public function getBewerbungstermine()
|
||||
{
|
||||
$bewerbungstermineID = $this->get('bewerbungstermine_id');
|
||||
|
||||
|
||||
if (isset($bewerbungstermineID))
|
||||
{
|
||||
$result = $this->BewerbungstermineModel->load($bewerbungstermineID);
|
||||
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
@@ -46,7 +46,7 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
@@ -54,14 +54,14 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
{
|
||||
$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
|
||||
@@ -70,6 +70,40 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getByStudienplan()
|
||||
{
|
||||
$studienplan_id = $this->get('studienplan_id');
|
||||
|
||||
if (isset($studienplan_id) && isset($studienplan_id))
|
||||
{
|
||||
$result = $this->BewerbungstermineModel->loadWhere(array(
|
||||
'studienplan_id' => $studienplan_id
|
||||
));
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getCurrent()
|
||||
{
|
||||
$result = $this->BewerbungstermineModel->loadWhere(array(
|
||||
'beginn <=' => 'now()',
|
||||
'ende >=' => 'now()',
|
||||
));
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
@@ -85,7 +119,7 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
{
|
||||
$result = $this->BewerbungstermineModel->insert($this->post());
|
||||
}
|
||||
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
@@ -93,7 +127,7 @@ class Bewerbungstermine extends APIv1_Controller
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function _validate($bewerbungstermine = NULL)
|
||||
{
|
||||
return true;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
class Studiengang_model extends DB_Model
|
||||
{
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@@ -10,19 +10,19 @@ class Studiengang_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_studiengang';
|
||||
$this->pk = 'studiengang_kz';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function getAllForBewerbung()
|
||||
{
|
||||
// Checks if the operation is permitted by the API caller
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->getBerechtigungKurzbz('lehre.vw_studienplan'), 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->getBerechtigungKurzbz('lehre.vw_studienplan'), FHC_MODEL_ERROR);
|
||||
|
||||
|
||||
if (! $this->fhc_db_acl->isBerechtigt($this->getBerechtigungKurzbz('bis.tbl_lgartcode'), 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->getBerechtigungKurzbz('bis.tbl_lgartcode'), FHC_MODEL_ERROR);
|
||||
|
||||
|
||||
$allForBewerbungQuery = "SELECT DISTINCT studiengang_kz,
|
||||
typ,
|
||||
organisationseinheittyp_kurzbz,
|
||||
@@ -95,14 +95,14 @@ class Studiengang_model extends DB_Model
|
||||
WHERE t1.onlinebewerbung IS TRUE
|
||||
AND t1.aktiv IS TRUE
|
||||
ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC";
|
||||
|
||||
|
||||
$result = $this->db->query($allForBewerbungQuery);
|
||||
|
||||
|
||||
return $this->_success($result->result());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function getStudienplan($studiensemester_kurzbz, $ausbildungssemester, $aktiv, $onlinebewerbung)
|
||||
{
|
||||
@@ -112,11 +112,11 @@ class Studiengang_model extends DB_Model
|
||||
$this->addJoin("lehre.tbl_studienplan", "studienordnung_id");
|
||||
// Then join with table lehre.tbl_studienplan_semester on column studienplan_id
|
||||
$this->addJoin("lehre.tbl_studienplan_semester", "studienplan_id");
|
||||
|
||||
|
||||
// Ordering by studiengang_kz and studienplan_id
|
||||
$this->addOrder("public.tbl_studiengang.studiengang_kz");
|
||||
$this->addOrder("lehre.tbl_studienplan.studienplan_id");
|
||||
|
||||
|
||||
$result = $this->loadTree(
|
||||
"tbl_studiengang",
|
||||
array(
|
||||
@@ -132,12 +132,12 @@ class Studiengang_model extends DB_Model
|
||||
"studienplaene"
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function getStudiengangBewerbung()
|
||||
{
|
||||
@@ -149,30 +149,30 @@ class Studiengang_model extends DB_Model
|
||||
$this->addJoin("lehre.tbl_studienplan_semester ss", "studienplan_id");
|
||||
// Then join with table lehre.tbl_bewerbungsfrist on column studiensemester_kurzbz
|
||||
$this->addJoin(
|
||||
"public.tbl_bewerbungstermine b",
|
||||
"b.studiensemester_kurzbz = ss.studiensemester_kurzbz AND b.studienplan_id = ss.studienplan_id"
|
||||
"public.tbl_bewerbungstermine",
|
||||
"tbl_bewerbungstermine.studiensemester_kurzbz = ss.studiensemester_kurzbz AND tbl_bewerbungstermine.studienplan_id = ss.studienplan_id",
|
||||
"LEFT"
|
||||
);
|
||||
|
||||
// Ordering by studiengang_kz and studienplan_id
|
||||
$this->addOrder("public.tbl_studiengang.studiengang_kz");
|
||||
$this->addOrder("lehre.tbl_studienplan.studienplan_id");
|
||||
|
||||
|
||||
$result = $this->loadTree(
|
||||
"tbl_studiengang",
|
||||
array(
|
||||
"tbl_studienplan"
|
||||
),
|
||||
array(
|
||||
"public.tbl_studiengang.aktiv" => "true",
|
||||
"public.tbl_studiengang.onlinebewerbung" => "true",
|
||||
"b.beginn <= " => "NOW()",
|
||||
"b.ende >= " => "NOW()"
|
||||
),
|
||||
"public.tbl_studiengang.aktiv=true AND
|
||||
public.tbl_studiengang.onlinebewerbung=true
|
||||
AND ((tbl_bewerbungstermine.beginn <= now() AND tbl_bewerbungstermine.ende>=now()) OR tbl_bewerbungstermine.beginn is null)
|
||||
AND ss.studiensemester_kurzbz IN(SELECT distinct studiensemester_kurzbz FROM public.tbl_bewerbungstermine where beginn<=now() and ende>=now())
|
||||
AND ss.semester=1"
|
||||
,
|
||||
array(
|
||||
"studienplaene"
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user