mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
adds the lector and the gruppe as objects to the endpoint result instead of just strings
This commit is contained in:
@@ -35,8 +35,48 @@ class Stundenplan extends Auth_Controller
|
||||
if (isError($result))
|
||||
return $this->outputJsonError(getError($result));
|
||||
*/
|
||||
$res = $this->StundenplanModel->stundenPlanGruppierung($this->StundenplanModel->getStudenPlanQuery(get_uid()));
|
||||
$res = getData($res);
|
||||
|
||||
|
||||
$res = $this->StundenplanModel->stundenplanGruppierung($this->StundenplanModel->getStudenPlanQuery(get_uid()));
|
||||
|
||||
$res = getData($res);
|
||||
|
||||
// get the benutzer object for the lektor of the lv
|
||||
$this->load->model('ressource/Mitarbeiter_model','MitarbeiterModel');
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
foreach($res as $item){
|
||||
$lektor_obj_array = array();
|
||||
$gruppe_obj_array = array();
|
||||
foreach($item->lektor as $lv_lektor){
|
||||
$lektor_obj = $this->MitarbeiterModel->loadWhere(["kurzbz"=>$lv_lektor]);
|
||||
if (isError($lektor_obj)) {
|
||||
$this->outputJsonError(getError($lektor_obj));
|
||||
}
|
||||
$lektor_obj = getData($lektor_obj);
|
||||
$lektor_obj_array[] = $lektor_obj;
|
||||
}
|
||||
foreach ($item->gruppe as $lv_gruppe) {
|
||||
$lv_gruppe = str_replace("(","",$lv_gruppe);
|
||||
$lv_gruppe = str_replace(")", "", $lv_gruppe);
|
||||
$lv_gruppe_array = explode(",",$lv_gruppe);
|
||||
$gruppe = str_replace("\"","",$lv_gruppe_array[0]);
|
||||
$verband = $lv_gruppe_array[1];
|
||||
$semester = $lv_gruppe_array[2];
|
||||
$studiengang_kz = $lv_gruppe_array[3];
|
||||
$lehrverband_obj = $this->LehrverbandModel->loadWhere(["gruppe" => $gruppe, "verband" => $verband, "semester" => $semester, "studiengang_kz" => $studiengang_kz]);
|
||||
if (isError($lehrverband_obj)) {
|
||||
$this->outputJsonError(getError($lehrverband_obj));
|
||||
}
|
||||
$lehrverband_obj = getData($lehrverband_obj);
|
||||
$gruppe_obj_array[] = $lehrverband_obj;
|
||||
}
|
||||
//replace the array of lektor strings with the objects of lektor information
|
||||
$item->lektor = $lektor_obj_array;
|
||||
//replace the array of gruppen string with the lehrverband object information
|
||||
$item->gruppe = $gruppe_obj_array;
|
||||
|
||||
}
|
||||
|
||||
$this->outputJsonSuccess($res);
|
||||
}
|
||||
|
||||
|
||||
@@ -142,8 +142,11 @@ class Stundenplan_model extends DB_Model
|
||||
*/
|
||||
public function stundenplanGruppierung($stundenplanViewQuery)
|
||||
{
|
||||
|
||||
|
||||
/* CASE
|
||||
WHEN gruppe_kurzbz IS NOT NULL THEN gruppe_kurzbz
|
||||
ELSE CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/'))
|
||||
END as gruppe, */
|
||||
$gruppierteEvents = $this->execReadOnlyQuery("
|
||||
SELECT
|
||||
|
||||
@@ -151,23 +154,26 @@ class Stundenplan_model extends DB_Model
|
||||
unr,datum, stunde,
|
||||
CONCAT(lehrfach,'-',lehrform) as topic,
|
||||
'' as beschreibung,
|
||||
string_agg(DISTINCT gruppe, '/') as gruppe,
|
||||
string_agg(DISTINCT lektor, '/') as lektor,
|
||||
ort_kurzbz, studiengang_kz, titel,'' as beschreibung,lehreinheit_id,lehrfach_id,anmerkung,fix,lehrveranstaltung_id,stg_kurzbzlang,stg_bezeichnung,stg_typ,fachbereich_kurzbz,lehrfach,lehrfach_bez,farbe,lehrform,anmerkung_lehreinheit
|
||||
array_agg(DISTINCT (gruppe,verband,semester,studiengang_kz)) as gruppe,
|
||||
array_agg(DISTINCT gruppe_bezeichnung) as gruppe_bezeichnung,
|
||||
array_agg(DISTINCT lektor) as lektor,
|
||||
|
||||
ort_kurzbz, studiengang_kz, titel, lehrform, lehrfach, semester, verband
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
unr,datum, stunde,
|
||||
CASE
|
||||
WHEN gruppe_kurzbz IS NOT NULL THEN gruppe_kurzbz
|
||||
ELSE CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/'))
|
||||
END as gruppe,
|
||||
|
||||
CASE
|
||||
WHEN sp.mitarbeiter_kurzbz IS NOT NULL THEN sp.mitarbeiter_kurzbz
|
||||
ELSE lektor
|
||||
END as lektor,
|
||||
ort_kurzbz, studiengang_kz, titel,'' as beschreibung,lehreinheit_id,lehrfach_id,anmerkung,fix,lehrveranstaltung_id,stg_kurzbzlang,stg_bezeichnung,stg_typ,fachbereich_kurzbz,lehrfach,lehrfach_bez,farbe,lehrform,anmerkung_lehreinheit
|
||||
CASE
|
||||
WHEN gruppe_kurzbz IS NOT NULL THEN gruppe_kurzbz
|
||||
ELSE CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/'))
|
||||
END as gruppe_bezeichnung,
|
||||
ort_kurzbz, studiengang_kz, titel,'' as beschreibung,lehreinheit_id,lehrfach_id,anmerkung,fix,lehrveranstaltung_id,stg_kurzbzlang,stg_bezeichnung,stg_typ,fachbereich_kurzbz,lehrfach,lehrfach_bez,farbe,lehrform,anmerkung_lehreinheit,gruppe, verband, semester
|
||||
|
||||
FROM (".$stundenplanViewQuery.") sp
|
||||
|
||||
@@ -175,7 +181,7 @@ class Stundenplan_model extends DB_Model
|
||||
|
||||
GROUP BY
|
||||
|
||||
ort_kurzbz,unr, datum, stunde, lehreinheit_id, lehrfach_id,studiengang_kz,titel,anmerkung,fix,lehrveranstaltung_id,stg_kurzbzlang,stg_bezeichnung,stg_typ,fachbereich_kurzbz,lehrfach,lehrfach_bez,farbe,lehrform,anmerkung_lehreinheit
|
||||
unr, datum, stunde, lehrfach, lehrform, ort_kurzbz, titel, studiengang_kz, lehrform, lehrfach, semester, verband
|
||||
|
||||
ORDER BY datum, stunde
|
||||
");
|
||||
|
||||
@@ -54,9 +54,10 @@ const app = Vue.createApp({
|
||||
<hr>
|
||||
<fhc-calendar v-slot="{event, day}" :events="events" initial-mode="week" show-weeks>
|
||||
<div class="d-flex flex-column align-items-center justify-content-evenly h-100">
|
||||
<!--<span>{{JSON.stringify(event.orig,null,2)}}</span>-->
|
||||
<span>{{event.orig.title}}</span>
|
||||
<span>{{event.orig.ort_kurzbz}}</span>
|
||||
<span>{{event.orig.mitarbeiter_kurzbz}}</span>
|
||||
<span>{{event.orig.lektor}}</span>
|
||||
</div>
|
||||
</fhc-calendar>
|
||||
`
|
||||
|
||||
@@ -113,7 +113,6 @@ export default {
|
||||
this.$refs.calendarModal.show();
|
||||
})
|
||||
|
||||
console.log(day,"this is the day")
|
||||
this.$emit(day[0], day[1]);
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user