changes the LVUebersicht and the endpoint

This commit is contained in:
SimonGschnell
2024-07-09 15:28:28 +02:00
parent 8a44a9e1af
commit 56080f6681
28 changed files with 58 additions and 789 deletions
@@ -271,11 +271,12 @@ class LvMenu extends FHCAPI_Controller
$params
);
// Menu sortieren
// ##########################################################################################
foreach ($menu as $key => $row){
$pos[$key] = $row['position'];
$menu[$key]['icon'] = base_url(str_replace("../../..","",$row['icon']));
}
array_multisort($pos, SORT_ASC, SORT_NUMERIC, $menu);
@@ -574,19 +575,32 @@ class LvMenu extends FHCAPI_Controller
// get the data of the database result and map the array of objects to their object property
$studentMails = $this->getDataOrTerminateWithError($studentMails, 'No student mails found');
$studentMails = array_map(
function($mail_obj){
return $mail_obj->mail;
},$studentMails);
$mailto = implode(',',$studentMails);
//todo logic for nomail is missing
if($nomail!='')
$link_onclick='alert(\''.$p->t('lehre/keinMailverteiler',array($nomail)).'\');';
else
$link_onclick='';
// emails used to create the mailto link
$mailtoMails = array();
$noMails = array();
$noMailLink = FALSE;
foreach($studentMails as $mail){
if($mail->mail == 'nomail'){
$noMails[]=$mail->gruppe_kurzbz;
$noMailLink= TRUE;
}else{
$mailtoMails[]=$mail->mail;
}
}
if($noMailLink){
$link_onclick='alert(\''.$p->t('lehre/keinMailverteiler',array(implode(" ",$noMails))).'\');';
}else{
$link_onclick='';
}
$mailto .= implode(',',$mailtoMails);
$menu[]=array
(
'id'=>'core_menu_mailanstudierende',
@@ -125,15 +125,22 @@ class Lehreinheit_model extends DB_Model
// logic used from cis_menu_lv.inc.php line 335
return $this->execReadOnlyQuery("
SELECT
CASE
WHEN gruppe_kurzbz !='' THEN LOWER(gruppe_kurzbz || '@' || ?)
ELSE LOWER(stg_typ || stg_kurzbz || semester || TRIM(verband) || TRIM(gruppe) || '@' || ?)
END AS mail
gruppe_kurzbz,
CASE
WHEN nomail = TRUE THEN 'nomail'
WHEN gruppe_kurzbz !='' THEN LOWER(gruppe_kurzbz || '@' || ?)
ELSE LOWER(stg_typ || stg_kurzbz || semester || TRIM(verband) || TRIM(gruppe) || '@' || ?)
END AS mail
FROM
(
SELECT
distinct vw_lehreinheit.studiensemester_kurzbz, vw_lehreinheit.stg_kurzbz, vw_lehreinheit.stg_typ, vw_lehreinheit.semester,
COALESCE(vw_lehreinheit.verband,'') as verband, COALESCE(vw_lehreinheit.gruppe,'') as gruppe, vw_lehreinheit.gruppe_kurzbz, tbl_gruppe.mailgrp
COALESCE(vw_lehreinheit.verband,'') as verband, COALESCE(vw_lehreinheit.gruppe,'') as gruppe, vw_lehreinheit.gruppe_kurzbz, tbl_gruppe.mailgrp,
CASE
WHEN mailgrp = TRUE OR mailgrp IS NULL THEN FALSE
ELSE TRUE
END as nomail
FROM campus.vw_lehreinheit
LEFT JOIN public.tbl_gruppe USING(gruppe_kurzbz)
WHERE
@@ -143,7 +150,7 @@ class Lehreinheit_model extends DB_Model
vw_lehreinheit.studiensemester_kurzbz =
(select distinct studiensemester_kurzbz from campus.vw_lehreinheit where lehreinheit_id=?)
AND (vw_lehreinheit.gruppe_kurzbz IS NULL OR
(vw_lehreinheit.gruppe_kurzbz IS NOT NULL AND tbl_gruppe.mailgrp = TRUE AND (SELECT COUNT(*) FROM public.tbl_benutzergruppe where gruppe_kurzbz = vw_lehreinheit.gruppe_kurzbz AND studiensemester_kurzbz = vw_lehreinheit.studiensemester_kurzbz) > 0))
(vw_lehreinheit.gruppe_kurzbz IS NOT NULL AND (SELECT COUNT(*) FROM public.tbl_benutzergruppe where gruppe_kurzbz = vw_lehreinheit.gruppe_kurzbz AND studiensemester_kurzbz = vw_lehreinheit.studiensemester_kurzbz) > 0))
) AS subquery
+1 -2
View File
@@ -14,8 +14,7 @@ $this->load->view('templates/CISHTML-Header', $includesArray);
<div id="content">
<h2>Dashboard</h2>
<hr>
<fhc-dashboard active_addons="<?php echo ACTIVE_ADDONS ?>"
mail_studierende="<?php echo !defined('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN ?>" dashboard="CIS"/>
<fhc-dashboard dashboard="CIS"/>
</div>
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>