test api endpoint to include the lvinfo menu link

This commit is contained in:
SimonGschnell
2024-07-02 14:50:54 +02:00
parent 3d2ea2821e
commit 19753a9ef7
5 changed files with 64 additions and 1 deletions
@@ -19,11 +19,12 @@ class Stundenplan_model extends DB_Model
*/
public function loadForUid($uid)
{
$this->addSelect('sp.*');
$this->addSelect(['sp.*','le.studiensemester_kurzbz']);
$this->db->join('public.tbl_benutzergruppe bg', 'sp.gruppe_kurzbz=bg.gruppe_kurzbz AND bg.uid=?', 'LEFT', false);
$this->addJoin('public.tbl_studiensemester ss1', 'bg.studiensemester_kurzbz=ss1.studiensemester_kurzbz AND ss1.start<=sp.datum AND ss1.ende>=sp.datum', 'LEFT');
$this->db->join('public.tbl_studentlehrverband slv', "sp.studiengang_kz=slv.studiengang_kz AND slv.student_uid=? AND (slv.semester=sp.semester OR sp.semester IS NULL) AND (slv.verband=sp.verband OR sp.verband IS NULL OR sp.verband='' OR sp.verband='0') AND (slv.gruppe=sp.gruppe OR sp.gruppe IS NULL OR sp.gruppe='' OR sp.gruppe='0') AND sp.gruppe_kurzbz IS NULL", 'LEFT', false);
$this->addJoin('public.tbl_studiensemester ss2', 'slv.studiensemester_kurzbz=ss2.studiensemester_kurzbz AND ss2.start<=sp.datum AND ss2.ende>=sp.datum', 'LEFT');
$this->addJoin('lehre.tbl_lehreinheit le', 'le.lehreinheit_id=sp.lehreinheit_id', 'LEFT');
$this->db->or_where('ss1.studiensemester_kurzbz IS NOT NULL', null, false);
$this->db->or_where('ss2.studiensemester_kurzbz IS NOT NULL', null, false);
+39
View File
@@ -1122,4 +1122,43 @@ class lehreinheit extends basis_db
return $ret;
}
public function lehreinheitInfo($lvid,$angezeigtes_stsem,$lehrfach_id)
{
$qry = "SELECT * FROM (SELECT distinct on(uid) vorname, nachname, tbl_benutzer.uid as uid,
CASE WHEN lehrfunktion_kurzbz='LV-Leitung' THEN true ELSE false END as lvleiter
FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person
WHERE
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
tbl_person.person_id=tbl_benutzer.person_id AND
lehrveranstaltung_id=".$this->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
studiensemester_kurzbz=".$this->db_add_param($angezeigtes_stsem);
if($lehrfach_id!='')
$qry.=" AND tbl_lehreinheit.lehrfach_id=".$this->db_add_param($lehrfach_id);
$qry.=" ORDER BY uid, lvleiter desc) as a ORDER BY lvleiter desc, nachname, vorname";
$result = $this->db_query($qry);
if (!$result)
{
$this->errormsg=$this->db_last_error().$qry;
return false;
}
$ret = array();
while($row = $this->db_fetch_object($result))
{
$ret[] = $row;
}
return $ret;
}
}
+10
View File
@@ -0,0 +1,10 @@
export default {
getAddonLink(addon, lehrveranstaltung_id, studiensemester_kurzbz) {
return this.$fhcApi.get(
FHC_JS_DATA_STORAGE_OBJECT.app_root +
`/addons/${addon}/cis/testapi.php`,
{ lehrveranstaltung_id: lehrveranstaltung_id,
studiensemester_kurzbz: studiensemester_kurzbz }
);
},
}
+2
View File
@@ -23,6 +23,7 @@ import studstatus from "./studstatus.js";
import ort from "./ort.js";
import cms from "./cms.js";
import lehre from "./lehre.js";
import addons from "./addons.js";
export default {
search,
@@ -33,4 +34,5 @@ export default {
ort,
cms,
lehre,
addons,
};
@@ -32,9 +32,20 @@ export default {
// prepare the mailto link with all the emails from the students of the lv
this.emailAnStudierende = "mailto:"+res.data.join(",");
});
this.$fhcApi.factory.addons.getAddonLink("lvinfo",this.event.lehrveranstaltung_id, this.event.studiensemester_kurzbz).then(res =>{
console.log(res,"this is the result from the api call");
});
},
},
mounted(){
// make axios call to the active addons
/* $addon_obj->loadAddons();
foreach($addon_obj->result as $addon)
{
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) */
this.modal = this.$refs.modalContainer;
},