From 9e8e8c98c85f7e3a352f9d709a725184a3b40d7e Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 11 Apr 2022 10:23:45 +0200 Subject: [PATCH 01/10] checksystem: added column melde_studiengang_kz for tbl_studiengang --- system/dbupdate_3.3.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index fa073bcba..48f525408 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5979,6 +5979,19 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_webservic } } +// Add column melde_studiengang_kz to public.tbl_studiengang and prefill values +if (!$result = @$db->db_query("SELECT melde_studiengang_kz FROM public.tbl_studiengang LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_studiengang ADD COLUMN melde_studiengang_kz integer; + UPDATE public.tbl_studiengang stg SET melde_studiengang_kz = (SELECT abs(studiengang_kz) FROM tbl_studiengang WHERE studiengang_kz = stg.studiengang_kz) WHERE melderelevant AND typ != 'l'; + COMMENT ON COLUMN public.tbl_studiengang.melde_studiengang_kz IS 'Studiengangskennzahl, mit der der Studiengang gemeldet wird (z.B. Bismeldung)'"; + + if(!$db->db_query($qry)) + echo 'public.tbl_studiengang: '.$db->db_last_error().'
'; + else + echo '
public.tbl_studiengang: Neue Spalte melde_studiengang_kz hinzugefuegt.'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -6213,7 +6226,7 @@ $tabellen=array( "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","gruppe","sql","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"), "public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), - "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung","melderelevant","foerderrelevant","standort_code"), + "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung","melderelevant","foerderrelevant","standort_code","melde_studiengang_kz"), "public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung","bezeichnung_mehrsprachig"), "public.tbl_studienjahr" => array("studienjahr_kurzbz","bezeichnung"), "public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung","onlinebewerbung"), From 3804cce361aef87bc8b276197f6af924f202aea1 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 12 Apr 2022 18:34:06 +0200 Subject: [PATCH 02/10] =?UTF-8?q?studentenmeldung.php:=20export=20for=20al?= =?UTF-8?q?l=20Studieng=C3=A4nge:=20ausserordentliche=20Studierende=20are?= =?UTF-8?q?=20also=20included=20if=20their=20Studiengang=20is=20melderelev?= =?UTF-8?q?ant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/studentenmeldung.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index dd21574f3..b106b6ed5 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -304,7 +304,9 @@ elseif ($stg_kz == 'alleBaMa') JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) WHERE bismelden=TRUE - AND tbl_studiengang.typ IN ('b','m') + AND tbl_studiengang.typ IN ('b','m','e') + AND tbl_studiengang.melderelevant=TRUE + AND tbl_studiengang.studiengang_kz > 0 AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' From 707c8a3a6a3c68625f6012206512eb7cc835a83e Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 2 May 2022 18:12:29 +0200 Subject: [PATCH 03/10] dbupdate_3.3.php: field melde_studiengang_kz in tbl_studiengang is prefilled correctly --- system/dbupdate_3.3.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 48f525408..66f31a715 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5982,8 +5982,9 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_webservic // Add column melde_studiengang_kz to public.tbl_studiengang and prefill values if (!$result = @$db->db_query("SELECT melde_studiengang_kz FROM public.tbl_studiengang LIMIT 1")) { - $qry = "ALTER TABLE public.tbl_studiengang ADD COLUMN melde_studiengang_kz integer; - UPDATE public.tbl_studiengang stg SET melde_studiengang_kz = (SELECT abs(studiengang_kz) FROM tbl_studiengang WHERE studiengang_kz = stg.studiengang_kz) WHERE melderelevant AND typ != 'l'; + $qry = "ALTER TABLE public.tbl_studiengang ADD COLUMN melde_studiengang_kz varchar(32); + UPDATE public.tbl_studiengang stg SET melde_studiengang_kz = (SELECT lpad(abs(studiengang_kz)::text, 4, '0') FROM tbl_studiengang WHERE studiengang_kz = stg.studiengang_kz) WHERE melderelevant AND lgartcode IS NULL; + UPDATE public.tbl_studiengang stg SET melde_studiengang_kz = (SELECT (SELECT lpad(erhalter_kz::text, 3, '0') FROM public.tbl_erhalter) || lpad(abs(studiengang_kz)::text, 4, '0') FROM tbl_studiengang WHERE studiengang_kz = stg.studiengang_kz) WHERE melderelevant AND lgartcode IS NOT NULL; COMMENT ON COLUMN public.tbl_studiengang.melde_studiengang_kz IS 'Studiengangskennzahl, mit der der Studiengang gemeldet wird (z.B. Bismeldung)'"; if(!$db->db_query($qry)) From 6aa4d4d719441a1ff7663cf5c7cb3c9304f5c963 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 30 May 2022 11:37:59 +0200 Subject: [PATCH 04/10] added extension/dvuh_gui_begrenzt Berechtigung for limited functionality access in DVUH GUI --- system/dbupdate_3.3.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 66f31a715..874f7fab0 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5993,6 +5993,20 @@ if (!$result = @$db->db_query("SELECT melde_studiengang_kz FROM public.tbl_studi echo '
public.tbl_studiengang: Neue Spalte melde_studiengang_kz hinzugefuegt.'; } +// Add permission for calling certain APIs in Datenverbund extension +if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'extension/dvuh_gui_begrenzt';")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('extension/dvuh_gui_begrenzt', 'Berechtigung für einzelne Abfragen in der Datenverbund GUI');"; + + if(!$db->db_query($qry)) + echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; + else + echo '
system.tbl_berechtigung: Added permission for extension/dvuh_gui_begrenzt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; From c547fd86a72dbe81bb0bc5c9c8ed26eb05adfdc7 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 7 Jun 2022 18:31:43 +0200 Subject: [PATCH 05/10] replaced Berechtigung dvuh_gui_begrenz with dvuh_gui_ekz_anfordern for requesting ekz only --- system/dbupdate_3.3.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 874f7fab0..f3507e474 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5994,16 +5994,16 @@ if (!$result = @$db->db_query("SELECT melde_studiengang_kz FROM public.tbl_studi } // Add permission for calling certain APIs in Datenverbund extension -if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'extension/dvuh_gui_begrenzt';")) +if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'extension/dvuh_gui_ekz_anfordern';")) { if($db->db_num_rows($result) == 0) { - $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('extension/dvuh_gui_begrenzt', 'Berechtigung für einzelne Abfragen in der Datenverbund GUI');"; + $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('extension/dvuh_gui_ekz_anfordern', 'Berechtigung für Abfage des Ersatzkennzeichens in der Datenverbund GUI');"; if(!$db->db_query($qry)) echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; else - echo '
system.tbl_berechtigung: Added permission for extension/dvuh_gui_begrenzt'; + echo '
system.tbl_berechtigung: Added permission for extension/dvuh_gui_ekz_anfordern'; } } From 95f1d87878625dade06b3e6f556eed178f29272d Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Wed, 15 Jun 2022 23:15:23 +0200 Subject: [PATCH 06/10] melde_studienang_kz can be edited in vilesci --- include/studiengang.class.php | 79 +++++++++++++--------- vilesci/stammdaten/studiengang_details.php | 10 +++ 2 files changed, 57 insertions(+), 32 deletions(-) diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 530b072c0..676ee97f3 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -27,35 +27,36 @@ class studiengang extends basis_db public $new; // boolean public $result = array(); // studiengang Objekt - public $studiengang_kz; // integer - public $kurzbz; // varchar(5) - public $kurzbzlang; // varchar(10) - public $bezeichnung; // varchar(128) - public $english; // varchar(128) - public $typ; // char(1) - public $farbe; // char(6) - public $email; // varchar(64) - public $max_semester; // smallint - public $max_verband; // char(1) - public $max_gruppe; // char(1) - public $erhalter_kz; // smallint - public $bescheid; // varchar(256) - public $bescheidbgbl1; // varchar(16) - public $bescheidbgbl2; // varchar(16) - public $bescheidgz; // varchar(16) - public $bescheidvom; // Date - public $titelbescheidvom; // Date - public $ext_id; // bigint - public $orgform_kurzbz; // varchar(3) - public $zusatzinfo_html; // text - public $sprache; // varchar(16) - public $testtool_sprachwahl;// boolean - public $studienplaetze; // smallint - public $oe_kurzbz; // varchar(32) - public $onlinebewerbung; // boolean - public $melderelevant; // boolean - public $foerderrelevant; // boolean - public $standort_code; // integer + public $studiengang_kz; // integer + public $kurzbz; // varchar(5) + public $kurzbzlang; // varchar(10) + public $bezeichnung; // varchar(128) + public $english; // varchar(128) + public $typ; // char(1) + public $farbe; // char(6) + public $email; // varchar(64) + public $max_semester; // smallint + public $max_verband; // char(1) + public $max_gruppe; // char(1) + public $erhalter_kz; // smallint + public $bescheid; // varchar(256) + public $bescheidbgbl1; // varchar(16) + public $bescheidbgbl2; // varchar(16) + public $bescheidgz; // varchar(16) + public $bescheidvom; // Date + public $titelbescheidvom; // Date + public $ext_id; // bigint + public $orgform_kurzbz; // varchar(3) + public $zusatzinfo_html; // text + public $sprache; // varchar(16) + public $testtool_sprachwahl; // boolean + public $studienplaetze; // smallint + public $oe_kurzbz; // varchar(32) + public $onlinebewerbung; // boolean + public $melderelevant; // boolean + public $foerderrelevant; // boolean + public $standort_code; // integer + public $melde_studiengang_kz; // varchar(32) public $kuerzel; // = typ + kurzbz (Bsp: BBE) public $kuerzel_arr = array(); // Array mit allen Kurzeln Index=studiengangs_kz @@ -134,6 +135,7 @@ class studiengang extends basis_db $this->melderelevant = $this->db_parse_bool($row->melderelevant); $this->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $this->standort_code = $row->standort_code; + $this->melde_studiengang_kz = $row->melde_studiengang_kz; $this->bezeichnung_arr['German'] = $this->bezeichnung; $this->bezeichnung_arr['English'] = $this->english; @@ -210,6 +212,7 @@ class studiengang extends basis_db $stg_obj->melderelevant = $this->db_parse_bool($row->melderelevant); $stg_obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $stg_obj->standort_code = $row->standort_code; + $stg_obj->melde_studiengang_kz = $row->melde_studiengang_kz; $stg_obj->bezeichnung_arr['German'] = $row->bezeichnung; $stg_obj->bezeichnung_arr['English'] = $row->english; @@ -431,6 +434,7 @@ class studiengang extends basis_db $stg_obj->melderelevant = $this->db_parse_bool($row->melderelevant); $stg_obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $stg_obj->standort_code = $row->standort_code; + $stg_obj->melde_studiengang_kz = $row->melde_studiengang_kz; $stg_obj->bezeichnung_arr['German'] = $row->bezeichnung; $stg_obj->bezeichnung_arr['English'] = $row->english; @@ -474,6 +478,11 @@ class studiengang extends basis_db $this->errormsg = 'studiengang_kz ungueltig!'; return false; } + if(isset($this->melde_studiengang_kz) && $this->melde_studiengang_kz != '' && !is_numeric($this->melde_studiengang_kz)) + { + $this->errormsg = 'melde_studiengang_kz ungueltig!'; + return false; + } $this->errormsg = ''; return true; } @@ -501,7 +510,7 @@ class studiengang extends basis_db typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1, bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, orgform_kurzbz, zusatzinfo_html, oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige, - melderelevant, foerderrelevant, standort_code) VALUES ('. + melderelevant, foerderrelevant, standort_code, melde_studiengang_kz) VALUES ('. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. $this->db_add_param($this->kurzbz).', '. $this->db_add_param($this->kurzbzlang).', '. @@ -535,7 +544,8 @@ class studiengang extends basis_db $this->db_add_param($this->projektarbeit_note_anzeige, FHC_BOOLEAN).','. $this->db_add_param($this->melderelevant, FHC_BOOLEAN).','. $this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).','. - $this->db_add_param($this->standort_code).');'; + $this->db_add_param($this->standort_code).','. + $this->db_add_param($this->melde_studiengang_kz).');'; } else { @@ -575,7 +585,8 @@ class studiengang extends basis_db 'mischform='.$this->db_add_param($this->mischform, FHC_BOOLEAN).', '. 'melderelevant='.$this->db_add_param($this->melderelevant, FHC_BOOLEAN).', '. 'foerderrelevant='.$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).', '. - 'standort_code='.$this->db_add_param($this->standort_code).' '. + 'standort_code='.$this->db_add_param($this->standort_code).', '. + 'melde_studiengang_kz='.$this->db_add_param($this->melde_studiengang_kz).' '. 'WHERE studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER, false).';'; } @@ -701,6 +712,7 @@ class studiengang extends basis_db $this->melderelevant = $this->db_parse_bool($row->melderelevant); $this->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $this->standort_code = $row->standort_code; + $this->melde_studiengang_kz = $row->melde_studiengang_kz; $this->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige); $this->bezeichnung_arr['German'] = $this->bezeichnung; @@ -844,6 +856,7 @@ class studiengang extends basis_db $obj->melderelevant = $this->db_parse_bool($row->melderelevant); $obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $obj->standort_code = $row->standort_code; + $obj->melde_studiengang_kz = $row->melde_studiengang_kz; $obj->aktiv = $this->db_parse_bool($row->aktiv); $this->result[] = $obj; @@ -1024,6 +1037,7 @@ class studiengang extends basis_db $obj->melderelevant = $this->db_parse_bool($row->melderelevant); $obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $obj->standort_code = $row->standort_code; + $obj->melde_studiengang_kz = $row->melde_studiengang_kz; $obj->bezeichnung_arr['German'] = $obj->bezeichnung; $obj->bezeichnung_arr['English'] = $obj->english; @@ -1161,6 +1175,7 @@ class studiengang extends basis_db $obj->melderelevant = $this->db_parse_bool($row->melderelevant); $obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $obj->standort_code = $row->standort_code; + $obj->melde_studiengang_kz = $row->melde_studiengang_kz; $obj->bezeichnung_arr['German'] = $obj->bezeichnung; $obj->bezeichnung_arr['English'] = $obj->english; diff --git a/vilesci/stammdaten/studiengang_details.php b/vilesci/stammdaten/studiengang_details.php index 46915f52e..d7f1a61d6 100644 --- a/vilesci/stammdaten/studiengang_details.php +++ b/vilesci/stammdaten/studiengang_details.php @@ -92,6 +92,7 @@ $lgartcode=''; $melderelevant = false; $foerderrelevant = false; $standort_code=''; +$melde_studiengang_kz = ''; $schick = filter_input(INPUT_POST, 'schick'); $onlinebewerbung = false; @@ -155,6 +156,7 @@ if($schick) $melderelevant = filter_input(INPUT_POST, 'melderelevant', FILTER_VALIDATE_BOOLEAN); $foerderrelevant = filter_input(INPUT_POST, 'foerderrelevant', FILTER_VALIDATE_BOOLEAN); $standort_code = filter_input(INPUT_POST, 'standort_code'); + $melde_studiengang_kz = filter_input(INPUT_POST, 'melde_studiengang_kz'); $ext_id = filter_input(INPUT_POST, 'ext_id'); @@ -223,6 +225,7 @@ if($schick) $sg_update->melderelevant = $melderelevant; $sg_update->foerderrelevant = $foerderrelevant; $sg_update->standort_code = $standort_code; + $sg_update->melde_studiengang_kz = $melde_studiengang_kz; $sg_update->bescheidvom=$date->formatDatum($sg_update->bescheidvom,'Y-m-d'); $sg_update->titelbescheidvom=$date->formatDatum($sg_update->titelbescheidvom,'Y-m-d'); @@ -292,6 +295,7 @@ if ((isset($_REQUEST['studiengang_kz'])) && ((!isset($_REQUEST['neu'])) || ($_RE $melderelevant = $sg->melderelevant; $foerderrelevant = $sg->foerderrelevant; $standort_code = $sg->standort_code; + $melde_studiengang_kz = $sg->melde_studiengang_kz; } $erh = new erhalter(); @@ -611,6 +615,12 @@ if (!$erh->getAll('kurzbz')) + + + +
Meldestudiengangskennzahl + +
Bezeichnung From 1c3acc6366f8050ac804b8eb8e1eb6e8d11040dd Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Wed, 29 Jun 2022 17:59:57 +0200 Subject: [PATCH 07/10] =?UTF-8?q?issue=20overview:=20added=20column=20"Zug?= =?UTF-8?q?eh=C3=B6rigkeit"(Belonging)=20to=20show=20study=20programs=20of?= =?UTF-8?q?=20concerning=20person=20and=20wether=20it=20is=20an=20employee?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/system/issues/issuesData.php | 47 +++++++++++++------ system/filtersupdate.php | 3 ++ system/phrasesupdate.php | 20 ++++++++ 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/application/views/system/issues/issuesData.php b/application/views/system/issues/issuesData.php index a3b011531..ce05ecf8a 100644 --- a/application/views/system/issues/issuesData.php +++ b/application/views/system/issues/issuesData.php @@ -31,15 +31,35 @@ $query = "WITH zustaendigkeiten AS ( $query .= " THEN TRUE ELSE FALSE END AS \"zustaendig\" - FROM system.tbl_fehler_zustaendigkeiten zst + FROM system.tbl_fehler_zustaendigkeiten zst )"; $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern AS \"Fehlercode extern\", datum AS \"Datum\", - inhalt AS \"Inhalt\", inhalt_extern AS \"Inhalt extern\", iss.person_id AS \"PersonId\", iss.oe_kurzbz AS \"OE\", + inhalt AS \"Inhalt\", inhalt_extern AS \"Inhalt extern\", iss.person_id AS \"PersonId\", iss.oe_kurzbz AS \"OE\", ftyp.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlertyp\", stat.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlerstatus\", verarbeitetvon AS \"Verarbeitet von\",verarbeitetamum AS \"Verarbeitet am\", fr.app AS \"Applikation\", fr.fehlertyp_kurzbz AS \"Fehlertypcode\", iss.status_kurzbz AS \"Statuscode\", - pers.vorname AS \"Vorname\", pers.nachname AS \"Nachname\", + pers.vorname AS \"Vorname\", pers.nachname AS \"Nachname\", + ( + /* show all relevant Studiengänge of person and wether it is an employee*/ + SELECT STRING_AGG(studiengang || ' ' || last_status, ' | ') + || (CASE WHEN EXISTS ( + SELECT 1 FROM public.tbl_mitarbeiter ma + JOIN public.tbl_benutzer ben ON ma.mitarbeiter_uid = ben.uid + WHERE person_id = prestudents.person_id + AND ben.aktiv + ) THEN ' | Mitarbeiter' ELSE '' END) + FROM ( + SELECT DISTINCT person_id, prestudent_id, UPPER(stg.typ || stg.kurzbz) AS studiengang, get_rolle_prestudent(ps.prestudent_id, null) AS last_status + FROM public.tbl_prestudent ps + JOIN public.tbl_studiengang stg USING (studiengang_kz) + WHERE person_id = pers.person_id + ORDER BY prestudent_id DESC + ) prestudents + WHERE last_status IN ('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent') + GROUP BY person_id + LIMIT 1; + ) AS \"Zugehörigkeit\", CASE WHEN EXISTS(SELECT 1 @@ -60,7 +80,7 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern FROM system.tbl_fehler_zustaendigkeiten JOIN public.tbl_person USING (person_id) WHERE fehlercode = fr.fehlercode - GROUP BY fehlercode + GROUP BY fehlercode ) AS \"Person Zuständigkeiten\", ( SELECT string_agg(organisationseinheittyp_kurzbz || ' ' || oe.bezeichnung || COALESCE(' - ' || fu.beschreibung, ''), ' | ' ORDER BY bezeichnung, oe_kurzbz) @@ -68,7 +88,7 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern LEFT JOIN public.tbl_organisationseinheit oe USING (oe_kurzbz) LEFT JOIN public.tbl_funktion fu USING (funktion_kurzbz) WHERE fehlercode = fr.fehlercode - GROUP BY fehlercode + GROUP BY fehlercode ) AS \"Organisationseinheit Zuständigkeiten\" FROM system.tbl_issue iss JOIN system.tbl_fehler fr USING (fehlercode) @@ -95,13 +115,13 @@ if (!isEmptyArray($all_oe_kurzbz_berechtigt)) AND NOT EXISTS (SELECT 1 /* irrelevant if already finished studies and studied a while ago */ FROM public.tbl_prestudentstatus ps_finished JOIN public.tbl_studiensemester sem_finished USING (studiensemester_kurzbz) - WHERE prestudent_id = ps.prestudent_id + WHERE prestudent_id = ps.prestudent_id AND status_kurzbz IN ('Absolvent','Abbrecher','Abgewiesener') AND datum::date + interval '2 months' < NOW() AND EXISTS (SELECT 1 FROM public.tbl_prestudent /* if more recent prestudent exists, still display the issue */ JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiensemester USING (studiensemester_kurzbz) - WHERE tbl_prestudentstatus.status_kurzbz IN $RELEVANT_PRESTUDENT_STATUS + WHERE tbl_prestudentstatus.status_kurzbz IN $RELEVANT_PRESTUDENT_STATUS AND person_id = ps.person_id AND prestudent_id <> ps_finished.prestudent_id AND tbl_studiensemester.start::date > sem_finished.start::date) @@ -149,6 +169,7 @@ $filterWidgetArray = array( ucfirst($this->p->t('fehlermonitoring', 'statuscode')), ucfirst($this->p->t('person', 'vorname')), ucfirst($this->p->t('person', 'nachname')), + ucfirst($this->p->t('fehlermonitoring', 'zugehoerigkeit')), ucfirst($this->p->t('fehlermonitoring', 'hauptzustaendig')), ucfirst($this->p->t('fehlermonitoring', 'zustaendigePersonen')), ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten')) @@ -180,16 +201,16 @@ $filterWidgetArray = array( $datasetRaw->{'OE'} = '-'; } - if ($datasetRaw->{'Verarbeitet am'} == null) - { - $datasetRaw->{'Verarbeitet am'} = '-'; - } - if ($datasetRaw->{'Verarbeitet von'} == null) { $datasetRaw->{'Verarbeitet von'} = '-'; } + if ($datasetRaw->{'Zugehörigkeit'} == null) + { + $datasetRaw->{'Zugehörigkeit'} = '-'; + } + if ($datasetRaw->{'Person Zuständigkeiten'} == null) { $datasetRaw->{'Person Zuständigkeiten'} = '-'; @@ -200,8 +221,6 @@ $filterWidgetArray = array( $datasetRaw->{'Organisationseinheit Zuständigkeiten'} = '-'; } - - return $datasetRaw; }, 'markRow' => function($datasetRaw) { diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 203e96701..abe8ac1a5 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -927,6 +927,7 @@ $filters = array( {"name": "Nachname"}, {"name": "PersonId"}, {"name": "Fehlerstatus"}, + {"name": "Zugehörigkeit"}, {"name": "Person Zuständigkeiten"}, {"name": "Organisationseinheit Zuständigkeiten"} ], @@ -963,6 +964,7 @@ $filters = array( {"name": "Nachname"}, {"name": "PersonId"}, {"name": "Fehlerstatus"}, + {"name": "Zugehörigkeit"}, {"name": "Person Zuständigkeiten"}, {"name": "Organisationseinheit Zuständigkeiten"} ], @@ -995,6 +997,7 @@ $filters = array( {"name": "Nachname"}, {"name": "PersonId"}, {"name": "Fehlerstatus"}, + {"name": "Zugehörigkeit"}, {"name": "Verarbeitet von"}, {"name": "Verarbeitet am"} ], diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index ccba62ff0..f198ee6f6 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -14852,6 +14852,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'fehlermonitoring', + 'phrase' => 'zugehoerigkeit', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Zugehörigkeit", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "belonging", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'ui', From f74e036ec8b84232b61b755cc08162415ca9a95b Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Thu, 30 Jun 2022 11:27:24 +0200 Subject: [PATCH 08/10] moved Berechtigung "extension/dvuh_gui_ekz_anfordern" to DVUH extension SQL --- system/dbupdate_3.3.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index bca2f9c55..01839e4b9 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -6140,19 +6140,6 @@ if (!$result = @$db->db_query("SELECT melde_studiengang_kz FROM public.tbl_studi echo '
public.tbl_studiengang: Neue Spalte melde_studiengang_kz hinzugefuegt.'; } -// Add permission for calling certain APIs in Datenverbund extension -if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'extension/dvuh_gui_ekz_anfordern';")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('extension/dvuh_gui_ekz_anfordern', 'Berechtigung für Abfage des Ersatzkennzeichens in der Datenverbund GUI');"; - if(!$db->db_query($qry)) - echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; - else - echo '
system.tbl_berechtigung: Added permission for extension/dvuh_gui_ekz_anfordern'; - } -} - // ADD COLUMN insertamum to system.tbl_fehler_zustaendigkeiten if(!@$db->db_query("SELECT insertamum FROM system.tbl_fehler_zustaendigkeiten LIMIT 1")) { From 1641a879af52d24b4a01c784a9e76e4fb8abb826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 1 Jul 2022 09:04:52 +0200 Subject: [PATCH 09/10] PHP Version Compatibility fixed --- application/models/person/Person_model.php | 2 +- cis/private/tools/suche.php | 2 +- include/person.class.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 173cec529..94ffb78a3 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -82,7 +82,7 @@ class Person_model extends DB_Model } else { - $person['svnr'] = $person['svnr'] . 'v' . ($result->retval[0]->svnr{11} + 1); + $person['svnr'] = $person['svnr'] . 'v' . ($result->retval[0]->svnr[11] + 1); } } } diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index b4574a95f..15d75c546 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -275,7 +275,7 @@ function searchOE($searchItems) $oe->result[] = new organisationseinheit($row->oe_kurzbz); } - if(count($oe->result)>0) + if(is_array($oe->result) && count($oe->result)>0) { echo '

',$p->t('global/organisationseinheiten'),'

'; echo ' diff --git a/include/person.class.php b/include/person.class.php index e10862ea1..8295a76e1 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -284,7 +284,7 @@ class person extends basis_db //Quersumme bilden for ($i = 0; $i < 10; $i++) { - $erg += $gewichtung[$i] * $this->svnr{$i}; + $erg += $gewichtung[$i] * $this->svnr[$i]; } if ($this->svnr[3] != ($erg % 11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11 From ac231722f1955b717eb063d751bb541e22149d16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 1 Jul 2022 14:31:39 +0200 Subject: [PATCH 10/10] Problem behoben wodruch Fehlermeldungen nicht korrekt angezeigt wurden in der Zeitaufzeichnung --- include/zeitaufzeichnung_import_post.class.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/zeitaufzeichnung_import_post.class.php b/include/zeitaufzeichnung_import_post.class.php index dc6381ecb..a6a59376e 100644 --- a/include/zeitaufzeichnung_import_post.class.php +++ b/include/zeitaufzeichnung_import_post.class.php @@ -43,7 +43,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $this->edit = $edit; $this->data = $data; } - + /** * @return string @@ -77,7 +77,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $this->addError($ex->getMessage()); } } - + /** * @param string $zeitaufzeichnung_id * @return void @@ -125,7 +125,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $this->zeit->service_id = $service_id; $this->zeit->kunde_uid = $kunde_uid; } - + /** * @param string $start datetime * @param string $end datetime @@ -145,7 +145,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { * @param string $start "Y-m-d H:i:s" formatted datetime * @param string $end "Y-m-d H:i:s" formatted datetime * @return void - * + * * @throws Exception */ protected function checkPauseInArbeitszeit($start, $end) { @@ -158,7 +158,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { * @param string $start "Y-m-d H:i:s" formatted datetime * @param string $end "Y-m-d H:i:s" formatted datetime * @return void - * + * * @throws Exception */ protected function checkPauseValid($start, $end) { @@ -177,7 +177,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $ende = $this->zeit->ende; $this->zeit->ende = $this->datum->formatDatum($start, 'Y-m-d H:i:s'); if (!$this->zeit->save()) { - $this->addError($p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $this->zeit->errormsg); + $this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $this->zeit->errormsg); } //Eintrag für die Pause $pause = new zeitaufzeichnung(); @@ -193,7 +193,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $pause->ende = $this->datum->formatDatum($end, 'Y-m-d H:i:s'); $pause->beschreibung = ''; if (!$pause->save()) { - $this->addError($p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $pause->errormsg); + $this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $pause->errormsg); } // Eintrag Arbeit ab der Pause if ($this->zeit->new == false) { @@ -208,7 +208,7 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { /** * @return void - * + * * @throws Exception */ protected function saveZeit() { @@ -218,5 +218,5 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import { $this->addInfo($this->p->t("global/datenWurdenGespeichert")); } } - + }