From 2c2a23dfe90ccaaf3834e06b57ffdf6cdb349403 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Thu, 28 Nov 2019 17:18:51 +0100 Subject: [PATCH 1/4] Bugfix Studentencheck MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verbesserungen Studentenmeldung: - Select zum Wechseln der Studiengänge für Admins - Studiensemester als GET-Param für vergangene Meldungen --- system/checkStudenten.php | 16 ++++---- vilesci/bis/studentenmeldung.php | 64 +++++++++++++++++++++++++++++--- 2 files changed, 65 insertions(+), 15 deletions(-) diff --git a/system/checkStudenten.php b/system/checkStudenten.php index ee1089f86..2590574db 100644 --- a/system/checkStudenten.php +++ b/system/checkStudenten.php @@ -244,8 +244,9 @@ FROM WHERE status.studiensemester_kurzbz = ".$db->db_add_param($aktSem)." AND lv.studiensemester_kurzbz = ".$db->db_add_param($aktSem)." - AND status.status_kurzbz NOT IN ('Interessent','Bewerber','Aufgenommener','Wartender','Abgewiesener') - AND get_rolle_prestudent (prestudent_id, ".$db->db_add_param($aktSem).")='Student'"; + AND status.status_kurzbz NOT IN ('Interessent','Bewerber','Aufgenommener','Wartender','Abgewiesener','Unterbrecher') + AND get_rolle_prestudent (prestudent_id, ".$db->db_add_param($aktSem).")='Student' + AND status.ausbildungssemester != lv.semester"; if ($studiengang_kz != '') $qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); @@ -256,11 +257,8 @@ if ($db->db_query($qry)) { $student_uid = $row->student_uid; - if ($row->ausbildungssemester != $row->semester) - { - $ausgabe[$row->studiengang][5][] = $student_uid; - $text .= "Studenten-uid: ".$student_uid."
"; - } + $ausgabe[$row->studiengang][5][] = $student_uid; + $text .= "Studenten-uid: ".$student_uid."
"; } } @@ -623,7 +621,7 @@ WHERE status_kurzbz in('Student', 'Diplomand', 'Absolvent', 'Abbrecher') AND tbl_prestudent.bismelden AND tbl_benutzer.aktiv - AND tbl_person.matr_nr is null OR tbl_person.matr_nr = '' + AND (tbl_person.matr_nr is null OR tbl_person.matr_nr = '') AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); if ($studiengang_kz != '') @@ -655,7 +653,7 @@ if ($result = $db->db_query($qry)) while ($row = $db->db_fetch_object($result)) { $ausgabe[$row->studiengang_kz][15][] = $row->vorname.' '.$row->nachname. - ' ('.$row->prestudent_id.')'; + ' (Prestudent ID: '.$row->prestudent_id.')'; $text .= $row->vorname.' '.$row->nachname. ' ('.$row->prestudent_id.')'; } diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index eab717bea..7f86ca8b9 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -37,6 +37,7 @@ require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/bisio.class.php'); +require_once('../../include/prestudent.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -56,8 +57,18 @@ $fehler=''; $maxsemester=0; $v=''; $studiensemester=new studiensemester(); -$ssem=$studiensemester->getaktorNext(); -$psem=$studiensemester->getPrevious(); +// Wenn Studiensemester als GET übergeben wird, dieses laden, sonst getaktorNext() +if (isset($_GET['studiensemester'])) +{ + $ssem = $_GET['studiensemester']; + $psem = $studiensemester->getPreviousFrom($ssem); +} +else +{ + $ssem = $studiensemester->getaktorNext(); + $psem = $studiensemester->getPrevious(); +} + $anzahl_fehler=0; $erhalter=''; $stgart=''; @@ -350,7 +361,46 @@ echo ' '; -echo "

BIS - Studentendaten werden überprüft! Studiengang: ".$db->convert_html_chars($stg_kz)."

\n"; +if ($rechte->isBerechtigt('admin')) +{ + echo '
'; + echo 'Studiengang: '; + echo '
'; +} +$studiengang = new studiengang($stg_kz); +$typ = new studiengang($stg_kz); +$typ->getStudiengangTyp($studiengang->typ); +echo "

BIS - Studentendaten werden überprüft! Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."

\n"; echo "

Nicht plausible BIS-Daten (für Meldung ".$db->convert_html_chars($ssem)."):


"; echo nl2br($v."\n\n"); @@ -564,6 +614,9 @@ function GenerateXMLStudentBlock($row) $datei = ''; $datumobj = new datum(); + $laststatus = new prestudent(); + $laststatus->getLastStatus($row->prestudent_id); + //Pruefen ob Ausserordnetlicher Studierender (4.Stelle in Personenkennzeichen = 9) if(mb_substr($row->matrikelnr,3,1)=='9') $ausserordentlich=true; @@ -839,7 +892,6 @@ function GenerateXMLStudentBlock($row) } } //Wenn im Status keine Organisationsform eingetragen ist, wird die des Studienganges uebernommen - //echo '
', var_dump($storgform), '
'; if($storgform=='') { // Wenn FHTW und studiengang_kz 10006 (Campus International) wird die OrgForm des Studiengangs vom Incoming ermittelt @@ -893,7 +945,7 @@ function GenerateXMLStudentBlock($row) if($gserror!='') { - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): \n"; $v.=$gserror."\n"; return ''; } @@ -997,7 +1049,7 @@ function GenerateXMLStudentBlock($row) if($error_log!='' OR $error_log1!='') { - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): \n"; if($error_log!='') { $v.="     Fehler: ".$error_log."\n"; From fc54fcb049b4967146867cef498075a0ccbf9293 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Thu, 28 Nov 2019 17:21:43 +0100 Subject: [PATCH 2/4] Anpassung Statistik an zentrale RT --- content/statistik/bewerberstatistik.php | 36 ++++++++++++++++++------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/content/statistik/bewerberstatistik.php b/content/statistik/bewerberstatistik.php index ff61e92f4..766a7d143 100644 --- a/content/statistik/bewerberstatistik.php +++ b/content/statistik/bewerberstatistik.php @@ -288,7 +288,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) @@ -304,7 +310,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung_m, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) @@ -320,7 +332,13 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND ( + anmeldedatum<=".$db->db_add_param($datum)." + OR + (anmeldedatum is null + AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).") + ) + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ ) ) AS interessentenrtanmeldung_w, @@ -823,7 +841,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND ( anmeldedatum<=".$db->db_add_param($datum)." OR @@ -845,7 +863,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND (anmeldedatum<=".$db->db_add_param($datum)." OR (anmeldedatum is null @@ -866,7 +884,7 @@ if (isset($_GET['excel'])) WHERE person_id=tbl_prestudent.person_id AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz - AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + /*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/ AND (anmeldedatum<=".$db->db_add_param($datum)." OR (anmeldedatum is null @@ -1344,7 +1362,7 @@ else //im Kopf des Mails Links zu den anderen Statistiken anzeigen $content .= 'Dies ist ein automatisches Mail!

'; $content .= 'Links zu den Statistiken:
- - LektorInnenstatisitk
+ - LektorInnenstatistik
- MitarbeiterInnenstatistik
- BewerberInnenstatistik
- Studierendenstatistik
@@ -1437,7 +1455,7 @@ else } $content .= ' -

BewerberInnenstatistik '.$stsem.''.date('d.m.Y').'


+

BewerberInnenstatistik '.$stsem.' '.date('d.m.Y').'


'; if ($stsem != '') { @@ -1891,7 +1909,7 @@ else $content .= '

-

BewerberInnenstatistik '.$stsem.''.$datum_obj->formatDatum($datum, 'd.m.Y').'


+

BewerberInnenstatistik '.$stsem.' '.$datum_obj->formatDatum($datum, 'd.m.Y').'


'; //Bewerberdaten holen $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, From 6eeb6abde0433e850332ca7207402a5cf4cb1efc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 16 Jan 2020 15:07:48 +0100 Subject: [PATCH 3/4] Problem behoben wodurch der Excel Studierendenexport im FAS nicht funktioniert wenn ein leeres UserDefinedField Objekt vorhanden ist --- include/udf.class.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/udf.class.php b/include/udf.class.php index 6d7111346..eda139227 100644 --- a/include/udf.class.php +++ b/include/udf.class.php @@ -234,10 +234,6 @@ class UDF extends basis_db $toString = $this->dropdownListValuesToString($decodedJson[$udfName], $udfDescription['enum']); } } - else if ($decodedJson[$udfName] == null) - { - $toString = ''; - } return $toString; } From e7f2c4597e28a63ec18e8e43d691a44789283756 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 Jan 2020 11:31:36 +0100 Subject: [PATCH 4/4] Testtool Admin GUI optimiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anzeige von Leveln in Übersicht "Round" in check_gebiet bei Zufallsfrage --- cis/testtool/admin/index.php | 68 ++++++++++++++++++++++++++++++------ include/gebiet.class.php | 2 +- 2 files changed, 58 insertions(+), 12 deletions(-) diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index a6a4be483..6da5040ed 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -160,6 +160,18 @@ textarea { font-size: 10pt; } +.nummern +{ + border: 1px solid lightgrey; + border-collapse: collapse; + border-spacing: 0; + padding: 2px; +} +td.nummern +{ + width: 15px; + text-align: center; +} @@ -718,19 +730,29 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) // Liste der Fragen if ($filter == 'aktiv') { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND aktiv ORDER BY nummer"; + $qry = "SELECT distinct nummer, aktiv, level, demo FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND aktiv ORDER BY nummer"; } elseif ($filter == 'inaktiv') { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND NOT aktiv ORDER BY nummer"; + $qry = "SELECT distinct nummer, aktiv, level, demo FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND NOT aktiv ORDER BY nummer"; } else { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer"; + $qry = "SELECT distinct nummer, aktiv, level, demo FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer"; } if ($result = $db->db_query($qry)) { + $resultArray = array(); + $i = 0; + while ($row = $db->db_fetch_object($result)) + { + $resultArray[$i]['nummer'] = $row->nummer; + $resultArray[$i]['aktiv'] = $row->aktiv; + $resultArray[$i]['level'] = $row->level; + $resultArray[$i]['demo'] = $row->demo; + $i++; + } // Aktiv / Inaktiv Checkboxes $aktivchecked = ($filter == 'aktiv' || $filter == '')?'checked="checked"':''; $inaktivchecked = ($filter == 'inaktiv' || $filter == '')?'checked="checked"':''; @@ -756,21 +778,45 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) inaktiv'; } - echo '
Nummer: '; - while ($row = $db->db_fetch_object($result)) + echo '
+ '; + foreach ($resultArray AS $key=>$value) { if ($nummer == '') - $nummer = $row->nummer; + $nummer = $value['nummer']; $style = ''; - if ($db->db_parse_bool($row->aktiv) == false) + if ($db->db_parse_bool($value['aktiv']) == false) $style = 'style="color: lightgrey"'; - if ($nummer == $row->nummer) - echo " $row->nummer -"; - else - echo " $row->nummer -"; + $styleSelected = ''; + if ($nummer == $value['nummer']) + { + $styleSelected = 'style="background-color: lightblue"'; + } + + echo ''; } + echo ' + '; + $leveltext = ''; + foreach ($resultArray AS $key=>$value) + { + if ($value['level'] == '') + { + $leveltext = '-'; + } + else + { + $leveltext = $value['level']; + if ($value['demo'] == 't') + { + $leveltext .= '*'; + } + } + echo ''; + } + echo '
Nummer:'.$value['nummer'].'
Level:'.$leveltext.'
'; echo " neue Frage hinzufuegen"; $frage_obj = new frage(); if ($filter == 'aktiv') diff --git a/include/gebiet.class.php b/include/gebiet.class.php index 2491259c4..22df2ff37 100644 --- a/include/gebiet.class.php +++ b/include/gebiet.class.php @@ -383,7 +383,7 @@ class gebiet extends basis_db $qry = "SELECT * FROM ( SELECT level, count(*) as anzahl FROM ( SELECT level, punkte, count(*) as anzahl FROM ( - SELECT level, sum(punkte) as punkte + SELECT level, round(sum(punkte)) as punkte FROM testtool.tbl_frage JOIN testtool.tbl_vorschlag USING(frage_id) WHERE punkte>0 AND not demo AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." GROUP BY frage_id, level) as a