adding the reservierungen to the room plannung

This commit is contained in:
SimonGschnell
2024-06-10 11:39:16 +02:00
parent 8442690bc7
commit 392d8f38d2
5 changed files with 89 additions and 16 deletions
@@ -34,7 +34,8 @@ class Stundenplan extends FHCAPI_Controller
parent::__construct([
'roomInformation' => self::PERM_LOGGED,
'Stunden' => self::PERM_LOGGED
'Stunden' => self::PERM_LOGGED,
'Reservierungen' => self::PERM_LOGGED
]);
$this->load->library('LogLib');
@@ -68,12 +69,16 @@ class Stundenplan extends FHCAPI_Controller
public function roomInformation()
{
//TODO please split this algorithm into multiple smaller function it is not really mantainable like this
// storing the get parameter in local variables
$ort_kurzbz = $this->input->get('ort_kurzbz', TRUE);
$start_date = $this->input->get('start_date', TRUE);
$end_date = $this->input->get('end_date', TRUE);
if(!$ort_kurzbz || !$start_date || !$end_date){
$this->terminateWithError("Missing parameters", self::ERROR_TYPE_GENERAL);
}
$this->addMeta("test_start_date",$start_date);
$this->addMeta("ort",$ort_kurzbz);
@@ -295,7 +300,6 @@ class Stundenplan extends FHCAPI_Controller
}
$this->groupTheCalendar($result);
//php start date
$phpStartDate = new DateTime($start_date);
@@ -309,9 +313,26 @@ class Stundenplan extends FHCAPI_Controller
}
private function groupTheCalendar($data){
public function Reservierungen()
{
}
$ort_kurzbz = $this->input->get('ort_kurzbz', TRUE);
$start_date = $this->input->get('start_date', TRUE);
$end_date = $this->input->get('end_date', TRUE);
if(!$ort_kurzbz || !$start_date || !$end_date){
$this->terminateWithError("Missing parameters", self::ERROR_TYPE_GENERAL);
}
$this->load->model('ressource/Reservierung_model', 'ReservierungModel');
$result = $this->ReservierungModel->getRoomReservierungen($ort_kurzbz, $start_date, $end_date);
if (isError($result))
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess(getData($result));
}
}
@@ -12,6 +12,23 @@ class Reservierung_model extends DB_Model
$this->pk = 'reservierung_id';
}
/**
* @param $uid
*
* @return stdClass
*/
public function getRoomReservierungen($ort_kurzbz, $start_date, $end_date)
{
$raum_reservierungen= $this->execReadOnlyQuery("
SELECT * FROM lehre.vw_reservierung res
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
", [$ort_kurzbz, $start_date, $end_date]);
return $raum_reservierungen;
}
/**
* @param $uid
*
@@ -32,7 +32,7 @@ class Stundenplan_model extends DB_Model
"*/
$raum_stundenplan= $this->execReadOnlyQuery("
SELECT 'stundenplan_eintrag' as eintrags_type, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz, CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, * FROM lehre.vw_stundenplan sp
SELECT CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, * FROM lehre.vw_stundenplan sp
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
", [$ort_kurzbz, $start_date, $end_date]);