From ac4561b91f628c023bd66bffc613afebc2c6076d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 16 Jul 2012 13:19:26 +0000 Subject: [PATCH] =?UTF-8?q?Inaktive=20Studierende=20bleiben=20noch=20in=20?= =?UTF-8?q?der=20TW=5FSTD=20Gruppe=20damit=20im=20CIS=20die=20Men=C3=BCpun?= =?UTF-8?q?kte=20f=C3=BCr=20Studierende=20erhalten=20bleiben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/mlists/mlists_generate.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index 7b7979922..13c112afc 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -482,9 +482,19 @@ $error_msg=''; flush(); setGeneriert('TW_STD'); echo 'TW_STD wird abgeglichen!
'; + + //Abbrecher bleiben noch 3 Wochen im Verteiler + //andere inaktive noch fuer 20 Wochen + //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)='TW_STD' - AND uid not in (SELECT uid FROM campus.vw_student WHERE aktiv)"; + AND uid not in + (SELECT uid FROM campus.vw_student WHERE aktiv + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval + )"; if($result = $db->db_query($sql_query)) { echo $db->db_affected_rows($result).' Eintraege entfernt
'; @@ -498,7 +508,11 @@ $error_msg=''; $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) SELECT uid,'TW_STD',now(),'mlists_generate' FROM campus.vw_student - WHERE aktiv + WHERE (aktiv + OR + (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)='TW_STD')"; if($result = $db->db_query($sql_query))