From 9e8e8c98c85f7e3a352f9d709a725184a3b40d7e Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 11 Apr 2022 10:23:45 +0200 Subject: [PATCH 1/6] 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 2/6] =?UTF-8?q?studentenmeldung.php:=20export=20for=20all?= =?UTF-8?q?=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 3/6] 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 4/6] 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 5/6] 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 6/6] 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