From b7d5fef30a4a852444332451aeda7c5c62d5e901 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 16 Jun 2021 08:03:54 +0200 Subject: [PATCH 001/120] nachrichten wegschicken auch wenn die Sprache nicht gefunden wurde --- application/libraries/VorlageLib.php | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index 9679dff1c..d8d443a41 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -114,7 +114,7 @@ class VorlageLib if (!hasData($vorlage)) { // Builds where clause - $where = $this->_where($vorlage_kurzbz, $orgform_kurzbz, $sprache); + $where = $this->_where($vorlage_kurzbz); $vorlage = $this->ci->organisationseinheitlib->treeSearch( 'public', @@ -134,20 +134,11 @@ class VorlageLib /** * _where */ - private function _where($vorlage_kurzbz, $orgform_kurzbz, $sprache) + private function _where($vorlage_kurzbz) { // Builds where clause $where = "vorlage_kurzbz = ".$this->ci->VorlageModel->escape($vorlage_kurzbz); - if (is_null($sprache)) - { - $where .= " AND sprache IS NULL"; - } - else - { - $where .= " AND sprache = ".$this->ci->VorlageModel->escape($sprache); - } - $where .= " AND aktiv = true"; return $where; From dc5ca70645bb92047975e3e96f2881474db1410c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 13:55:13 +0200 Subject: [PATCH 002/120] Create zgvdoktor.rdf.php ZGV Doktor und zgv_erfuellt --- rdf/zgvdoktor.rdf.php | 79 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 rdf/zgvdoktor.rdf.php diff --git a/rdf/zgvdoktor.rdf.php b/rdf/zgvdoktor.rdf.php new file mode 100644 index 000000000..dc0b38ff7 --- /dev/null +++ b/rdf/zgvdoktor.rdf.php @@ -0,0 +1,79 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// header fr no cache +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +// content type setzen +header("Content-type: application/xhtml+xml"); + +echo ''; +require_once('../config/vilesci.config.inc.php'); +require_once('../include/basis_db.class.php'); + +$rdf_url='http://www.technikum-wien.at/zgvdoktor'; + +?> + + + + + + + + + + -- keine Auswahl -- + -- keine Auswahl -- + + +'; +} +$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code'; +$db = new basis_db(); + +if($db->db_query($qry)) +{ + while($row = $db->db_fetch_object()) + { +?> + + + zgvdoktor_code; ?>]]> + zgvdoktor_bez; ?>]]> + zgvdoktor_kurzbz; ?>]]> + + + + + \ No newline at end of file From 713374f4d867ef1404807f79d20d2f40e53ec81c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 13:59:16 +0200 Subject: [PATCH 003/120] ZGV Doktor und zgv_erfuellt --- rdf/student.rdf.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 3771f7d5e..ae2016aea 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -126,14 +126,16 @@ function checkfilter($row, $filter2, $buchungstyp = null) elseif($filter2=='zgvohnedatum') { //Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum - $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum + $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum,zgvdoktor_code, zgvdoktordatum FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id); if($db->db_query($qry)) { if($row_filter = $db->db_fetch_object()) { if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='') - || ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='')) + || ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='') + || ($row_filter->zgvdoktor_code!='' && $row_filter->zgvdoktordatum=='') + ) return true; else return false; @@ -352,11 +354,18 @@ function draw_prestudent($row) convertISODate($row->zgvdatum).']]> zgvdatum.']]> zgvnation.']]> + zgv_erfuellt.']]> zgvmas_code.']]> zgvmaort.']]> convertISODate($row->zgvmadatum).']]> zgvmadatum.']]> zgvmanation.']]> + zgvmas_erfuellt.']]> + zgvdoktor_code.']]> + zgvdoktorort.']]> + convertISODate($row->zgvdoktordatum).']]> + zgvdoktordatum.']]> + zgvdoktornation.']]> zgvdoktor_erfuellt.']]> ausstellungsstaat.']]> aufnahmeschluessel.']]> facheinschlberuf?'true':'false').']]> From ced3f0f97858f6e9f168e40f1d8d4c8d1648ad58 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:04:43 +0200 Subject: [PATCH 004/120] ZGV Doktor und zgv_erfuellt --- rdf/prestudent.rdf.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rdf/prestudent.rdf.php b/rdf/prestudent.rdf.php index bc7c17036..b7b8aa6d9 100644 --- a/rdf/prestudent.rdf.php +++ b/rdf/prestudent.rdf.php @@ -68,11 +68,19 @@ if(isset($_GET['prestudent_id']) && is_numeric($_GET['prestudent_id'])) zgvdatum; ?>]]> convertISODate($prestd->zgvdatum); ?>]]> zgvnation; ?>]]> + zgv_erfuellt; ?>]]> zgvmas_code; ?>]]> zgvmaort; ?>]]> zgvmadatum; ?>]]> convertISODate($prestd->zgvmadatum); ?>]]> zgvmanation; ?>]]> + zgvmas_erfuellt; ?>]]> + zgvdoktor_code; ?>]]> + zgvdoktorort; ?>]]> + zgvdoktordatum; ?>]]> + convertISODate($prestd->zgvdoktordatum); ?>]]> + zgvdoktornation; ?>]]> + zgvdoktor_erfuellt; ?>]]> aufnahmeschluessel; ?>]]> facheinschlberuf?'true':'false'); ?>]]> reihungstest_id; ?>]]> From cf0957f8a494126561095503d1f8f618cf9b82db Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:10:37 +0200 Subject: [PATCH 005/120] ZGV Doktor und zgv_erfuellt --- content/student/studentdetailoverlay.xul.php | 64 ++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index 18e69874e..7771c17cb 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -294,6 +294,8 @@ echo ''; + + @@ -332,6 +334,14 @@ echo ''; + + + + + + From 8423b3e30af659d28ef2bf45d368987e26681d46 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:21:10 +0200 Subject: [PATCH 006/120] ZGV Doktor und zgv_erfuellt --- content/student/studentoverlay.js.php | 56 ++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index f034ae473..fa142d8fa 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -1137,10 +1137,18 @@ function StudentAuswahl() zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" )); zgvnation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvnation" )); zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" )); + zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" )); zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" )); zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" )); zgvmasternation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmanation" )); - zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" )); + zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" )); + zgvmas_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_erfuellt" )); + zgvdoktor_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_code" )); + zgvdoktorort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktorort" )); + zgvdoktornation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktornation" )); + zgvdoktordatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktordatum" )); + zgvdoktor_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_erfuellt" )); + aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" )); facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" )); bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" )); @@ -1157,10 +1165,26 @@ function StudentAuswahl() document.getElementById('student-prestudent-textbox-zgvort').value=zgvort; MenulistSelectItemOnValue('student-prestudent-menulist-zgvnation', zgvnation); document.getElementById('student-prestudent-textbox-zgvdatum').value=zgvdatum; + if(zgv_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false; document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code; document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort; MenulistSelectItemOnValue('student-prestudent-menulist-zgvmasternation', zgvmasternation); document.getElementById('student-prestudent-textbox-zgvmasterdatum').value=zgvmasterdatum; + if(zgvmas_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false; + document.getElementById('student-prestudent-menulist-zgvdoktorcode').value=zgvdoktor_code; + document.getElementById('student-prestudent-textbox-zgvdoktorort').value=zgvdoktorort; + MenulistSelectItemOnValue('student-prestudent-menulist-zgvdoktornation', zgvdoktornation); + document.getElementById('student-prestudent-textbox-zgvdoktordatum').value=zgvdoktordatum; + if(zgvdoktor_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=false; document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value=aufnahmeschluessel; if(facheinschlberuf=='true') document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true; @@ -1694,10 +1718,18 @@ function StudentPrestudentDisableFields(val) document.getElementById('student-prestudent-textbox-zgvort').disabled=val; document.getElementById('student-prestudent-menulist-zgvnation').disabled=val; document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val; document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val; document.getElementById('student-prestudent-menulist-zgvmasternation').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterdatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').disabled=val; + document.getElementById('student-prestudent-menulist-zgvdoktorcode').disabled=val; + document.getElementById('student-prestudent-textbox-zgvdoktorort').disabled=val; + document.getElementById('student-prestudent-menulist-zgvdoktornation').disabled=val; + document.getElementById('student-prestudent-textbox-zgvdoktordatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').disabled=val; + document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val; document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val; document.getElementById('student-prestudent-checkbox-bismelden').disabled=val; @@ -1763,10 +1795,18 @@ function StudentPrestudentSave() zgvort = document.getElementById('student-prestudent-textbox-zgvort').value; zgvnation = document.getElementById('student-prestudent-menulist-zgvnation').value; zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value; + zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked; zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value; zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value; zgvmasternation = document.getElementById('student-prestudent-menulist-zgvmasternation').value; zgvmasterdatum = document.getElementById('student-prestudent-textbox-zgvmasterdatum').value; + zgvmas_erfuellt = document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked; + zgvdoktor_code = document.getElementById('student-prestudent-menulist-zgvdoktorcode').value; + zgvdoktorort = document.getElementById('student-prestudent-textbox-zgvdoktorort').value; + zgvdoktornation = document.getElementById('student-prestudent-menulist-zgvdoktornation').value; + zgvdoktordatum = document.getElementById('student-prestudent-textbox-zgvdoktordatum').value; + zgvdoktor_erfuellt = document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked; + aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value; facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked; bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked; @@ -1790,7 +1830,11 @@ function StudentPrestudentSave() alert('ZGVMaster Datum ist ungueltig'); return false; } - + if(zgvdoktordatum!='' && !CheckDatum(zgvdoktordatum)) + { + alert('ZGVDoktor Datum ist ungueltig'); + return false; + } var url = 'content/student/studentDBDML.php'; var req = new phpRequest(url,'',''); @@ -1809,10 +1853,18 @@ function StudentPrestudentSave() req.add('zgvort', zgvort); req.add('zgvnation', zgvnation); req.add('zgvdatum', ConvertDateToISO(zgvdatum)); + req.add('zgv_erfuellt', zgv_erfuellt); req.add('zgvmas_code', zgvmaster_code); req.add('zgvmaort', zgvmasterort); req.add('zgvmanation', zgvmasternation); req.add('zgvmadatum', ConvertDateToISO(zgvmasterdatum)); + req.add('zgvmas_erfuellt', zgvmas_erfuellt); + req.add('zgvdoktor_code', zgvdoktor_code); + req.add('zgvdoktorort', zgvdoktorort); + req.add('zgvdoktornation', zgvdoktornation); + req.add('zgvdoktordatum', ConvertDateToISO(zgvdoktordatum)); + req.add('zgvdoktor_erfuellt', zgvdoktor_erfuellt); + req.add('aufnahmeschluessel', aufnahmeschluessel); req.add('facheinschlberuf', facheinschlberuf); req.add('bismelden', bismelden); From ed43b03e378fa057bbd5d3245a586528e147bcc7 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:33:03 +0200 Subject: [PATCH 007/120] ZGV Doktor und zgv_erfuellt --- content/student/studentDBDML.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 79e330c7f..6aa407c5e 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -365,6 +365,7 @@ if(!$error) $error = true; $errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang'; } + //Studentendaten speichern if(!$error) { @@ -384,7 +385,8 @@ if(!$error) $return = false; $errormsg = 'Geburtsdatum ist nicht korrekt.'; $error = true; - } + } + if(!$error) { $student->uid = $_POST['uid']; @@ -624,10 +626,17 @@ if(!$error) $prestudent->zgvort = $_POST['zgvort']; $prestudent->zgvdatum = $_POST['zgvdatum']; $prestudent->zgvnation = $_POST['zgvnation']; + $prestudent->zgv_erfuellt = $_POST['zgv_erfuellt']; $prestudent->zgvmas_code = $_POST['zgvmas_code']; $prestudent->zgvmaort = $_POST['zgvmaort']; $prestudent->zgvmadatum = $_POST['zgvmadatum']; $prestudent->zgvmanation = $_POST['zgvmanation']; + $prestudent->zgvmas_erfuellt = $_POST['zgvmas_erfuellt']; + $prestudent->zgvdoktor_code = $_POST['zgvdoktor_code']; + $prestudent->zgvdoktorort = $_POST['zgvdoktorort']; + $prestudent->zgvdoktordatum = $_POST['zgvdoktordatum']; + $prestudent->zgvdoktornation = $_POST['zgvdoktornation']; + $prestudent->zgvdoktor_erfuellt = $_POST['zgvdoktor_erfuellt']; $prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel']; $prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false); $prestudent->bismelden = ($_POST['bismelden']=='true'?true:false); @@ -2308,7 +2317,7 @@ if(!$error) { if ($dokument_kurzbz === 'Sonst' && $sonst !== 0) continue; - + if($dokument_kurzbz!='') { $dok = new dokument(); @@ -2321,6 +2330,7 @@ if(!$error) $dok->new = true; if ($dokument_kurzbz === 'Sonst') $sonst++; + if(!$dok->save()) { @@ -2515,7 +2525,6 @@ if(!$error) $dokumente = explode(';',$_POST['dokumente']); $errormsg = ''; $sonst = 0; - foreach ($dokumente as $dokument_kurzbz) { if ($dokument_kurzbz === 'Sonst' && $sonst !== 0) From 624b910edd9c396d47142d7508d3a2dd7783a8ac Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:30:37 +0200 Subject: [PATCH 008/120] ZGV Doktor und zgv_erfuellt --- include/prestudent.class.php | 76 ++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 17 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index eb8767883..8ff3a8724 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -44,10 +44,12 @@ class prestudent extends person public $zgvort; public $zgvdatum; public $zgvnation; + public $zgv_erfuellt; public $zgvmas_code; public $zgvmaort; public $zgvmadatum; public $zgvmanation; + public $zgvmas_erfuellt; public $ausstellungsstaat; public $aufnahmeschluessel; public $facheinschlberuf; @@ -68,6 +70,7 @@ class prestudent extends person public $zgvdoktorort; public $zgvdoktordatum; public $zgvdoktornation; + public $zgvdoktor_erfuellt; public $gsstudientyp_kurzbz='Intern'; public $aufnahmegruppe_kurzbz; public $priorisierung = null; @@ -137,10 +140,12 @@ class prestudent extends person $this->zgvort = $row->zgvort; $this->zgvdatum = $row->zgvdatum; $this->zgvnation = $row->zgvnation; + $this->zgv_erfuellt = $row->zgv_erfuellt; $this->zgvmas_code = $row->zgvmas_code; $this->zgvmaort = $row->zgvmaort; $this->zgvmadatum = $row->zgvmadatum; $this->zgvmanation = $row->zgvmanation; + $this->zgvmas_erfuellt = $row->zgvmas_erfuellt; $this->aufnahmeschluessel = $row->aufnahmeschluessel; $this->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); $this->anmeldungreihungstest = $row->anmeldungreihungstest; @@ -161,6 +166,7 @@ class prestudent extends person $this->zgvdoktorort = $row->zgvdoktorort; $this->zgvdoktordatum = $row->zgvdoktordatum; $this->zgvdoktornation = $row->zgvdoktornation; + $this->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; $this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; $this->priorisierung = $row->priorisierung; @@ -220,6 +226,11 @@ class prestudent extends person $this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.'; return false; } + if(mb_strlen($this->zgvdoktorort)>64) + { + $this->errormsg = 'ZGV Doktor Ort darf nicht länger als 64 Zeichen sein.'; + return false; + } return true; } @@ -245,12 +256,13 @@ class prestudent extends person if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE { $qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id, - studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, - zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf, + studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, zgv_erfuellt, + zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, zgvmas_erfuellt, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, + zgvdoktornation,aufnahmeschluessel, facheinschlberuf, reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon, updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('. $this->db_add_param($this->aufmerksamdurch_kurzbz).",". $this->db_add_param($this->person_id).",". $this->db_add_param($this->studiengang_kz).",". @@ -260,10 +272,16 @@ class prestudent extends person $this->db_add_param($this->zgvort).",". $this->db_add_param($this->zgvdatum).",". $this->db_add_param($this->zgvnation).",". + $this->db_add_param($this->zgv_erfuellt).",". $this->db_add_param($this->zgvmas_code).",". $this->db_add_param($this->zgvmaort).",". $this->db_add_param($this->zgvmadatum).",". $this->db_add_param($this->zgvmanation).",". + $this->db_add_param($this->zgvmas_erfuellt).",". + $this->db_add_param($this->zgvdoktor_code).",". + $this->db_add_param($this->zgvdoktorort).",". + $this->db_add_param($this->zgvdoktordatum).",". + $this->db_add_param($this->zgvdoktornation).",". $this->db_add_param($this->aufnahmeschluessel).",". $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". $this->db_add_param($this->reihungstest_id).",". @@ -284,7 +302,8 @@ class prestudent extends person $this->db_add_param($this->mentor).",". $this->db_add_param($this->gsstudientyp_kurzbz).",". $this->db_add_param($this->aufnahmegruppe_kurzbz).",". - $this->db_add_param($this->priorisierung).");"; + $this->db_add_param($this->priorisierung).",". + $this->db_add_param($this->zgvdoktor_erfuellt).");"; } else { @@ -298,10 +317,16 @@ class prestudent extends person ' zgvort='.$this->db_add_param($this->zgvort).",". ' zgvdatum='.$this->db_add_param($this->zgvdatum).",". ' zgvnation='.$this->db_add_param($this->zgvnation).",". + ' zgv_erfuellt='.$this->db_add_param($this->zgv_erfuellt).",". ' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",". ' zgvmaort='.$this->db_add_param($this->zgvmaort).",". ' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",". ' zgvmanation='.$this->db_add_param($this->zgvmanation).",". + ' zgvmas_erfuellt='.$this->db_add_param($this->zgvmas_erfuellt).",". + ' zgvdoktor_code='.$this->db_add_param($this->zgvdoktor_code).",". + ' zgvdoktorort='.$this->db_add_param($this->zgvdoktorort).",". + ' zgvdoktordatum='.$this->db_add_param($this->zgvdoktordatum).",". + ' zgvdoktornation='.$this->db_add_param($this->zgvdoktornation).",". ' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",". ' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". ' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",". @@ -320,7 +345,8 @@ class prestudent extends person ' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",". ' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",". ' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",". - ' priorisierung='.$this->db_add_param($this->priorisierung).' '. + ' priorisierung='.$this->db_add_param($this->priorisierung).",". + ' zgvdoktor_erfuellt='.$this->db_add_param($this->zgvdoktor_erfuellt).' '. " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";"; } @@ -796,10 +822,12 @@ class prestudent extends person case "zgv": $stg_obj = new studiengang(); $stg_obj->load($studiengang_kz); - if($stg_obj->typ=='m') - $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null"; + if($stg_obj->typ=='m') + $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null AND a.zgvmas_erfuellt = 't'"; + elseif($stg_obj->typ=='p') + $qry.=" AND a.rolle='Interessent' AND a.zgvdoktor_code is not null AND a.zgvdoktor_erfuellt = 't'"; else - $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null"; + $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null AND a.zgv_erfuellt = 't'"; break; case "reihungstestangemeldet": $qry.=" @@ -896,10 +924,17 @@ class prestudent extends person $ps->zgvort = $row->zgvort; $ps->zgvdatum = $row->zgvdatum; $ps->zgvnation = $row->zgvnation; + $ps->zgv_erfuellt = $row->zgv_erfuellt; $ps->zgvmas_code = $row->zgvmas_code; $ps->zgvmaort = $row->zgvmaort; $ps->zgvmadatum = $row->zgvmadatum; $ps->zgvmanation = $row->zgvmanation; + $ps->zgvmas_erfuellt = $row->zgvmas_erfuellt; + $ps->zgvdoktor_code = $row->zgvdoktor_code; + $ps->zgvdoktorort = $row->zgvdoktorort; + $ps->zgvdoktordatum = $row->zgvdoktordatum; + $ps->zgvdoktornation = $row->zgvdoktornation; + $ps->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; $ps->ausstellungsstaat = $row->ausstellungsstaat; $ps->aufnahmeschluessel = $row->aufnahmeschluessel; $ps->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); @@ -1418,10 +1453,12 @@ class prestudent extends person $obj->zgvort = $row->zgvort; $obj->zgvdatum = $row->zgvdatum; $obj->zgvnation = $row->zgvnation; + $obj->zgv_erfuellt = $row->zgv_erfuellt; $obj->zgvmas_code = $row->zgvmas_code; $obj->zgvmaort = $row->zgvmaort; $obj->zgvmadatum = $row->zgvmadatum; $obj->zgvmanation = $row->zgvmanation; + $obj->zgvmas_erfuellt = $row->zgvmas_erfuellt; $obj->aufnahmeschluessel = $row->aufnahmeschluessel; $obj->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); $obj->anmeldungreihungstest = $row->anmeldungreihungstest; @@ -1441,11 +1478,12 @@ class prestudent extends person $obj->zgvdoktor_code = $row->zgvdoktor_code; $obj->zgvdoktorort = $row->zgvdoktorort; $obj->zgvdoktordatum = $row->zgvdoktordatum; - $obj->zgvdoktornation = $row->zgvdoktornation; + $obj->zgvdoktornation = $row->zgvdoktornation; $obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; $obj->priorisierung = $row->priorisierung; - + $obj->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; + $this->result[] = $obj; } return true; @@ -1468,7 +1506,7 @@ class prestudent extends person ( 'bachelor' => array(), 'master' => array(), - //'doktor' => array(), + 'doktor' => array(), ); $attribute = array ( @@ -2065,11 +2103,11 @@ class prestudent extends person $log->sql = $qry; $log->sqlundo = 'INSERT INTO public.tbl_prestudent( prestudent_id, aufmerksamdurch_kurzbz, studiengang_kz, berufstaetigkeit_code, ausbildungcode, - zgv_code, zgvort, zgvdatum, zgvnation, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, + zgv_code, zgvort, zgvdatum, zgvnation,zgv_erfuellt, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,zgvmas_erfuellt, aufnahmeschluessel, facheinschlberuf, anmeldungreihungstest, reihungstestangetreten, reihungstest_id, punkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, person_id, anmerkung, mentor, ext_id_prestudent, dual, ausstellungsstaat, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, zgvdoktornation, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('. $this->db_add_param($this->prestudent_id).','. $this->db_add_param($this->aufmerksamdurch_kurzbz).','. $this->db_add_param($this->studiengang_kz).','. @@ -2079,10 +2117,12 @@ class prestudent extends person $this->db_add_param($this->zgvort).','. $this->db_add_param($this->zgvdatum).','. $this->db_add_param($this->zgvnation).','. + $this->db_add_param($this->zgv_erfuellt).','. $this->db_add_param($this->zgvmas_code).','. $this->db_add_param($this->zgvmaort).','. $this->db_add_param($this->zgvmadatum).','. $this->db_add_param($this->zgvmanation).','. + $this->db_add_param($this->zgvmas_erfuellt).','. $this->db_add_param($this->aufnahmeschluessel).','. $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).','. $this->db_add_param($this->anmeldungreihungstest).','. @@ -2105,7 +2145,8 @@ class prestudent extends person $this->db_add_param($this->zgvdoktornation).','. $this->db_add_param($this->gsstudientyp_kurzbz).','. $this->db_add_param($this->aufnahmegruppe_kurzbz).','. - $this->db_add_param($this->priorisierung).');'; + $this->db_add_param($this->priorisierung).','. + $this->db_add_param($this->zgvdoktor_erfuellt).');'; if($log->save(true)) { @@ -2216,9 +2257,9 @@ class prestudent extends person WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent') AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER); - if ($result = $this->db_query($qry)) + if($result = $this->db_query($qry)) { - if ($row = $this->db_fetch_object($result)) + if($row = $this->db_fetch_object($result)) { return $row->prio_relativ; } @@ -2233,8 +2274,9 @@ class prestudent extends person $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - } + + } /** * Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt * @param int $person_id ID der zu überprüfenden Person. From a6d83ef321ed4fdb0f777a2866426a63b825d0cc Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:39:36 +0200 Subject: [PATCH 009/120] ZGV Doktor und zgv_erfuellt --- system/dbupdate_3.3.php | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7e0aefe09..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2567,7 +2567,6 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } - // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2579,6 +2578,40 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } +// Spalte zgv_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; +} + +// Spalte zgvmas_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; +} + +// Spalte zgvdoktor_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; +} + + // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -5145,7 +5178,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5299,4 +5332,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
Gegenpruefung fehlerfrei'; -?> +?> \ No newline at end of file From b7c22ac56fb254ed3fc556d70884dabffe45d1e0 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Mon, 6 Sep 2021 12:25:29 +0200 Subject: [PATCH 010/120] Fixed: Now including correctly config start- and enddate Signed-off-by: cris-technikum --- .../controllers/lehre/anrechnung/RequestAnrechnung.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 45a770cf5..306ce5841 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -80,7 +80,7 @@ class requestAnrechnung extends Auth_Controller $prestudent_id = getData($result)[0]->prestudent_id; // Check if application deadline is expired - $is_expired = self::_checkAntragDeadline( + $is_expired = self::_isExpired( $this->config->item('submit_application_start'), $this->config->item('submit_application_end'), $studiensemester_kurzbz @@ -226,10 +226,10 @@ class requestAnrechnung extends Auth_Controller * @param $start Start date for application submission. * @param $ende End date for application submission. * @param $studiensemester_kurzbz - * @return bool True if today is not during the start- and ending deadlines (= if is expired) + * @return bool True if deadline is expired * @throws Exception */ - private function _checkAntragDeadline($start, $ende, $studiensemester_kurzbz) + private function _isExpired($start, $ende, $studiensemester_kurzbz) { $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); @@ -253,8 +253,8 @@ class requestAnrechnung extends Auth_Controller $start = new DateTime($start); $ende = new DateTime($ende); - // True if today is not during the start- and ending deadlines (= if is expired) - return ($today <= $start || $today >= $ende); + // True if expired + return ($today < $start || $today > $ende); } /** From 4f46476f877ec9c851446383b4c037d117cfc846 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Mon, 6 Sep 2021 12:56:43 +0200 Subject: [PATCH 011/120] Fixed: Now entitlement checked for all STGL. Also added hasData checks. Before only the first returning STGL was checked for entitlement. Also added hasData checks to avoid using getData on NULL values. Signed-off-by: cris-technikum --- .../anrechnung/ApproveAnrechnungDetail.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php index d76c0d79b..209ad75b9 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php @@ -412,28 +412,31 @@ class approveAnrechnungDetail extends Auth_Controller { $result = $this->AnrechnungModel->load($anrechnung_id); - if(!$result = getData($result)[0]) + if(!hasData($result)) { show_error('Failed loading Anrechnung'); } - + $result = $this->LehrveranstaltungModel->loadWhere(array( - 'lehrveranstaltung_id' => $result->lehrveranstaltung_id + 'lehrveranstaltung_id' => getData($result)[0]->lehrveranstaltung_id )); - if(!$result = getData($result)[0]) + if(!hasData($result)) { show_error('Failed loading Lehrveranstaltung'); } // Get STGL - $result = $this->StudiengangModel->getLeitung($result->studiengang_kz); - - if($result = getData($result)[0]) + $result = $this->StudiengangModel->getLeitung(getData($result)[0]->studiengang_kz); + + if (hasData($result)) { - if ($result->uid == $this->_uid) + foreach (getData($result) as $stgl) { - return; + if ($stgl->uid == $this->_uid) + { + return; + } } } From 2d755e82b47176f2aad46db29b44c15e1b2ce269 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 7 Sep 2021 14:36:06 +0200 Subject: [PATCH 012/120] Fixed: Added DB-Update Gegenchecks for new tables / columns in DB Signed-off-by: cris-technikum --- system/dbupdate_3.3.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 2bd3afed6..b60f09de4 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5017,7 +5017,9 @@ $tabellen=array( "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"), "lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"), "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"), - "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"), + "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung"), + "lehre.tbl_anrechnungstatus" => array("status_kurzbz", "bezeichnung_mehrsprachig"), + "lehre.tbl_anrechnung_anrechnungstatus" => array("anrechnungstatus_id", "anrechnung_id", "status_kurzbz", "datum", "insertamum", "insertvon"), "lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"), "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"), "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"), From 4cfad06f2d459506b1d74f57e65296bc7273ca80 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 7 Sep 2021 14:37:39 +0200 Subject: [PATCH 013/120] Fixed: Added check to only add columns if no already present Signed-off-by: cris-technikum --- system/dbupdate_3.3.php | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index b60f09de4..caf562368 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4565,19 +4565,22 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants // Change genehmigt_von and begruendung_id to be NULLABLE if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) { - $qry = " - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint; - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; - - ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; - ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; - - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); - "; + if($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint; + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; + + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); + "; + } if(!$db->db_query($qry)) From ab4c7ee19480e89a97f6a564fd813e6f8602ab9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 15 Sep 2021 18:24:42 +0200 Subject: [PATCH 014/120] =?UTF-8?q?Limit=20beim=20Pr=C3=BCfen=20der=20Spal?= =?UTF-8?q?tenverf=C3=BCgbarkeit=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 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 caf562368..a12729383 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4563,7 +4563,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants // Add column dms_id, studiensemester_kurzbz, anmerkung_student und empfehlung_anrechnung // Change genehmigt_von and begruendung_id to be NULLABLE -if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) +if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung LIMIT 1")) { if($db->db_num_rows($result) == 0) { @@ -4572,10 +4572,10 @@ if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; - + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; - + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); From 9d59fcbfbfda3c01a8c31381db29b1bba9f3cf1a Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:34:06 +0200 Subject: [PATCH 015/120] change of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 246 ++++++++++++++++++++++++++-------------- 1 file changed, 158 insertions(+), 88 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1f7fff366 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,38 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { @@ -532,6 +564,46 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'ue' } } +// Note "intern angerechnet" hinzufügen +if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'iar' AND (bezeichnung = 'intern angerechnet' OR bezeichnung = 'Intern angerechnet');")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = " + INSERT INTO + lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) + VALUES( + (SELECT max(note)+1 FROM lehre.tbl_note),'intern angerechnet', 'iar', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"intern angerechnet\",\"internally credited\"}', FALSE + ); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note: '.$db->db_last_error().'
'; + else + echo '
lehre.tbl_note: Note intern angerechnet hinzugefuegt!
'; + } +} + +// Note "nicht zugelassen" hinzufügen +if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'nz' AND (bezeichnung = 'nicht zugelassen' OR bezeichnung = 'Nicht zugelassen');")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = " + INSERT INTO + lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) + VALUES( + (SELECT max(note)+1 FROM lehre.tbl_note), 'nicht zugelassen', 'nz', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"nicht zugelassen\",\"not admitted\"}', FALSE + ); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note: '.$db->db_last_error().'
'; + else + echo '
lehre.tbl_note: Note nicht zugelassen hinzugefuegt!
'; + } +} + // Spalte offiziell in lehre.tbl_note if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;")) { @@ -1315,7 +1387,7 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit" } // system.tbl_log.taetigkeit_kurzbz -if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log")) +if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log LIMIT 1")) { $qry = " ALTER TABLE system.tbl_log ADD COLUMN taetigkeit_kurzbz varchar(32); @@ -2567,6 +2639,7 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } + // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2578,40 +2651,6 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } -// Spalte zgv_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; -} - -// Spalte zgvmas_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; -} - -// Spalte zgvdoktor_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; -} - - // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -4670,7 +4709,7 @@ if ($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie_gruppe WHER } } -// Add table anrechnung_status +// Add table anrechnungstatus if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;")) { $qry = " @@ -4698,42 +4737,6 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;" echo ' lehre.tbl_anrechnungstatus: Tabelle hinzugefuegt
'; } -// GRANT INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web; -$qry = 'GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web;'; -if (!$db->db_query($qry)) - echo 'lehre.tbl_anrechnungstatus '.$db->db_last_error().'
'; -else - echo '
Granted privileges to web on lehre.tbl_anrechnungstatus'; - - -// SEQUENCE seq_anrechnungstatus_status_kurzbz -if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'seq_anrechnungstatus_status_kurzbz'")) -{ - if ($db->db_num_rows($result) == 0) - { - $qry = ' - CREATE SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - '; - - if(!$db->db_query($qry)) - echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; - else - echo '
Created sequence: lehre.seq_anrechnungstatus_status_kurzbz'; - - // GRANT SELECT, UPDATE ON SEQUENCE lehre.tbl_anrechnungstatus_status_kurzbz_seq to web; - $qry = 'GRANT SELECT, UPDATE ON SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz TO web;'; - if (!$db->db_query($qry)) - echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; - else - echo '
Granted privileges to vilesci on lehre.seq_anrechnungstatus_status_kurzbz'; - } -} - // Add table anrechnung_anrechnungstatus // Für bestehende genehmigte Anrechnungsanträge wird ein Eintrag mit dem Status 'approved' angelegt if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatus LIMIT 1;")) @@ -4763,9 +4766,10 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatu INSERT INTO lehre.tbl_anrechnung_anrechnungstatus(anrechnung_id, status_kurzbz) SELECT anrechnung_id, 'approved' as status_kurzbz FROM lehre.tbl_anrechnung WHERE genehmigt_von is not null; - GRANT SELECT ON lehre.tbl_anrechnung_anrechnungstatus TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO vilesci; GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO vilesci; + GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO web; "; if(!$db->db_query($qry)) @@ -4829,6 +4833,19 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Add permission to create Anrechnung +if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'lehre/anrechnung_anlegen';")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/anrechnung_anlegen', 'Anrechnung anlegen');"; + + if(!$db->db_query($qry)) + echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; + else + echo ' system.tbl_berechtigung: Added permission for lehre/anrechnung_anlegen
'; + } +} // INSERT,DELETE,UPDATE Berechtigung für tbl_dokumentprestudent hinzufügen if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_dokumentprestudent' AND table_schema='public' AND grantee='web' AND privilege_type in ('INSERT','DELETE','UPDATE')")) @@ -4853,13 +4870,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1 status_kurzbz character varying(32), bezeichnung character varying(256) ); - ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung'); - GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus TO web; "; @@ -4883,8 +4898,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) updateamum timestamp without time zone, updatevon character varying(32) ); - - CREATE SEQUENCE public.tbl_zgvpruefung_id_seq + CREATE SEQUENCE public.tbl_zgvpruefung_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -4892,11 +4906,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id); ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq'); ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci; GRANT SELECT ON public.tbl_zgvpruefung TO web; - "; if(!$db->db_query($qry)) @@ -4916,18 +4928,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status status character varying(32), datum timestamp without time zone DEFAULT now() ); - - CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq + CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; - ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id); ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq'); ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web; @@ -4939,8 +4948,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } - -// Add index to system.tbl_log +// Add index to lehre.tbl_pruefung if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { if ($db->db_num_rows($result) == 0) @@ -4966,6 +4974,67 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchung echo ' public.tbl_buchungstyp: Added buchungstyp "ZuschussIO"
'; } } +//Add Column statusgrund_kurzbz to public.tbl_status_grund +if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32); + ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz); + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_status_grund '.$db->db_last_error().'
'; + else + echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; +} + +// INDEX idx_anrechnung_anrechnung_status_anrechnung_id +if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = 'CREATE INDEX idx_anrechnung_anrechnung_status_anrechnung_id ON lehre.tbl_anrechnung_anrechnungstatus USING btree (anrechnung_id)'; + if (!$db->db_query($qry)) + echo 'idx_anrechnung_anrechnung_status_anrechnung_id '.$db->db_last_error().'
'; + else + echo '
Created Index idx_anrechnung_anrechnung_status_anrechnung_id'; + } +} + +// Add Table lehre.tbl_lehrmodus +if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;")) +{ + $qry = " + CREATE TABLE lehre.tbl_lehrmodus + ( + lehrmodus_kurzbz varchar(32) NOT NULL, + bezeichnung_mehrsprachig varchar(255)[], + aktiv boolean DEFAULT true + ); + ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}'); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}'); + GRANT SELECT ON lehre.tbl_lehrmodus TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrmodus: '.$db->db_last_error().'
'; + else + echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt
'; +} + +//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung +if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1")) +{ + $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32); + ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; + else + echo '
Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt'; +} // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5084,8 +5153,9 @@ $tabellen=array( "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"), "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"), + "lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"), "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"), - "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"), + "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"), "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"), "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"), @@ -5178,7 +5248,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5186,7 +5256,7 @@ $tabellen=array( "public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"), "public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), - "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), + "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"), "public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"), From bfa0f722ae4fdca5a2a2ed1cce711cf02e840e6e Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:46:28 +0200 Subject: [PATCH 016/120] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 230 +++++++++++++++------------------------- 1 file changed, 88 insertions(+), 142 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1f7fff366..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -520,22 +520,6 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { @@ -564,46 +548,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'ue' } } -// Note "intern angerechnet" hinzufügen -if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'iar' AND (bezeichnung = 'intern angerechnet' OR bezeichnung = 'Intern angerechnet');")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = " - INSERT INTO - lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) - VALUES( - (SELECT max(note)+1 FROM lehre.tbl_note),'intern angerechnet', 'iar', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"intern angerechnet\",\"internally credited\"}', FALSE - ); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note: '.$db->db_last_error().'
'; - else - echo '
lehre.tbl_note: Note intern angerechnet hinzugefuegt!
'; - } -} - -// Note "nicht zugelassen" hinzufügen -if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'nz' AND (bezeichnung = 'nicht zugelassen' OR bezeichnung = 'Nicht zugelassen');")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = " - INSERT INTO - lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) - VALUES( - (SELECT max(note)+1 FROM lehre.tbl_note), 'nicht zugelassen', 'nz', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"nicht zugelassen\",\"not admitted\"}', FALSE - ); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note: '.$db->db_last_error().'
'; - else - echo '
lehre.tbl_note: Note nicht zugelassen hinzugefuegt!
'; - } -} - // Spalte offiziell in lehre.tbl_note if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;")) { @@ -1387,7 +1331,7 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit" } // system.tbl_log.taetigkeit_kurzbz -if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log LIMIT 1")) +if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log")) { $qry = " ALTER TABLE system.tbl_log ADD COLUMN taetigkeit_kurzbz varchar(32); @@ -2639,7 +2583,6 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } - // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2651,6 +2594,40 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } +// Spalte zgv_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; +} + +// Spalte zgvmas_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; +} + +// Spalte zgvdoktor_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; +} + + // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -4709,7 +4686,7 @@ if ($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie_gruppe WHER } } -// Add table anrechnungstatus +// Add table anrechnung_status if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;")) { $qry = " @@ -4737,6 +4714,42 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;" echo ' lehre.tbl_anrechnungstatus: Tabelle hinzugefuegt
'; } +// GRANT INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web; +$qry = 'GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web;'; +if (!$db->db_query($qry)) + echo 'lehre.tbl_anrechnungstatus '.$db->db_last_error().'
'; +else + echo '
Granted privileges to web on lehre.tbl_anrechnungstatus'; + + +// SEQUENCE seq_anrechnungstatus_status_kurzbz +if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'seq_anrechnungstatus_status_kurzbz'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = ' + CREATE SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + '; + + if(!$db->db_query($qry)) + echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; + else + echo '
Created sequence: lehre.seq_anrechnungstatus_status_kurzbz'; + + // GRANT SELECT, UPDATE ON SEQUENCE lehre.tbl_anrechnungstatus_status_kurzbz_seq to web; + $qry = 'GRANT SELECT, UPDATE ON SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz TO web;'; + if (!$db->db_query($qry)) + echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; + else + echo '
Granted privileges to vilesci on lehre.seq_anrechnungstatus_status_kurzbz'; + } +} + // Add table anrechnung_anrechnungstatus // Für bestehende genehmigte Anrechnungsanträge wird ein Eintrag mit dem Status 'approved' angelegt if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatus LIMIT 1;")) @@ -4766,10 +4779,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatu INSERT INTO lehre.tbl_anrechnung_anrechnungstatus(anrechnung_id, status_kurzbz) SELECT anrechnung_id, 'approved' as status_kurzbz FROM lehre.tbl_anrechnung WHERE genehmigt_von is not null; - GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO web; + GRANT SELECT ON lehre.tbl_anrechnung_anrechnungstatus TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO vilesci; GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO vilesci; - GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO web; "; if(!$db->db_query($qry)) @@ -4833,19 +4845,6 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } -// Add permission to create Anrechnung -if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'lehre/anrechnung_anlegen';")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/anrechnung_anlegen', 'Anrechnung anlegen');"; - - if(!$db->db_query($qry)) - echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; - else - echo ' system.tbl_berechtigung: Added permission for lehre/anrechnung_anlegen
'; - } -} // INSERT,DELETE,UPDATE Berechtigung für tbl_dokumentprestudent hinzufügen if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_dokumentprestudent' AND table_schema='public' AND grantee='web' AND privilege_type in ('INSERT','DELETE','UPDATE')")) @@ -4870,11 +4869,13 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1 status_kurzbz character varying(32), bezeichnung character varying(256) ); + ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung'); + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus TO web; "; @@ -4898,7 +4899,8 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) updateamum timestamp without time zone, updatevon character varying(32) ); - CREATE SEQUENCE public.tbl_zgvpruefung_id_seq + + CREATE SEQUENCE public.tbl_zgvpruefung_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -4906,9 +4908,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id); ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq'); ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; + GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci; GRANT SELECT ON public.tbl_zgvpruefung TO web; + "; if(!$db->db_query($qry)) @@ -4928,15 +4932,18 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status status character varying(32), datum timestamp without time zone DEFAULT now() ); - CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq + + CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; + ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id); ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq'); ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; + GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web; @@ -4948,7 +4955,8 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } -// Add index to lehre.tbl_pruefung + +// Add index to system.tbl_log if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { if ($db->db_num_rows($result) == 0) @@ -4974,67 +4982,6 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchung echo ' public.tbl_buchungstyp: Added buchungstyp "ZuschussIO"
'; } } -//Add Column statusgrund_kurzbz to public.tbl_status_grund -if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32); - ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz); - "; - - if(!$db->db_query($qry)) - echo 'public.tbl_status_grund '.$db->db_last_error().'
'; - else - echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; -} - -// INDEX idx_anrechnung_anrechnung_status_anrechnung_id -if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'")) -{ - if ($db->db_num_rows($result) == 0) - { - $qry = 'CREATE INDEX idx_anrechnung_anrechnung_status_anrechnung_id ON lehre.tbl_anrechnung_anrechnungstatus USING btree (anrechnung_id)'; - if (!$db->db_query($qry)) - echo 'idx_anrechnung_anrechnung_status_anrechnung_id '.$db->db_last_error().'
'; - else - echo '
Created Index idx_anrechnung_anrechnung_status_anrechnung_id'; - } -} - -// Add Table lehre.tbl_lehrmodus -if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;")) -{ - $qry = " - CREATE TABLE lehre.tbl_lehrmodus - ( - lehrmodus_kurzbz varchar(32) NOT NULL, - bezeichnung_mehrsprachig varchar(255)[], - aktiv boolean DEFAULT true - ); - ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz); - INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}'); - INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}'); - GRANT SELECT ON lehre.tbl_lehrmodus TO web; - GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci; - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_lehrmodus: '.$db->db_last_error().'
'; - else - echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt
'; -} - -//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung -if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1")) -{ - $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32); - ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; - else - echo '
Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt'; -} // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5153,9 +5100,8 @@ $tabellen=array( "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"), "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"), - "lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"), "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"), - "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"), + "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"), "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"), "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"), @@ -5248,7 +5194,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5256,7 +5202,7 @@ $tabellen=array( "public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"), "public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), - "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"), + "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"), "public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"), From ad95088abd4b258ef3e669859dfccfb938bc2440 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:53:51 +0200 Subject: [PATCH 017/120] Update dbupdate_3.3.php --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 3acf5ba45e769bbe38a8175279c0c454a724f95c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:03:25 +0200 Subject: [PATCH 018/120] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From a20d947b377bd3f5c02b9fc48b46e112a31587b9 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:19:48 +0200 Subject: [PATCH 019/120] Update dbupdate_3.3.php --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From d704e09e822705a0ae64614af71bd3b732bf08b8 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:29:36 +0200 Subject: [PATCH 020/120] Revert "Update dbupdate_3.3.php" This reverts commit a20d947b377bd3f5c02b9fc48b46e112a31587b9. --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 9493d6a99b3eb0362411aee4eab8b5aa8086d988 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:35:17 +0200 Subject: [PATCH 021/120] Revert "change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)" This reverts commit 3acf5ba45e769bbe38a8175279c0c454a724f95c. --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 6cb8987fb429662304db478b3380ecd29203239a Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:41:03 +0200 Subject: [PATCH 022/120] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From bd90876277b3571b279d3177aae3c6d4227f6a6e Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Thu, 23 Sep 2021 12:34:58 +0200 Subject: [PATCH 023/120] Fixed: Now sending mails to ALL STGLs of the concerning STG Before it was sending only to first in array. Now sending to all. Signed-off-by: cris-technikum --- .../controllers/jobs/AnrechnungJob.php | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/application/controllers/jobs/AnrechnungJob.php b/application/controllers/jobs/AnrechnungJob.php index f92410dbc..f32a8268a 100644 --- a/application/controllers/jobs/AnrechnungJob.php +++ b/application/controllers/jobs/AnrechnungJob.php @@ -188,7 +188,7 @@ class AnrechnungJob extends JOB_Controller $studiengang_bezeichnung = $this->StudiengangModel->load($studiengang_kz)->retval[0]->stg_bezeichnung; // Get STGL mail address - list ($to, $vorname) = self::_getSTGLMailAddress($studiengang_kz); + $stglMailReceiver_arr = self::_getSTGLMailAddress($studiengang_kz); // Get HTML table with new Anrechnungen of that STG plus amount of them list ($anrechnungen_amount, $anrechnungen_table) = self::_getSTGLMailDataTable($studiengang_kz, $anrechnungen); @@ -199,22 +199,25 @@ class AnrechnungJob extends JOB_Controller CIS_ROOT. 'cis/menu.php?content_id=&content='. CIS_ROOT. index_page(). self::APPROVE_ANRECHNUNG_URI; + foreach ($stglMailReceiver_arr as $stgl) + { // Prepare mail content - $body_fields = array( - 'vorname' => $vorname, - 'studiengang' => $studiengang_bezeichnung, - 'anzahl' => $anrechnungen_amount, - 'datentabelle' => $anrechnungen_table, - 'link' => anchor($url, 'Anrechnungsanträge Übersicht') - ); - - // Send mail - sendSanchoMail( - 'AnrechnungAntragStellen', - $body_fields, - $to, - 'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt' - ); + $body_fields = array( + 'vorname' => $stgl['vorname'], + 'studiengang' => $studiengang_bezeichnung, + 'anzahl' => $anrechnungen_amount, + 'datentabelle' => $anrechnungen_table, + 'link' => anchor($url, 'Anrechnungsanträge Übersicht') + ); + + // Send mail + sendSanchoMail( + 'AnrechnungAntragStellen', + $body_fields, + $stgl['to'], + 'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt' + ); + } } $this->logInfo('SUCCEDED: Sending emails to STGL about yesterdays new Anrechnungen succeded.'); @@ -342,15 +345,21 @@ html; // Get STGL mail address private function _getSTGLMailAddress($studiengang_kz) { + $stglMailAdress_arr = array(); $result = $this->StudiengangModel->getLeitung($studiengang_kz); // Get STGL mail address if (hasData($result)) { - return array( - $result->retval[0]->uid. '@'. DOMAIN, - $result->retval[0]->vorname - ); + foreach (getData($result) as $stgl) + { + $stglMailAdress_arr[]= array( + 'to' => $stgl->uid. '@'. DOMAIN, + 'vorname' => $stgl->vorname + ); + } + + return $stglMailAdress_arr; } // If not available, get assistance mail address else From 72868f4207e428c4b0e6f42f4b38b741ca81ba55 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Thu, 23 Sep 2021 12:47:05 +0200 Subject: [PATCH 024/120] Fixed: Now downloading documents is possible for ALL STGLs of the concerning STG Before it was possible only for first in array. Now sending to all. Signed-off-by: cris-technikum --- .../lehre/anrechnung/ApproveAnrechnungUebersicht.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index d59d97514..70fae2b57 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -285,11 +285,14 @@ class approveAnrechnungUebersicht extends Auth_Controller // Get STGL $result = $this->StudiengangModel->getLeitung($result->studiengang_kz); - if($result = getData($result)[0]) + if (hasData($result)) { - if ($result->uid == $this->_uid) + foreach (getData($result) as $stgl) { - return; + if ($stgl->uid == $this->_uid) + { + return; + } } } From e939eded65277260384584de31a9d10cf639d117 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 4 Oct 2021 09:55:21 +0200 Subject: [PATCH 025/120] neuer adresstyp fuer homeoffice und dynmaischen adressentyp im FAS --- cis/private/profile/index.php | 29 +-------------- content/adressedialog.xul.php | 12 ++++--- include/adresse.class.php | 34 ++++++++++++++++-- rdf/adressentyp.rdf.php | 67 +++++++++++++++++++++++++++++++++++ system/dbupdate_3.3.php | 37 +++++++++++++++++++ 5 files changed, 143 insertions(+), 36 deletions(-) create mode 100644 rdf/adressentyp.rdf.php diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php index 80062a932..1f1330839 100644 --- a/cis/private/profile/index.php +++ b/cis/private/profile/index.php @@ -293,36 +293,9 @@ if (!$ansicht) $adresse = new adresse(); $adresse->load_pers($user->person_id); - function sortAdresse($a , $b) - { - if ($a->typ === $b->typ) - return 0; - - return ($a->typ < $b->typ) ? -1 : 1; - } - usort($adresse->result, "sortAdresse"); foreach($adresse->result as $a) { - if ($a->zustelladresse) - { - switch ($a->typ) - { - case "h": - $typ = $p->t("global/hauptwohnsitz"); - break; - case "n": - $typ = $p->t("global/nebenwohnsitz"); - break; - default: - $typ = NULL; - break; - } - if ($typ !== NULL) - { - echo "".$typ.":
"; - echo $a->strasse."
".$a->plz." ".$a->ort."

"; - } - } + echo $a->strasse . " (" . $a->bezeichnung_mehrsprachig[$sprache] .") " . "
".$a->plz." ".$a->ort."

"; } } diff --git a/content/adressedialog.xul.php b/content/adressedialog.xul.php index f4f530bf0..50fb92b00 100644 --- a/content/adressedialog.xul.php +++ b/content/adressedialog.xul.php @@ -70,13 +70,15 @@ else diff --git a/include/adresse.class.php b/include/adresse.class.php index ffdb08582..801a95650 100644 --- a/include/adresse.class.php +++ b/include/adresse.class.php @@ -53,6 +53,9 @@ class adresse extends basis_db public $rechnungsadresse=false; // boolean public $anmerkung; // string public $co_name; + public $adressentyp; + public $bezeichnung; + public $bezeichnung_mehrsprachig; /** * Konstruktor @@ -133,10 +136,10 @@ class adresse extends basis_db $this->errormsg = 'person_id muss eine gültige Zahl sein'; return false; } - + $sprache = new sprache(); //Lesen der Daten aus der Datenbank - $qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false); - $qry.=" ORDER BY zustelladresse DESC"; + $qry = "SELECT *, ". $sprache->getSprachQuery('bezeichnung_mehrsprachig') ." FROM public.tbl_adresse JOIN public.tbl_adressentyp ON typ = adressentyp_kurzbz WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false); + $qry.=" ORDER BY zustelladresse DESC, sort"; if(!$this->db_query($qry)) { @@ -167,6 +170,7 @@ class adresse extends basis_db $adr_obj->co_name = $row->co_name; $adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse); $adr_obj->anmerkung = $row->anmerkung; + $adr_obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); $this->result[] = $adr_obj; } @@ -519,5 +523,29 @@ class adresse extends basis_db } return true; } + + public function getAdressentyp() + { + $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort;"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new adresse(); + + $obj->adressentyp = $row->adressentyp_kurzbz; + $obj->bezeichnung = $row->bezeichnung; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?> diff --git a/rdf/adressentyp.rdf.php b/rdf/adressentyp.rdf.php new file mode 100644 index 000000000..b34a96cc6 --- /dev/null +++ b/rdf/adressentyp.rdf.php @@ -0,0 +1,67 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// header für no cache +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +// content type setzen +header("Content-type: application/xhtml+xml"); +// xml +echo ''; +// DAO +require_once('../config/vilesci.config.inc.php'); +require_once('../include/adresse.class.php'); + +$adresse = new adresse(); + +$rdf_url='http://www.technikum-wien.at/adressentyp'; +echo ' + + + +'; + +if ($adresse->getAdressentyp()) +{ + foreach ($adresse->result as $row) + { + echo ' + + + adressentyp.']]> + bezeichnung.']]> + + + '; + } +} +else +{ + echo $adresse->errormsg; +} +?> + + diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 45c9e9e42..7d16dad1b 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4916,6 +4916,42 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } +// Add table adressentyp +if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_adressentyp LIMIT 1;")) +{ + $qry = " + CREATE TABLE public.tbl_adressentyp + ( + adressentyp_kurzbz varchar(32), + bezeichnung varchar(256), + bezeichnung_mehrsprachig varchar(256)[], + sort smallint + ); + + COMMENT ON TABLE public.tbl_adressentyp IS 'Types of Addresses'; + ALTER TABLE public.tbl_adressentyp ADD CONSTRAINT pk_tbl_adressentyp PRIMARY KEY (adressentyp_kurzbz); + + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('h', 'Hauptwohnsitz', '{\"Hauptwohnsitz\", \"Principal residence\"}', 1); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('n', 'Nebenwohnsitz', '{\"Nebenwohnsitz\", \"Secondary residence\"}', 2); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('ho', 'Homeoffice', '{\"Homeoffice\", \"Homeoffice\"}', 3); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('r', 'Rechnungsadresse', '{\"Rechnungsadresse\", \"Billing address\"}', 4); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('f', 'Firma', '{\"Firma\", \"Company\"}', 5); + + UPDATE public.tbl_adresse SET typ = 'f' WHERE person_id IS NULL AND (typ IS NULL OR typ = ''); + UPDATE public.tbl_adresse SET typ = 'h' WHERE person_id IS NOT NULL AND typ IS NULL; + + ALTER TABLE public.tbl_adresse ADD CONSTRAINT fk_tbl_adresse_adressentyp FOREIGN KEY (typ) REFERENCES public.tbl_adressentyp (adressentyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_adressentyp TO vilesci; + GRANT SELECT ON public.tbl_adressentyp TO web; + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_adressentyp: '.$db->db_last_error().'
'; + else + echo ' public.tbl_adressentyp: Tabelle hinzugefuegt
'; +} + // Add index to lehre.tbl_pruefung if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { @@ -5181,6 +5217,7 @@ $tabellen=array( "lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"), "public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"), "public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung", "co_name"), + "public.tbl_adressentyp" => array("adressentyp_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "sort"), "public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern","nachgereicht_am","ausstellungsnation","formal_geprueft_amum","archiv","signiert","stud_selfservice","akzeptiertamum"), "public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"), "public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"), From 79d7f91794892954366f48a05d0d6fdcc0352379 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 4 Oct 2021 09:57:51 +0200 Subject: [PATCH 026/120] deleted ; --- include/adresse.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/adresse.class.php b/include/adresse.class.php index 801a95650..0d4e6a7ca 100644 --- a/include/adresse.class.php +++ b/include/adresse.class.php @@ -526,7 +526,7 @@ class adresse extends basis_db public function getAdressentyp() { - $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort;"; + $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort"; if($this->db_query($qry)) { From 3ff3353aae398d9dc910b4bd5ee5490d217752ec Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 8 Oct 2021 10:24:46 +0200 Subject: [PATCH 027/120] Aufnahme von hacek-Sonderzeichen in Funktion covertProblemChars --- content/mitarbeiter/mitarbeiteroverlay.js.php | 13 ++++ include/functions.inc.php | 64 +++++++++++-------- 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index b87a309f8..13a6d011c 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -2010,3 +2010,16 @@ function MitarbeiterUDFIFrameLoad() } catch(e) {} } + +// **** +// * Validierung Alias auf Sonderzeichen (analog zu checkWunschUid, außerdem . und _ erlaubt) +// **** +function checkAlias() +{ + var alias = document.getElementById('mitarbeiter-detail-textbox-alias').value; + + if (/^[a-z0-9 . _]*$/i.test(alias) === false) + { + alert('Der Alias darf keine Sonderzeichen enthalten'); + } +} diff --git a/include/functions.inc.php b/include/functions.inc.php index 587860982..8109a2035 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -455,42 +455,50 @@ function intersect($str1, $str2) * Konvertiert Problematische Sonderzeichen in Strings fuer * Accountnamen und EMail-Aliase * - * @param $str - * @return bereinigter String + * @param string $str Inputparameter. + * @return string bereinigter String. */ function convertProblemChars($str) { $enc = 'UTF-8'; $acentos = array( - 'A' => '/À|Á|Â|Ã|Å/', - 'Ae' => '/Ä/', - 'a' => '/à|á|â|ã|å/', - 'ae'=> '/ä/', - 'C' => '/Ç/', - 'c' => '/ç/', - 'E' => '/È|É|Ê|Ë/', - 'e' => '/è|é|ê|ë/', - 'I' => '/Ì|Í|Î|Ï/', - 'i' => '/ì|í|î|ï/', - 'N' => '/Ñ/', - 'n' => '/ñ/', - 'O' => '/Ò|Ó|Ô|Õ/', - 'Oe' => '/Ö/', - 'o' => '/ò|ó|ô|õ/', - 'oe' => '/ö/', - 'U' => '/Ù|Ú|Û/', - 'Ue' => '/Ü/', - 'u' => '/ù|ú|û/', - 'ue' => '/ü/', - 'Y' => '/Ý/', - 'y' => '/ý|ÿ/', - 'a.' => '/ª/', - 'o.' => '/º/', - 'ss' => '/ß/' + 'A' => '/À|Á|Â|Ã|Å|Ă|Ǎ/', + 'Ae' => '/Ä/', + 'a' => '/à|á|â|ã|å|ă|ǎ/', + 'ae' => '/ä/', + 'C' => '/Ç|Č/', + 'c' => '/ç|č/', + 'E' => '/È|É|Ê|Ë/', + 'e' => '/è|é|ê|ë/', + 'I' => '/Ì|Í|Î|Ï|Ǐ/', + 'i' => '/ì|í|î|ï|ǐ/', + 'N' => '/Ñ|Ň|ň/', + 'n' => '/ñ/', + 'O' => '/Ò|Ó|Ô|Õ|Ǒ/', + 'Oe' => '/Ö/', + 'o' => '/ò|ó|ô|õ|ǒ/', + 'oe' => '/ö/', + 'R' => '/Ř/', + 'r' => '/ř/', + 'S' => '/Š/', + 's' => '/š/', + 'T' => '/Ť/', + 't' => '/ť/', + 'U' => '/Ù|Ú|Û|Ŭ|Ǔ/', + 'Ue' => '/Ü/', + 'u' => '/ù|ú|û|ŭ|ǔ/', + 'ue' => '/ü/', + 'Y' => '/Ý/', + 'y' => '/ý|ÿ/', + 'Z' => '/Ž/', + 'z' => '/ž/', + 'a.' => '/ª/', + 'o.' => '/º/', + 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); + return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); } //Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird From 4f0b34137b3a943067094beba2785c7e6bb93f5a Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 11 Oct 2021 18:48:25 +0200 Subject: [PATCH 028/120] replacement of hatschek letters added in hlp_common_helper.php to be the same as in function.inc.php --- application/helpers/hlp_common_helper.php | 34 ++++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/application/helpers/hlp_common_helper.php b/application/helpers/hlp_common_helper.php index a7eda8827..7b937d73d 100644 --- a/application/helpers/hlp_common_helper.php +++ b/application/helpers/hlp_common_helper.php @@ -314,32 +314,40 @@ function sanitizeProblemChars($str) $enc = 'UTF-8'; $acentos = array( - 'A' => '/À|Á|Â|Ã|Å/', + 'A' => '/À|Á|Â|Ã|Å|Ă|Ǎ/', 'Ae' => '/Ä/', - 'a' => '/à|á|â|ã|å/', - 'ae'=> '/ä/', - 'C' => '/Ç/', - 'c' => '/ç/', + 'a' => '/à|á|â|ã|å|ă|ǎ/', + 'ae' => '/ä/', + 'C' => '/Ç|Č/', + 'c' => '/ç|č/', 'E' => '/È|É|Ê|Ë/', 'e' => '/è|é|ê|ë/', - 'I' => '/Ì|Í|Î|Ï/', - 'i' => '/ì|í|î|ï/', - 'N' => '/Ñ/', + 'I' => '/Ì|Í|Î|Ï|Ǐ/', + 'i' => '/ì|í|î|ï|ǐ/', + 'N' => '/Ñ|Ň|ň/', 'n' => '/ñ/', - 'O' => '/Ò|Ó|Ô|Õ/', + 'O' => '/Ò|Ó|Ô|Õ|Ǒ/', 'Oe' => '/Ö/', - 'o' => '/ò|ó|ô|õ/', + 'o' => '/ò|ó|ô|õ|ǒ/', 'oe' => '/ö/', - 'U' => '/Ù|Ú|Û/', + 'R' => '/Ř/', + 'r' => '/ř/', + 'S' => '/Š/', + 's' => '/š/', + 'T' => '/Ť/', + 't' => '/ť/', + 'U' => '/Ù|Ú|Û|Ŭ|Ǔ/', 'Ue' => '/Ü/', - 'u' => '/ù|ú|û/', + 'u' => '/ù|ú|û|ŭ|ǔ/', 'ue' => '/ü/', 'Y' => '/Ý/', 'y' => '/ý|ÿ/', + 'Z' => '/Ž/', + 'z' => '/ž/', 'a.' => '/ª/', 'o.' => '/º/', 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); + return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); } From 35cdac0438dc7399028c2b500a5b0e64bd981295 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 12 Oct 2021 10:51:10 +0200 Subject: [PATCH 029/120] Small Code Enhencement Signed-off-by: cris-technikum --- .../lehre/anrechnung/ApproveAnrechnungUebersicht.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index 70fae2b57..25c802caf 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -379,23 +379,24 @@ class approveAnrechnungUebersicht extends Auth_Controller $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); $result = $this->LehrveranstaltungModel->getLecturersByLv($anrechnung['studiensemester_kurzbz'], $anrechnung['lehrveranstaltung_id']); - if (!$result = getData($result)) + if (!hasData($result)) { show_error('Failed retrieving lectors of Lehrveranstaltung'); } + $lecturersByLv = getData($result); + // Check if lv has LV-Leitung - $key = array_search(true, array_column($result, 'lvleiter')); - + $key = array_search(true, array_column($lecturersByLv, 'lvleiter')); // If lv has LV-Leitung, keep only the one if ($key !== false) { - $lector_arr[]= $result[$key]; + $lector_arr[]= $lecturersByLv[$key]; } // ...otherwise keep all lectors else { - $lector_arr = array_merge($lector_arr, $result); + $lector_arr = array_merge($lector_arr, $lecturersByLv); } } From 8677cbf6dc9dd4b1c878cf8ba404534ff2e90d8b Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 12 Oct 2021 12:11:06 +0200 Subject: [PATCH 030/120] Fixed requesting Anrechnungsantrag although grade is a blocking grade Blocking grades (eg angerechnet), that should not allow the student to request for Anrechnung, were not fully blocking. This is fixed now. Signed-off-by: cris-technikum --- .../controllers/lehre/anrechnung/RequestAnrechnung.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 306ce5841..bc886a876 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -324,8 +324,8 @@ class requestAnrechnung extends Auth_Controller private function _LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id) { // Get Note of Lehrveranstaltung - $this->load->model('education/Lvgesamtnote_model', 'LvgesamtnoteModel'); - $result = $this->LvgesamtnoteModel->load(array( + $this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel'); + $result = $this->ZeugnisnoteModel->load(array( 'student_uid' => $this->_uid, 'studiensemester_kurzbz' => $studiensemester_kurzbz, 'lehrveranstaltung_id' => $lehrveranstaltung_id From 9d08d0067653e3321d499acbecbfaaad59034a73 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 14 Oct 2021 15:37:15 +0200 Subject: [PATCH 031/120] tbl_adresse typ von char auf varchar geaendert --- system/dbupdate_3.3.php | 1 + 1 file changed, 1 insertion(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7d16dad1b..b857c7c64 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4941,6 +4941,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_adressentyp LIMIT 1;")) UPDATE public.tbl_adresse SET typ = 'h' WHERE person_id IS NOT NULL AND typ IS NULL; ALTER TABLE public.tbl_adresse ADD CONSTRAINT fk_tbl_adresse_adressentyp FOREIGN KEY (typ) REFERENCES public.tbl_adressentyp (adressentyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE public.tbl_adresse ALTER COLUMN typ TYPE varchar(32); GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_adressentyp TO vilesci; GRANT SELECT ON public.tbl_adressentyp TO web; From ef14336b0b17f3cff61911ae969d4b0aca1cea9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 15 Oct 2021 14:04:20 +0200 Subject: [PATCH 032/120] =?UTF-8?q?Zus=C3=A4tzliche=20Aktivit=C3=A4tenfilt?= =?UTF-8?q?er=20f=C3=BCr=20Zeitaufzeichnung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index fcf3dd811..946001b3b 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -96,12 +96,12 @@ $fieldheadings = array( if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung')) { $za_simple = 0; - $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } else { $za_simple = 1; - $activities = array('Admin', 'FuE','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Admin', 'FuE','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } $activities_str = "'".implode("','", $activities)."'"; From 7dcddb9d49f2465354ee9a5f8fc4cc4e7f44d105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 19 Oct 2021 13:52:00 +0200 Subject: [PATCH 033/120] Removed wrong comment --- cis/private/tools/zeitaufzeichnung.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 946001b3b..3b1d9af2a 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -2153,9 +2153,6 @@ function getZeitaufzeichnung($user, $von, $bis) * Exportiert Zeitaufzeichnungsdaten als CSV * @param $data Zeitaufzeichnungsdaten * @param string $delimiter CSV-Trennzeichen - * @param $fieldheadings Namen der Spaltenüberschriften - * @param bool $za_simple Zeitaufzeichnung lang (für Infrastrukturmitarbeiter) oder kurz (simple) - * @param $uid Id des Users für CSV-Filenamen "zeitaufzeichnung_uid" */ function exportProjectOverviewAsCSV($user, $delimiter = ',') { From e6ba6f9beabc74c3b8a3115653b0fbf7a1e48b80 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 22 Oct 2021 10:44:54 +0200 Subject: [PATCH 034/120] dropdown im fas angepasst --- content/student/studentprojektarbeit.js.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 66f52f15c..c30f7ea1c 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -652,11 +652,11 @@ function StudentProjektarbeitNeu() StudentProjektarbeitResetFields(); StudentProjektarbeitDetailDisableFields(false); StudentProjektbetreuerDisableFields(true); - var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; + var student_uid = document.getElementById('student-detail-textbox-uid').value; //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); From 15ba3602f738fd7a7c6a5fac5f5431b3a51b544b Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 25 Oct 2021 13:22:44 +0200 Subject: [PATCH 035/120] job fixed --- application/models/crm/Prestudent_model.php | 58 +++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 2d8ac4a7e..b4692c864 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -665,4 +665,62 @@ class Prestudent_model extends DB_Model return $this->execQuery($query, array($prestudent_id)); } + + public function getSchool($semester, $studiengang_typ) + { + if (!$this->udfsExistAndDefined()) + return error('No UDF definition'); + + $query = 'SELECT DISTINCT p.person_id, + ps.prestudent_id, + ps.udf_values, + ( + SELECT ssps.udf_values->>\'udf_schule\' + FROM public.tbl_prestudent ssps + WHERE ssps.person_id = p.person_id AND ssps.udf_values->>\'udf_schule\' IS NOT NULL + LIMIT 1 + ) AS "Schule" + FROM + public.tbl_person p + JOIN public.tbl_prestudent ps USING (person_id) + JOIN public.tbl_prestudentstatus pss USING (prestudent_id) + JOIN public.tbl_studiengang sg ON ps.studiengang_kz = sg.studiengang_kz + WHERE + EXISTS ( + SELECT 1 + FROM public.tbl_prestudentstatus spss + JOIN public.tbl_prestudent sps ON spss.prestudent_id = sps.prestudent_id + JOIN public.tbl_studiengang ssg ON sps.studiengang_kz = ssg.studiengang_kz + WHERE sps.person_id = p.person_id + AND ssg.typ = \'' . $studiengang_typ . '\' + AND spss.studiensemester_kurzbz IN (' . $semester . ') + AND sps.udf_values->>\'udf_schule\' IS NOT NULL + LIMIT 1 + ) + AND sg.typ = \''. $studiengang_typ .'\' + AND pss.studiensemester_kurzbz IN (' . $semester . ') + AND ps.udf_values->>\'udf_schule\' IS NULL + AND \'Abgewiesener\' != ( + SELECT sspss.status_kurzbz + FROM public.tbl_prestudentstatus sspss + WHERE sspss.prestudent_id = ps.prestudent_id + ORDER BY sspss.datum DESC, sspss.insertamum DESC, sspss.ext_id DESC + LIMIT 1 + ) + ORDER BY p.person_id'; + + return $this->execQuery($query); + } + + public function updateSchool($udf, $prestudent) + { + if (!$this->udfsExistAndDefined()) + return error('No UDF definition'); + + $query = 'UPDATE public.tbl_prestudent + SET udf_values = \'' . $udf . '\' + WHERE prestudent_id = ' . $prestudent; + + return $this->execQuery($query); + } } From d269fd003d544222a5bc015501c7a60602a7b393 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 25 Oct 2021 14:03:30 +0200 Subject: [PATCH 036/120] added new log to logdataname --- application/views/system/infocenter/infocenterData.php | 2 +- .../views/system/infocenter/infocenterFreigegebenData.php | 2 +- .../system/infocenter/infocenterReihungstestAbsolviertData.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index c49a1c6cc..3ee4db220 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -6,7 +6,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\''; $LOGDATA_NAME_PARKED = '\'Parked\''; $LOGDATA_NAME_ONHOLD = '\'Onhold\''; $LOGTYPE_KURZBZ = '\'Processstate\''; diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 9078c13db..e649fe54a 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $REJECTED_STATUS = '\'Abgewiesener\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\''; diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php index 5aa664a97..dbc0124bc 100644 --- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; $ORG_NAME = '\'InfoCenter\''; From 40ea04364ed879aa605100ee4f940473bdff2e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 25 Oct 2021 14:45:45 +0200 Subject: [PATCH 037/120] =?UTF-8?q?Aktivit=C3=A4t=20nicht=20mehr=20optiona?= =?UTF-8?q?l?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 3b1d9af2a..c9ff7f479 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -96,12 +96,12 @@ $fieldheadings = array( if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung')) { $za_simple = 0; - $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); + $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE','FuEallg', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } else { $za_simple = 1; - $activities = array('Admin', 'FuE','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); + $activities = array('Admin', 'FuE','FuEallg','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } $activities_str = "'".implode("','", $activities)."'"; @@ -1375,8 +1375,10 @@ if ($projekt->getProjekteMitarbeiter($user, true)) if($result = $db->db_query($qry)) { echo '> + '; + echo ''; $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz', true); $types = new studiengang(); @@ -457,10 +513,17 @@ if ($rechte->isBerechtigt('admin')) echo ''; 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"; +if ($stg_kz != 'alleBaMa') +{ + $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"; +} +else +{ + echo "

BIS - Studentendaten aller Bachelor- und Master-Studiengänge werden überprüft.

\n"; +} echo "

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


"; echo nl2br($v."\n\n"); @@ -821,7 +884,7 @@ function GenerateXMLStudentBlock($row) } if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') { - $error_log_hinweis.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht"; + $error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht"; } if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) { @@ -853,7 +916,7 @@ function GenerateXMLStudentBlock($row) } if($row->bpk == '' || $row->bpk == null) { - $error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt"; + $error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt"; } if($row->bpk != '' && $row->bpk != null) { @@ -996,8 +1059,7 @@ function GenerateXMLStudentBlock($row) { if ($db->db_num_rows($resultAbbrecher) == 0) { - $error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen"; - + //$error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen"; } } } @@ -1322,9 +1384,11 @@ function GenerateXMLStudentBlock($row) " . $row->ersatzkennzeichen . ""; } - $datei .= " - " . $row->bpk . " - "; + if($row->bpk != '' && $row->bpk != null) + { + $datei.=" + ".$row->bpk.""; + } $datei .= " " . $row->staatsbuergerschaft . " @@ -1333,14 +1397,11 @@ function GenerateXMLStudentBlock($row) " . $nation . ""; - if (!$ausserordentlich && !$incoming) - { - $datei .= " + $datei .= " " . $zustell_plz . " " . $zustell_gemeinde . " " . $zustell_strasse . " " . $zustell_nation . ""; - } if ($co_name != '') { From d033803f47c9ab386cb28f86bee52ab1112fc318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 9 Dec 2021 11:09:06 +0100 Subject: [PATCH 094/120] Sortierung an BIS Vergleich angepasst --- vilesci/bis/studentenmeldung.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 76ee1aecc..3842f7074 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -277,7 +277,7 @@ elseif ($stg_kz == 'alleBaMa') { $qry=" SELECT - DISTINCT ON(tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) @@ -297,7 +297,7 @@ elseif ($stg_kz == 'alleBaMa') OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) ))) - ORDER BY tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname + ORDER BY tbl_student.studiengang_kz, matrikelnr, nachname, vorname "; } else @@ -448,26 +448,26 @@ echo ' { $("#t1").tablesorter( { - sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]], + sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]], widgets: ["zebra", "filter", "stickyHeaders"], - widgetOptions : { filter_functions: - { - // Add select menu to this column + widgetOptions : { filter_functions: + { + // Add select menu to this column 4 : { - "Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); }, + "Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); }, "Absolvent" : function(e, n, f, i, $r, c, data) { return /Absolvent/.test(e); }, "Diplomand" : function(e, n, f, i, $r, c, data) { return /Diplomand/.test(e); }, "Incoming" : function(e, n, f, i, $r, c, data) { return /Incoming/.test(e); }, "Student" : function(e, n, f, i, $r, c, data) { return /Student/.test(e); }, - "Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); }, + "Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); }, } - } - } + } + } }); $("#t2").tablesorter( { - sortList: [[0,0],[1,0]], - widgets: ["zebra", "filter", "stickyHeaders"] + sortList: [[0,0],[1,0]], + widgets: ["zebra", "filter", "stickyHeaders"] }); }); From c3588b4eb49610da1a1b8c7099eb15290c27f1b2 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 9 Dec 2021 20:27:08 +0100 Subject: [PATCH 095/120] studeingang hinzugefuegt bei der uebersicht --- .../views/system/infocenter/infocenterAbgewiesenData.php | 2 ++ system/filtersupdate.php | 1 + 2 files changed, 3 insertions(+) diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php index 3bf60a9ef..dbe0540be 100644 --- a/application/views/system/infocenter/infocenterAbgewiesenData.php +++ b/application/views/system/infocenter/infocenterAbgewiesenData.php @@ -14,6 +14,7 @@ $query = ' ps.prestudent_id AS "PreStudentID", p.vorname AS "Vorname", p.nachname AS "Nachname", + sg.kurzbzlang as "Studiengang", pss.insertamum AS "AbgewiesenAm", ( SELECT l.zeitpunkt @@ -62,6 +63,7 @@ $query = ' 'PreStudentID', 'Vorname', 'Nachname', + 'Studiengang', 'Abgewiesen am', 'Nachricht' ), diff --git a/system/filtersupdate.php b/system/filtersupdate.php index cf7ac4685..249a66fab 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -486,6 +486,7 @@ $filters = array( {"name": "PreStudentID"}, {"name": "Vorname"}, {"name": "Nachname"}, + {"name": "Studiengang"}, {"name": "AbgewiesenAm"}, {"name": "Nachricht"} ], From 4c3fe39df73c5ac813ee61b865e12eb8b350a0be Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 3 Jan 2022 13:12:01 +0100 Subject: [PATCH 096/120] zeigt nun noch die lvs des studiengangs an --- content/student/studentprojektarbeit.js.php | 3 ++- rdf/lehrveranstaltung.rdf.php | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 40af4107d..124516357 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -652,11 +652,12 @@ function StudentProjektarbeitNeu() StudentProjektarbeitResetFields(); StudentProjektarbeitDetailDisableFields(false); StudentProjektbetreuerDisableFields(true); + var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; var student_uid = document.getElementById('student-detail-textbox-uid').value; //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+'&stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); diff --git a/rdf/lehrveranstaltung.rdf.php b/rdf/lehrveranstaltung.rdf.php index e0f967727..c3519d73e 100644 --- a/rdf/lehrveranstaltung.rdf.php +++ b/rdf/lehrveranstaltung.rdf.php @@ -73,7 +73,11 @@ else $lehrveranstaltung=new lehrveranstaltung(); if($student_uid!='') +{ $lehrveranstaltung->load_lva_student($student_uid); + if ($stg_kz !== '') + $lehrveranstaltung->load_lva($stg_kz); +} elseif($lehrveranstaltung_kompatibel_id!='') { // Laedt die Lehrveranstaltung und alle die dazu kompatibel sind From fe41a3d830549c3051002ab7d099a4e8be10290f Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 3 Jan 2022 15:23:11 +0100 Subject: [PATCH 097/120] =?UTF-8?q?Nationensperre=20im=20Dropdown=20f?= =?UTF-8?q?=C3=BCr=20Staatsbuergerschaft,=20Geburtsnation,=20ZGVNation=20u?= =?UTF-8?q?nd=20ZGVMasternation=20umgesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentdetailoverlay.xul.php | 41 +++++++++++++++++--- rdf/nation.rdf.php | 1 + 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index dd86b3657..d038364fc 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -107,9 +107,16 @@ echo ''; ref="http://www.technikum-wien.at/nation/liste" > @@ -130,12 +137,21 @@ echo ''; ref="http://www.technikum-wien.at/nation/liste" > + +