From 625b3c74c42a6a2299156abeae0a13f52e4d3265 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 7 Sep 2022 09:22:06 +0200 Subject: [PATCH 01/17] =?UTF-8?q?Bewerbungstool:=20keine=20ZGV=20bei=20Abb?= =?UTF-8?q?rechern,=20Ber=C3=BCcksichtigung=20studentstatus=20f=C3=BCr=20D?= =?UTF-8?q?okumenthandling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/prestudent.class.php | 63 +++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index a958120cb..f5d59fd73 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -588,7 +588,7 @@ class prestudent extends person AND status_kurzbz = 'Interessent' - AND + AND NOT EXISTS ( SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Abgewiesener' )"; @@ -2335,15 +2335,18 @@ class prestudent extends person return false; } - - $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent + $qry = "SELECT count(*) as anzahl + FROM public.tbl_prestudent pt JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING (studiengang_kz) WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND NOT EXISTS + (SELECT * FROM public.tbl_prestudentstatus ps + WHERE ps.prestudent_id = pt.prestudent_id + AND status_kurzbz not in ('Abbrecher')) AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student') AND typ in ('b','m','d')"; - if ($this->db_query($qry)) { if ($row = $this->db_fetch_object()) @@ -2372,6 +2375,58 @@ class prestudent extends person } } + /** + * Prueft, ob eine Person bereits einmal auf der FHTW Studierend war + * @param int $person_id ID der zu überprüfenden Person. + * @return true wenn vorhanden + * false wenn nicht vorhanden + * false und errormsg wenn Fehler aufgetreten ist + */ +public function isPastStudent($person_id) +{ + if (!is_numeric($person_id)) + { + $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT count(*) as anzahl + FROM public.tbl_prestudent pt + JOIN public.tbl_prestudentstatus USING (prestudent_id) + JOIN public.tbl_studiengang USING (studiengang_kz) + WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND status_kurzbz in ('Student') + AND typ in ('b','m','d') + "; + + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + if ($row->anzahl > 0) + { + $this->errormsg = ''; + return true; + } + else + { + $this->errormsg = ''; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } +} + /** * Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I) * @param int $person_id Personenkennzeichen. From 604592cdd1d485498e6a0601b9cb2c1535dbf462 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 7 Sep 2022 15:27:47 +0200 Subject: [PATCH 02/17] Bewerbungstool: neue Funktion isPastAbbrecher() --- include/prestudent.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index f5d59fd73..cc48cd17d 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2376,13 +2376,13 @@ class prestudent extends person } /** - * Prueft, ob eine Person bereits einmal auf der FHTW Studierend war + * Prueft, ob eine Person Abbrecher war * @param int $person_id ID der zu überprüfenden Person. * @return true wenn vorhanden * false wenn nicht vorhanden * false und errormsg wenn Fehler aufgetreten ist */ -public function isPastStudent($person_id) +public function isPastAbbrecher($person_id) { if (!is_numeric($person_id)) { @@ -2395,7 +2395,7 @@ public function isPastStudent($person_id) JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING (studiengang_kz) WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." - AND status_kurzbz in ('Student') + AND status_kurzbz in ('Abbrecher') AND typ in ('b','m','d') "; From 3570b2c04dd80e222ebc0e77454db999fbd262bc Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 21 Sep 2022 12:54:41 +0200 Subject: [PATCH 03/17] =?UTF-8?q?BT:=20Adaptierung=20Pr=C3=BCfung=20auf=20?= =?UTF-8?q?Abbrecher=20auf=20aktuellen=20Prestudentstatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/prestudent.class.php | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index cc48cd17d..9ba52dccd 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2336,15 +2336,10 @@ class prestudent extends person } $qry = "SELECT count(*) as anzahl - FROM public.tbl_prestudent pt + FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING (studiengang_kz) WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." - AND NOT EXISTS - (SELECT * FROM public.tbl_prestudentstatus ps - WHERE ps.prestudent_id = pt.prestudent_id - AND status_kurzbz not in ('Abbrecher')) - AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student') AND typ in ('b','m','d')"; if ($this->db_query($qry)) @@ -2378,11 +2373,11 @@ class prestudent extends person /** * Prueft, ob eine Person Abbrecher war * @param int $person_id ID der zu überprüfenden Person. - * @return true wenn vorhanden + * @return true wenn letzter Status Abbrecher und nicht Student ist * false wenn nicht vorhanden * false und errormsg wenn Fehler aufgetreten ist */ -public function isPastAbbrecher($person_id) +public function isAbbrecher($person_id) { if (!is_numeric($person_id)) { @@ -2390,20 +2385,22 @@ public function isPastAbbrecher($person_id) return false; } - $qry = "SELECT count(*) as anzahl - FROM public.tbl_prestudent pt - JOIN public.tbl_prestudentstatus USING (prestudent_id) - JOIN public.tbl_studiengang USING (studiengang_kz) - WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." - AND status_kurzbz in ('Abbrecher') - AND typ in ('b','m','d') + $qry = "SELECT s.status_kurzbz + FROM public.tbl_prestudent + JOIN public.tbl_prestudentstatus s USING (prestudent_id) + JOIN public.tbl_studiengang USING (studiengang_kz) + WHERE person_id = ".$this->db_add_param($person_id)." + AND status_kurzbz in ('Abbrecher','Student') + AND typ in ('b','m','d') + ORDER BY s.bestaetigtam DESC NULLS LAST, s.insertamum DESC + LIMIT 1 "; if ($this->db_query($qry)) { if ($row = $this->db_fetch_object()) { - if ($row->anzahl > 0) + if ($row->status_kurzbz == 'Abbrecher') { $this->errormsg = ''; return true; From b4d86744f21c9569544f2db986b5e318752f990a Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 30 Sep 2022 12:50:33 +0200 Subject: [PATCH 04/17] - fas zgv statt kurzbz auf bezeichnung --- content/student/studentdetailoverlay.xul.php | 12 ++++++------ rdf/zgv.rdf.php | 2 +- rdf/zgvdoktor.rdf.php | 2 +- rdf/zgvmaster.rdf.php | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index 99b665cb2..279d194c5 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -355,7 +355,7 @@ echo ''; @@ -364,7 +364,7 @@ echo ''; @@ -425,7 +425,7 @@ echo ''; @@ -434,7 +434,7 @@ echo ''; @@ -497,7 +497,7 @@ echo ''; @@ -506,7 +506,7 @@ echo ''; diff --git a/rdf/zgv.rdf.php b/rdf/zgv.rdf.php index a3ce1225d..ce09c6c68 100644 --- a/rdf/zgv.rdf.php +++ b/rdf/zgv.rdf.php @@ -58,7 +58,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true') '; } -$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz'; +$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_bez'; $db = new basis_db(); if($db->db_query($qry)) diff --git a/rdf/zgvdoktor.rdf.php b/rdf/zgvdoktor.rdf.php index 38dcec500..4201e8562 100644 --- a/rdf/zgvdoktor.rdf.php +++ b/rdf/zgvdoktor.rdf.php @@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true') '; } -$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code'; +$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_bez'; $db = new basis_db(); if($db->db_query($qry)) diff --git a/rdf/zgvmaster.rdf.php b/rdf/zgvmaster.rdf.php index b84af2c71..f8b643ee0 100644 --- a/rdf/zgvmaster.rdf.php +++ b/rdf/zgvmaster.rdf.php @@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true') '; } -$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_code'; +$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_bez'; $db = new basis_db(); if($db->db_query($qry)) From 382da823e4e22f3464bca656c425eee0643850cd Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 14 Oct 2022 16:12:41 +0200 Subject: [PATCH 05/17] Erweiterung Funktion existsZGV um LastStatusPrestudent --- include/prestudent.class.php | 113 +++++++++++------------------------ 1 file changed, 34 insertions(+), 79 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 9ba52dccd..cd7eece35 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2335,94 +2335,49 @@ class prestudent extends person return false; } - $qry = "SELECT count(*) as anzahl - FROM public.tbl_prestudent - JOIN public.tbl_prestudentstatus USING (prestudent_id) - JOIN public.tbl_studiengang USING (studiengang_kz) - WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." - AND typ in ('b','m','d')"; - if ($this->db_query($qry)) - { - if ($row = $this->db_fetch_object()) - { - if ($row->anzahl > 0) + echo $qry = " + SELECT t.prestudent_id, t.status_kurzbz, t.bestaetigtam FROM + ( + SELECT prestudent_id, status_kurzbz, bestaetigtam, + RANK() OVER (PARTITION BY prestudent_id ORDER BY bestaetigtam DESC) stat_rank + FROM public.tbl_prestudent + JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE person_id= ".$this->db_add_param($person_id, FHC_INTEGER)." + AND bestaetigtam is not NULL + AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student','Abbrecher') + ) as t + WHERE stat_rank = 1"; + + $db = new basis_db(); + $arrayPrestudents = array(); + + if ($db->db_query($qry)) { - $this->errormsg = ''; - return true; + $num_rows = $db->db_num_rows(); + + if ($num_rows > 0) + { + while ($row = $db->db_fetch_object()) + { + if ($row->status_kurzbz != 'Abbrecher') + $arrayPrestudents[] = $row->status_kurzbz; + } + if ($arrayPrestudents) + { + return true; + } + } + else + return false; } else { - $this->errormsg = ''; + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } } - /** - * Prueft, ob eine Person Abbrecher war - * @param int $person_id ID der zu überprüfenden Person. - * @return true wenn letzter Status Abbrecher und nicht Student ist - * false wenn nicht vorhanden - * false und errormsg wenn Fehler aufgetreten ist - */ -public function isAbbrecher($person_id) -{ - if (!is_numeric($person_id)) - { - $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT s.status_kurzbz - FROM public.tbl_prestudent - JOIN public.tbl_prestudentstatus s USING (prestudent_id) - JOIN public.tbl_studiengang USING (studiengang_kz) - WHERE person_id = ".$this->db_add_param($person_id)." - AND status_kurzbz in ('Abbrecher','Student') - AND typ in ('b','m','d') - ORDER BY s.bestaetigtam DESC NULLS LAST, s.insertamum DESC - LIMIT 1 - "; - - if ($this->db_query($qry)) - { - if ($row = $this->db_fetch_object()) - { - if ($row->status_kurzbz == 'Abbrecher') - { - $this->errormsg = ''; - return true; - } - else - { - $this->errormsg = ''; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } -} /** * Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I) From 458117fced68fa5106f0025dd35fccf166ad1595 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 14 Oct 2022 16:24:45 +0200 Subject: [PATCH 06/17] =?UTF-8?q?Funktion=20existsZGV:=20prestudents=20mit?= =?UTF-8?q?=20Last=20Status=20Abbrecher=20werden=20nicht=20ber=C3=BCcksich?= =?UTF-8?q?tigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/prestudent.class.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index cd7eece35..b9909306c 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2345,7 +2345,7 @@ class prestudent extends person JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE person_id= ".$this->db_add_param($person_id, FHC_INTEGER)." AND bestaetigtam is not NULL - AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student','Abbrecher') + AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student') ) as t WHERE stat_rank = 1"; @@ -2360,7 +2360,6 @@ class prestudent extends person { while ($row = $db->db_fetch_object()) { - if ($row->status_kurzbz != 'Abbrecher') $arrayPrestudents[] = $row->status_kurzbz; } if ($arrayPrestudents) From 4f71a274e21d036a659da1796af3b7a619fcc6fe Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 17 Oct 2022 08:36:36 +0200 Subject: [PATCH 07/17] =?UTF-8?q?Update=20=C3=9Cberpr=C3=BCfungen=20ZGV=20?= =?UTF-8?q?mit=20get=5Frolle=5Fprestudent()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/prestudent.class.php | 88 +++++++++++++++++------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index b9909306c..31d5f69ef 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2327,55 +2327,49 @@ class prestudent extends person * false wenn nicht vorhanden * false und errormsg wenn Fehler aufgetreten ist */ - public function existsZGVIntern($person_id) - { - if (!is_numeric($person_id)) - { - $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; - return false; - } + public function existsZGVIntern($person_id) + { + if (!is_numeric($person_id)) + { + $this->errormsg = 'Person_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent + JOIN public.tbl_prestudentstatus USING (prestudent_id) + JOIN public.tbl_studiengang USING (studiengang_kz) + WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student') + AND typ = 'b' + AND get_rolle_prestudent(prestudent_id, null) != 'Abbrecher';"; - echo $qry = " - SELECT t.prestudent_id, t.status_kurzbz, t.bestaetigtam FROM - ( - SELECT prestudent_id, status_kurzbz, bestaetigtam, - RANK() OVER (PARTITION BY prestudent_id ORDER BY bestaetigtam DESC) stat_rank - FROM public.tbl_prestudent - JOIN public.tbl_prestudentstatus USING (prestudent_id) - WHERE person_id= ".$this->db_add_param($person_id, FHC_INTEGER)." - AND bestaetigtam is not NULL - AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student') - ) as t - WHERE stat_rank = 1"; - - $db = new basis_db(); - $arrayPrestudents = array(); - - if ($db->db_query($qry)) - { - $num_rows = $db->db_num_rows(); - - if ($num_rows > 0) - { - while ($row = $db->db_fetch_object()) - { - $arrayPrestudents[] = $row->status_kurzbz; - } - if ($arrayPrestudents) - { - return true; - } - } - else - return false; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + if ($row->anzahl > 0) + { + $this->errormsg = ''; + return true; + } + else + { + $this->errormsg = ''; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } /** From 1609543a3128b98480dd42585e3a07269f6c1e20 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 20 Oct 2022 14:01:31 +0200 Subject: [PATCH 08/17] - lv evaluierung ubersichtsseite optimiert --- include/lehrveranstaltung.class.php | 85 +++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 16c7ba2fe..48edd9d0a 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -2776,5 +2776,90 @@ class lehrveranstaltung extends basis_db return null; } + /** + * Prueft ob die Lehrveranstaltungen in dem Studiensemestern angeboten wird. + * Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist und ob ein Lehrauftrag vorhanden ist. + * + * @param $lehrveranstaltung_id + * @param $studiensemester_kurzbz + * @return array + */ + public function getOfferedSemester($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry = "SELECT + DISTINCT(studiensemester_kurzbz) + FROM + lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)." + AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).") + AND EXISTS ( + SELECT + * + FROM + lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan_semester USING(studienplan_id) + WHERE + lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)." + AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).") + )"; + + $studiensemester = []; + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $studiensemester[] = $row; + } + return $studiensemester; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Prueft ob die Lehrveranstaltungen in den gewaehlten Studiensemestern angeboten wird. + * Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist. + * + * @param $lehrveranstaltung_id + * @param $studiensemester_kurzbz + * @return array + */ + public function getOfferedLVs($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry = "SELECT + DISTINCT(tbl_lehreinheit.lehrveranstaltung_id) + FROM + lehre.tbl_lehreinheit + WHERE tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).") + AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).") + AND EXISTS ( + SELECT + * + FROM + lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan_semester USING(studienplan_id) + WHERE + tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).") + AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).") + )"; + + $lehrveranstaltungen = []; + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $lehrveranstaltungen[] = $row; + } + return $lehrveranstaltungen; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?> From f0fd071e312d0010431a3caca56afcb070cb6461 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 31 Oct 2022 13:44:17 +0100 Subject: [PATCH 09/17] - notizen ausblenden --- content/lvplanung/lehrveranstaltungoverlay.js.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index 436c48eb8..ac2c94948 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -820,7 +820,12 @@ function LeAuswahl() LehrveranstaltungNotenLoad(lehrveranstaltung_id); //Notizen Tab ausblenden - //document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true; + document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true; + + if(document.getElementById('lehrveranstaltung-tabs').selectedItem === document.getElementById('lehrveranstaltung-tab-notizen')) + { + document.getElementById('lehrveranstaltung-tabs').selectedItem = document.getElementById('lehrveranstaltung-tab-detail'); + } //LV-Angebot Tab einblenden und Gruppen laden document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=false; @@ -853,7 +858,7 @@ function LeAuswahl() //document.getElementById('lehrveranstaltung-tab-noten').collapsed=true; //Notizen Tab einblenden - //document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false; + document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false; //LV-Angebot Tab ausblenden document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=true; From 71c953bac77b809cc651cd4380c4d7f17a0b953a Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Thu, 3 Nov 2022 12:04:46 +0100 Subject: [PATCH 10/17] studentenmeldung: standort_code is retrieved and set in xml correctly (first prestudent, then studiengang) --- vilesci/bis/studentenmeldung.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 140108a12..01d2dc766 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -271,7 +271,8 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006) DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat, public.tbl_prestudent.foerderrelevant as pre_foerderrelevant, - public.tbl_studiengang.foerderrelevant as stg_foerderrelevant + public.tbl_studiengang.foerderrelevant as stg_foerderrelevant, + COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) @@ -295,7 +296,8 @@ elseif ($stg_kz == 'alleBaMa') DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat, public.tbl_prestudent.foerderrelevant as pre_foerderrelevant, - public.tbl_studiengang.foerderrelevant as stg_foerderrelevant + public.tbl_studiengang.foerderrelevant as stg_foerderrelevant, + COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) @@ -327,7 +329,8 @@ else DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat, public.tbl_prestudent.foerderrelevant as pre_foerderrelevant, - public.tbl_studiengang.foerderrelevant as stg_foerderrelevant + public.tbl_studiengang.foerderrelevant as stg_foerderrelevant, + COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) @@ -1615,7 +1618,7 @@ function GenerateXMLStudentBlock($row) if(!$ausserordentlich) { $datei.=" - ".$row->standort_code.""; + ".$row->bis_standort_code.""; } /* * BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt From 048c16439402c9a6ec8986899fb49223fc78522e Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 14 Nov 2022 17:57:20 +0100 Subject: [PATCH 11/17] studentenmeldung.php: correct order - Studenten first, then Bewerber --- vilesci/bis/studentenmeldung.php | 57 ++++++++++++++++---------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index d085a4ed9..5cf04de0d 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -351,6 +351,12 @@ else "; } +$header = " + + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + "; + if($result = $db->db_query($qry)) { $stg_kz_index = ''; @@ -397,23 +403,24 @@ if($result = $db->db_query($qry)) else die('Fehler:'.$stg_obj->errormsg); - // Header am Beginn rausschreiben + // Erstes Studiengang Tag am Beginn rausschreiben if ($stg_kz_index == '') { - $header = " - - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - "; - + $header .= " + + ".$row->studiengang_kz.""; $datei .= $header; $dateiNurBewerber .= $header; } } - //Bewerberblock bei neuem Studiengang, und am Ende noch einmal - if (($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows) + // Student Daten schreiben + $datei .= GenerateXMLStudentBlock($row); + + // wenn neuer Studiengang oder letzter Durchlauf... + if ($stg_kz_index != '' && ($row->studiengang_kz != $stg_kz_index || $row_num == $num_rows)) { + //Bewerberblock bei neuem Studiengang, und am Ende noch einmal // (bei Ausserordentlichen nicht anzeigen) if($row->studiengang_kz!=('9'.$erhalter)) { @@ -437,29 +444,24 @@ if($result = $db->db_query($qry)) $dateiNurBewerber.=$bewerberBlock; } } + + // ...Studiengang Tag schliessen + $stgClose = " + "; + $datei .= $stgClose; + $dateiNurBewerber .= $stgClose; } // wenn neuer Studiengang... - if ($row->studiengang_kz != $stg_kz_index) + if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) { - // ...Studiengang Tag schliessen - if ($stg_kz_index != '') - { - $stgClose = " - "; - $datei .= $stgClose; - $dateiNurBewerber .= $stgClose; - } - - // ...neuen Studiengang Tag öffnen - $stgOpen = " - - ".$row->studiengang_kz.""; - $datei .= $stgOpen; - $dateiNurBewerber .= $stgOpen; + // ...neuen Studiengang Tag öffnen + $stgOpen = " + + ".$row->studiengang_kz.""; + $datei .= $stgOpen; + $dateiNurBewerber .= $stgOpen; } - // Student Daten schreiben - $datei .= GenerateXMLStudentBlock($row); // Studiengang kz speichern und Zeile erhöhen $stg_kz_index = $row->studiengang_kz; @@ -468,7 +470,6 @@ if($result = $db->db_query($qry)) } $footer=" - "; From 8bbbd8cb8d2354078a9c0456ae64eebfa37bf99d Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 14 Nov 2022 18:13:49 +0100 Subject: [PATCH 12/17] studentenmeldung bugfix: Erhalter Kz is correctly exported --- vilesci/bis/studentenmeldung.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 5cf04de0d..ec4102a7b 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -351,12 +351,6 @@ else "; } -$header = " - - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - "; - if($result = $db->db_query($qry)) { $stg_kz_index = ''; @@ -406,7 +400,11 @@ if($result = $db->db_query($qry)) // Erstes Studiengang Tag am Beginn rausschreiben if ($stg_kz_index == '') { - $header .= " + $header = " + + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + ".$row->studiengang_kz.""; $datei .= $header; From 7ef7b86d308e78cd4ca16c14141156fdc5bcd3ab Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Fri, 18 Nov 2022 11:11:35 +0100 Subject: [PATCH 13/17] =?UTF-8?q?Studierende=20k=C3=B6nnen=20sich=20fr?= =?UTF-8?q?=C3=BChestens=202=20Monate=20vor=20Pr=C3=BCfung=20anmelden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index f2435828d..a9677e808 100644 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -353,10 +353,9 @@ function writePruefungsTable(e, data, anmeldung) var time = termin[1].substring(0,5); termin = termin[0].split("-"); - // Wie viele Monate vor Prüfungen dürfen sich Studierende anmelden? - // Sperre "deaktiviert" indem man sich 24 Monate vorher anmelden darf + // Studierende dürfen sich 2 Monate vor Prüfungen anmelden var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]); - minimumFrist.setMonth(minimumFrist.getMonth() - 24); + minimumFrist.setMonth(minimumFrist.getMonth() - 2); termin = new Date(termin[0], termin[1]-1,termin[2]); var frist = termin; From fec45f7b75adefdf8aa5c1246071735ef8739181 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Fri, 18 Nov 2022 18:41:02 +0100 Subject: [PATCH 14/17] =?UTF-8?q?separated=20Bewerbermeldung=20from=20Stud?= =?UTF-8?q?ierenden=20BIS=20Meldung,=20bugfix:=20correct=20Bewerber=20numb?= =?UTF-8?q?ers=20for=20correct=20Studieng=C3=A4nge=20are=20displayed,=20re?= =?UTF-8?q?named=20ZugangMaCode=20Element=20to=20ZugangMaStgCode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/studentenmeldung.php | 51 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index ec4102a7b..a0449edcb 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -416,9 +416,29 @@ if($result = $db->db_query($qry)) $datei .= GenerateXMLStudentBlock($row); // wenn neuer Studiengang oder letzter Durchlauf... - if ($stg_kz_index != '' && ($row->studiengang_kz != $stg_kz_index || $row_num == $num_rows)) + if (($row_num > 1 && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows) { - //Bewerberblock bei neuem Studiengang, und am Ende noch einmal + // ...Studiengang Tag schliessen + $stgClose = " + "; + $datei .= $stgClose; + $dateiNurBewerber .= $stgClose; + } + + // wenn neuer Studiengang... + if ($row->studiengang_kz != $stg_kz_index) + { + if ($row_num > 1) + { + // ...neuen Studiengang Tag öffnen + $stgOpen = " + + ".$row->studiengang_kz.""; + $datei .= $stgOpen; + $dateiNurBewerber .= $stgOpen; + } + + //Bewerberblock // (bei Ausserordentlichen nicht anzeigen) if($row->studiengang_kz!=('9'.$erhalter)) { @@ -431,35 +451,16 @@ if($result = $db->db_query($qry)) foreach($orgcodes as $code) { $bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz, $code); - $datei.=$bewerberBlock; $dateiNurBewerber.=$bewerberBlock; } } else { $bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz); - $datei.=$bewerberBlock; $dateiNurBewerber.=$bewerberBlock; } } - - // ...Studiengang Tag schliessen - $stgClose = " - "; - $datei .= $stgClose; - $dateiNurBewerber .= $stgClose; - } - - // wenn neuer Studiengang... - if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) - { - // ...neuen Studiengang Tag öffnen - $stgOpen = " - - ".$row->studiengang_kz.""; - $datei .= $stgOpen; - $dateiNurBewerber .= $stgOpen; - } + }; // Studiengang kz speichern und Zeile erhöhen $stg_kz_index = $row->studiengang_kz; @@ -743,7 +744,7 @@ if(file_exists($ddd)) } if(file_exists($dddNurBew)) - echo 'XML-Datei für BIS-Meldung Stg '.$stg_kz.' - nur Bewerberdaten
'; + echo 'XML-Datei für BIS-Meldung Stg '.$stg_kz.' - Bewerberdaten
'; if(file_exists($eee)) { @@ -1610,7 +1611,7 @@ function GenerateXMLStudentBlock($row) if($studtyp!='E') { $datei.=" - ".$status.""; + ".$status.""; } // IO container query @@ -2037,7 +2038,7 @@ function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null) ".$orgform_code_array[$bworgform].""; if($stgart==2) $datei.=' - '.$key.''; + '.$key.''; else $datei.=' '.$key.''; From 5e1ed8fa144c3144692ef034f1d171807ad49371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 21 Nov 2022 15:39:32 +0100 Subject: [PATCH 15/17] =?UTF-8?q?Bugfix=20f=C3=BCr=20Statistiken=20mit=20A?= =?UTF-8?q?rray=20Parametern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/statistik.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/statistik.class.php b/include/statistik.class.php index 15624de26..e2b5e1a7a 100644 --- a/include/statistik.class.php +++ b/include/statistik.class.php @@ -525,7 +525,7 @@ class statistik extends basis_db foreach($_REQUEST as $name=>$value) { // Inputs, die in eckigen Klammern stehen, werden als Array interpretiert - if (substr($value, 0, 1) == '[' && substr($value, -1) == ']') + if (is_string($value) && substr($value, 0, 1) == '[' && substr($value, -1) == ']') { //Eckige Klammern entfernen und String aufsplitten $value = substr($value, 1); From 9d4327908902a02c7bc06122a4aa4bcb099deef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabo=20M=C3=B3nika?= Date: Tue, 22 Nov 2022 10:03:40 +0100 Subject: [PATCH 16/17] Update studentenexportextended.xls.php mit Anmerkung erweitern --- .../statistik/studentenexportextended.xls.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/statistik/studentenexportextended.xls.php b/content/statistik/studentenexportextended.xls.php index e7940946b..1441d4cc9 100644 --- a/content/statistik/studentenexportextended.xls.php +++ b/content/statistik/studentenexportextended.xls.php @@ -179,6 +179,8 @@ $worksheet->write($zeile, ++$i, "RT_PUNKTE2", $format_bold); $maxlength[$i] = 10; $worksheet->write($zeile, ++$i, "RT_GESAMTPUNKTE", $format_bold); $maxlength[$i] = 18; +$worksheet->write($zeile,++$i,"ANMERKUNG", $format_bold); +$maxlength[$i]=30; $worksheet->write($zeile, ++$i, "PRIORITÄT", $format_bold); $maxlength[$i] = 8; @@ -660,6 +662,20 @@ function draw_content($row) $worksheet->write($zeile, $i, $row->rt_gesamtpunkte); $i++; + //Anmerkung + $qry_1 = "SELECT anmerkung FROM public.tbl_prestudent WHERE prestudent_id='".addslashes($row->prestudent_id)."' LIMIT 1"; + + if($db->db_query($qry_1)) + { + if($row_1 = $db->db_fetch_object()) + { + if(mb_strlen($row_1->anmerkung)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->anmerkung); + + $worksheet->write($zeile,$i, $row_1->anmerkung); + } + } + $i++; //Priorisierung $prio = $prio_relativ.' ('.$row->priorisierung.')'; if (mb_strlen($prio) > $maxlength[$i]) From 817d2842ccd65e8729ab5c95c1a5c28fe419ea90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 22 Nov 2022 11:17:57 +0100 Subject: [PATCH 17/17] Changed Escaping of Parameter --- content/statistik/studentenexportextended.xls.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/statistik/studentenexportextended.xls.php b/content/statistik/studentenexportextended.xls.php index 1441d4cc9..81e51b53a 100644 --- a/content/statistik/studentenexportextended.xls.php +++ b/content/statistik/studentenexportextended.xls.php @@ -180,7 +180,7 @@ $maxlength[$i] = 10; $worksheet->write($zeile, ++$i, "RT_GESAMTPUNKTE", $format_bold); $maxlength[$i] = 18; $worksheet->write($zeile,++$i,"ANMERKUNG", $format_bold); -$maxlength[$i]=30; +$maxlength[$i]=30; $worksheet->write($zeile, ++$i, "PRIORITÄT", $format_bold); $maxlength[$i] = 8; @@ -661,17 +661,17 @@ function draw_content($row) $maxlength[$i] = mb_strlen($row->rt_gesamtpunkte); $worksheet->write($zeile, $i, $row->rt_gesamtpunkte); $i++; - + //Anmerkung - $qry_1 = "SELECT anmerkung FROM public.tbl_prestudent WHERE prestudent_id='".addslashes($row->prestudent_id)."' LIMIT 1"; + $qry_1 = "SELECT anmerkung FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." LIMIT 1"; if($db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object()) - { + { if(mb_strlen($row_1->anmerkung)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->anmerkung); - + $worksheet->write($zeile,$i, $row_1->anmerkung); } }