From 56e68f680932c36ef567c24f1c1315160a262f34 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 15 Nov 2017 14:45:19 +0100 Subject: [PATCH 01/14] Fixed ALTER SEQUENCE system.tbl_extensions_id_seq OWNED BY in system/dbupdate_3.3.php --- system/dbupdate_3.3.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 9f8aaf0f4..6c5c969e1 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -521,13 +521,13 @@ if(!@$db->db_query("SELECT campus.get_highest_content_version(0)")) WHERE content_id=i_content_id ORDER BY version desc LIMIT 1; - + RETURN rec.version; END; $_$; - + ALTER FUNCTION campus.get_highest_content_version(bigint) OWNER TO fhcomplete;"; - + if(!$db->db_query($qry)) echo 'campus.get_highest_content_version(content_id): '.$db->db_last_error().'
'; else @@ -558,13 +558,6 @@ if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'tbl_extensi else echo '
Created sequence: system.tbl_extensions_id_seq'; - // ALTER SEQUENCE system.tbl_extensions_id_seq - $qry = 'ALTER SEQUENCE system.tbl_extensions_id_seq OWNED BY system.tbl_extensions.extension_id;'; - if (!$db->db_query($qry)) - echo 'system.tbl_extensions_id_seq '.$db->db_last_error().'
'; - else - echo '
Altered sequence system.tbl_extensions_id_seq'; - // GRANT SELECT, UPDATE ON SEQUENCE system.tbl_extensions_id_seq TO vilesci; $qry = 'GRANT SELECT, UPDATE ON SEQUENCE system.tbl_extensions_id_seq TO vilesci;'; if (!$db->db_query($qry)) @@ -642,6 +635,13 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1")) echo 'Adding comment to system.tbl_extensions.dependencies: '.$db->db_last_error().'
'; else echo '
Added comment to system.tbl_extensions.dependencies'; + + // ALTER SEQUENCE system.tbl_extensions_id_seq + $qry = 'ALTER SEQUENCE system.tbl_extensions_id_seq OWNED BY system.tbl_extensions.extension_id;'; + if (!$db->db_query($qry)) + echo 'system.tbl_extensions_id_seq '.$db->db_last_error().'
'; + else + echo '
Altered sequence system.tbl_extensions_id_seq'; } // UNIQUE INDEX uidx_extensions_name_version From 6b9875f5b9e7280e3a43506ce8b378609d2ca47e Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 15 Nov 2017 15:09:13 +0100 Subject: [PATCH 02/14] Better SQL statements to create tbl_extensions in system/dbupdate_3.3.php --- system/dbupdate_3.3.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 6c5c969e1..a36b5c068 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -579,7 +579,7 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1")) { $qry = ' CREATE TABLE system.tbl_extensions ( - extension_id integer NOT NULL DEFAULT nextval(\'tbl_extensions_id_seq\'::regclass), + extension_id integer NOT NULL DEFAULT NEXTVAL(\'system.tbl_extensions_id_seq\'), name character varying(128) NOT NULL, version integer NOT NULL, description text, From 8ca79b665761a8b15cd2a9415fb2a2b3f101e159 Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 16 Nov 2017 16:27:14 +0100 Subject: [PATCH 03/14] Changed method getOERoot of MessageToken_model to retrive the correct root of the organisation unit tree --- .../models/system/MessageToken_model.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/application/models/system/MessageToken_model.php b/application/models/system/MessageToken_model.php index 8c31a0807..9e62af6e9 100644 --- a/application/models/system/MessageToken_model.php +++ b/application/models/system/MessageToken_model.php @@ -215,7 +215,23 @@ class MessageToken_model extends CI_Model */ public function getOERoot($oe_kurzbz) { - $sql = 'SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit WHERE oe_kurzbz = ?'; + $sql = ' + WITH RECURSIVE organizations(rid, oe_kurzbz, oe_parent_kurzbz) AS + ( + SELECT 1 AS rid, o.oe_kurzbz, o.oe_parent_kurzbz + FROM public.tbl_organisationseinheit o + WHERE o.oe_kurzbz = ? + UNION ALL + SELECT rid + 1 AS rid, oe.oe_kurzbz, oe.oe_parent_kurzbz + FROM organizations org, public.tbl_organisationseinheit oe + WHERE oe.oe_kurzbz = org.oe_parent_kurzbz + AND oe.aktiv = TRUE + ) + SELECT oe_kurzbz + FROM organizations orgs + ORDER BY rid DESC + LIMIT 1 + '; $result = $this->db->query($sql, array($oe_kurzbz)); if ($result) // If no errors occurred From 50b26ce7624d4eaf88202bb0cee030cf13d72875 Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 16 Nov 2017 16:41:20 +0100 Subject: [PATCH 04/14] Changed method getOERoot of MessageToken_model and method redirectByToken of controller to retrive the correct root of the organisation unit tree --- application/controllers/Redirect.php | 21 ++++++------------ .../models/system/MessageToken_model.php | 22 +++++++++++-------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/application/controllers/Redirect.php b/application/controllers/Redirect.php index ffe135003..660709b6f 100644 --- a/application/controllers/Redirect.php +++ b/application/controllers/Redirect.php @@ -53,22 +53,15 @@ class Redirect extends FHC_Controller if ($oe_kurzbz != null && $oe_kurzbz != '') { $organisationRoot = null; + $getOERoot = $this->MessageTokenModel->getOERoot($oe_kurzbz); - if ($getOERoot) // If no errors occurred + if (isSuccess($getOERoot)) // If no errors occurred { - // If data are present - if (is_array($getOERoot->result()) && count($getOERoot->result()) > 0) - { - $organisationseinheit = $getOERoot->result()[0]; - if ($organisationseinheit->oe_kurzbz == null) - { - show_error('No organisation unit present in the message'); - } - else - { - $organisationRoot = $organisationseinheit->oe_kurzbz; - } - } + $organisationRoot = $getOERoot->retval; + } + else + { + show_error('No organisation unit present in the message'); } $addonAufnahmeUrls = $this->config->item('addons_aufnahme_url'); diff --git a/application/models/system/MessageToken_model.php b/application/models/system/MessageToken_model.php index 9e62af6e9..24b9f05ca 100644 --- a/application/models/system/MessageToken_model.php +++ b/application/models/system/MessageToken_model.php @@ -237,17 +237,21 @@ class MessageToken_model extends CI_Model if ($result) // If no errors occurred { // If data are present - if (is_array($result->result()) && count($result->result()) > 0) + if (is_array($result->result()) + && count($result->result()) > 0 + && is_object($result->result()[0]) + && isset($result->result()[0]->oe_kurzbz)) { - $organisationseinheit = $result->result()[0]; - - // If this organisationseinheit has a parent - if ($organisationseinheit->oe_parent_kurzbz != null) - { - // looks for the parent - $result = $this->getOERoot($organisationseinheit->oe_parent_kurzbz); - } + return success($result->result()[0]->oe_kurzbz); } + else + { + return error(); + } + } + else + { + return error($this->db->error()); } return $result; From 12f32d5a29a73ac6b15a74df6a13f6f935ad8b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 16 Nov 2017 18:12:01 +0100 Subject: [PATCH 05/14] =?UTF-8?q?SWS=20werden=20nun=20nicht=20mehr=20auf?= =?UTF-8?q?=20Karenzierte=20Verwendungen=20geh=C3=A4ngt=20sofern=20vorhand?= =?UTF-8?q?en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/checkfunktion.php | 1 + 1 file changed, 1 insertion(+) diff --git a/vilesci/bis/checkfunktion.php b/vilesci/bis/checkfunktion.php index 7c75f7f0c..9c04e353a 100644 --- a/vilesci/bis/checkfunktion.php +++ b/vilesci/bis/checkfunktion.php @@ -115,6 +115,7 @@ if(isset($_POST['action']) && $_POST['action'] == 'run') (ende>now() OR ende is null OR ende>".$db->db_add_param($lastbismeldung).") AND (beginn<".$db->db_add_param($aktbismeldung)." OR beginn is null) AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." + AND tbl_bisverwendung.beschausmasscode!=5 ORDER BY beginn DESC"; if($result_verw = $db->db_query($qry_verw)) { From 7991e8cd256cd6aad2749ce7540adad976bd0f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 16 Nov 2017 18:13:54 +0100 Subject: [PATCH 06/14] =?UTF-8?q?Warning=20behoben=20bei=20Incoming/Outgoi?= =?UTF-8?q?ng=20die=20im=20Meldezeitraum=20keine=20Status=20haben=20jedoch?= =?UTF-8?q?=20einen=20g=C3=BCltigen=20IO=20eintrag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/studentenmeldung.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 0d249c141..b7fbbc671 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -670,6 +670,7 @@ function GenerateXMLStudentBlock($row) $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; + if($resultstatus = $db->db_query($qrystatus)) { if($db->db_num_rows($resultstatus)>0) @@ -779,6 +780,26 @@ function GenerateXMLStudentBlock($row) $storgform=$rowstatus->orgform_kurzbz; $aktstatus_stsem = $rowstatus->studiensemester_kurzbz; } + else + { + $aktstatus=''; + $storgform=''; + $aktstatus_datum=''; + $aktstatus_stsem=''; + $sem=''; + $error_log.= "kein gueltiger Status vorhanden"; + + } + } + else + { + $aktstatus=''; + $storgform=''; + $aktstatus_datum=''; + $aktstatus_stsem=''; + $sem=''; + $error_log.= "kein gueltiger Status vorhanden"; + } } } From 0fefdf9c586467e81e8ef5f9bbbbfc96227eb1c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 16 Nov 2017 18:16:31 +0100 Subject: [PATCH 07/14] =?UTF-8?q?Studiengangsleitungen=20werden=20nur=20no?= =?UTF-8?q?ch=20an=20Verwendungen=20vom=20Verwendungscode=3D5=20(Studienga?= =?UTF-8?q?ngsleitung)=20angeh=C3=A4ngt=20Fehler=20behoben=20wodurch=20SWS?= =?UTF-8?q?=20manchmal=20mit=20,=20statt=20.=20ausgegeben=20wurden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/personalmeldung.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index 1ed40dc97..ae1a65741 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -61,7 +61,7 @@ $mitarbeiterzahl=0; $echt=0; $frei=0; -$nichtmelden = array(11,91,92,94,999,203,145,204, 308, 182, 222); +$nichtmelden = array(11,91,92,94,999,203,145,204,308,182,222); $datumobj=new datum(); @@ -328,7 +328,7 @@ if($result = $db->db_query($qry)) ".$row_verwendung['beschausmasscode']." ".$row_verwendung['verwendung_code'].""; - if(isset($row_verwendung['stgltg'])) + if(isset($row_verwendung['stgltg']) && isset($row_verwendung['verwendung_code']) && $row_verwendung['verwendung_code']==5) { foreach($row_verwendung['stgltg'] as $row_stgl) { @@ -345,7 +345,7 @@ if($result = $db->db_query($qry)) $person_content.=" ".sprintf("%04s",$row_fkt['stgkz'])." - ".$row_fkt['sws'].""; + ".number_format($row_fkt['sws']).""; if($row_fkt['hauptberuflich']=='t') { $person_content.=" From 2b3f16d33cf2092943f0fb17bcd79696ca6e2a8d Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 16 Nov 2017 18:24:02 +0100 Subject: [PATCH 08/14] =?UTF-8?q?Zus=C3=A4tzliche=20Hinweise=20bei=20Fehle?= =?UTF-8?q?rmeldungen=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/checkverwendung.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vilesci/bis/checkverwendung.php b/vilesci/bis/checkverwendung.php index 9bf358c82..7e03985ca 100644 --- a/vilesci/bis/checkverwendung.php +++ b/vilesci/bis/checkverwendung.php @@ -163,7 +163,7 @@ $qryall='SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all nicht aktiven Mitarbeitern sind die aktuellen Verwendungen nicht plausibel

"; + echo "

Bei $num_rows_all nicht aktiven Mitarbeitern sind die aktuellen Verwendungen nicht plausibel (inaktiv aber aktuelle Verwendung)

"; while($rowall=$db->db_fetch_object($resultall)) { $i=0; @@ -267,7 +267,7 @@ $qryall="SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all aktiven, freien Lektoren ist die Verwendung nicht plausibel

"; + echo "

Bei $num_rows_all aktiven, freien Lektoren ist die Verwendung nicht plausibel - Verwendung darf nur 'Lehr- unf Forschungspersonal' oder 'Lehr- und Forschungshilfspersonal' sein

"; while($rowall=$db->db_fetch_object($resultall)) { $i=0; @@ -306,7 +306,7 @@ $qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachn if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all Lektoren mit Lehrauftrag sind die Verwendungen nicht plausibel

"; + echo "

Bei $num_rows_all Lektoren mit Lehrauftrag sind die Verwendungen nicht plausibel (Lehrauftrag aber keine aktuelle Verwendung)

"; while($rowall=$db->db_fetch_object($resultall)) { $i++; From e839f07c0c11fa2f61791a0b5ec5f3eabb3d5e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Nov 2017 08:39:29 +0100 Subject: [PATCH 09/14] =?UTF-8?q?-=20Ausgabe=20optimiert=20-=20Beschreibun?= =?UTF-8?q?gstexte=20zu=20den=20Fehlerkategorien=20hinzugef=C3=BCgt=20-=20?= =?UTF-8?q?Check=20f=C3=BCr=20doppelte=20Verwendungen=20entfernt=20da=20di?= =?UTF-8?q?ese=20bei=20der=20Erstellung=20der=20Meldung=20zusammengef?= =?UTF-8?q?=C3=BChrt=20werden=20-=20offene=20Verwendungen=20ohne=20Beginn?= =?UTF-8?q?=20und=20Endedatum=20werden=20jetzt=20zus=C3=A4tzlich=20angezei?= =?UTF-8?q?gt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/checkverwendung.php | 450 ++++++++++++++++++++++---------- 1 file changed, 318 insertions(+), 132 deletions(-) diff --git a/vilesci/bis/checkverwendung.php b/vilesci/bis/checkverwendung.php index 7e03985ca..a843d41c6 100644 --- a/vilesci/bis/checkverwendung.php +++ b/vilesci/bis/checkverwendung.php @@ -54,17 +54,36 @@ $update=false; $bismeldedatum=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y"))); $bismeldedatumvorjahr=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y")-1)); -function myaddslashes($var) -{ - return ($var!=''?"'".addslashes($var)."'":'null'); -} +$ba1_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba1_arr[$row->ba1code]=$row->ba1kurzbz; + +$ba2_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba2_arr[$row->ba2code]=$row->ba2bez; + +$verwendung_arr = array(); +$qry = "SELECT * FROM bis.tbl_verwendung"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $verwendung_arr[$row->verwendung_code]=$row->verwendungbez; + +$ausmass_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsausmass"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ausmass_arr[$row->beschausmasscode]=$row->beschausmassbez; ?> - + BIS-Meldung - Überprüfung von Verwendungen - + @@ -85,23 +104,43 @@ $lastss = $stsem_obj->getPrevious(); $lastws = $stsem_obj->getBeforePrevious(); //1 - aktive mitarbeiter und bismelden mit keiner verwendung oder mehr als einer aktuellen verwendung -$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id) - FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE aktiv AND bismelden AND (ende>now() OR ende IS NULL) - GROUP BY uid,nachname,vorname HAVING count(bisverwendung_id)!=1 ORDER by nachname,vorname;'; +$qryall=' + SELECT + uid, nachname, vorname, count(bisverwendung_id) + FROM + campus.vw_mitarbeiter + LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + aktiv + AND bismelden + AND (ende>now() OR ende IS NULL) + GROUP BY + uid, nachname, vorname + HAVING count(bisverwendung_id)!=1 + ORDER by nachname, vorname;'; if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); echo "

Bei $num_rows_all aktiven Mitarbeitern sind die aktuellen Verwendungen nicht plausibel

"; + echo "Es ist keine oder es sind mehrere aktive Verwendungen vorhanden.
"; while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung - JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) - JOIN public.tbl_person USING(person_id) - JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) - WHERE tbl_benutzer.aktiv=TRUE AND bismelden=TRUE - AND (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) + WHERE + tbl_benutzer.aktiv=TRUE + AND bismelden=TRUE + AND (ende>now() OR ende IS NULL) + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER BY beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -111,23 +150,44 @@ if($resultall = $db->db_query($qryall)) { if($i==0) { - echo "
Aktive(r) Mitarbeiter(in) ".$row->nachname." ".$row->vorname." hat ".$num_rows." aktuelle Verwendungen (möglicherweise korrekt):
"; + echo " +
+ Aktive(r) Mitarbeiter(in) ".$row->nachname." ".$row->vorname."". + " hat ".$num_rows." aktuelle Verwendungen (möglicherweise korrekt): + +
"; $i++; } - echo "Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", mit Ausmaß ".$row->beschausmasscode.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $ausmass_arr[$row->beschausmasscode].", ". + $row->beginn." - ".$row->ende."
"; } } elseif($num_rows==0) - echo "
Aktive(r) Mitarbeiter(in): ".$rowall->nachname." ".$rowall->vorname." hat ".$num_rows." aktuelle Verwendungen:
"; + echo "
Aktive(r) Mitarbeiter(in): ".$rowall->nachname." ".$rowall->vorname." + hat ".$num_rows." aktuelle Verwendungen:
"; } } } //2 - aktive fixe mitarbeiter mit keiner aktuellen verwendung -$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id) - FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE aktiv AND fixangestellt AND NOT ende>now() AND NOT ende IS NULL - AND uid NOT IN (SELECT uid FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE aktiv AND fixangestellt AND (ende>now() OR ende IS NULL)) GROUP BY uid,nachname,vorname ORDER by nachname,vorname;'; +$qryall = ' + SELECT + uid, nachname, vorname, count(bisverwendung_id) + FROM + campus.vw_mitarbeiter + LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + aktiv + AND fixangestellt + AND NOT ende>now() AND NOT ende IS NULL + AND uid NOT IN ( + SELECT uid FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE aktiv AND fixangestellt AND (ende>now() OR ende IS NULL) + ) + GROUP BY uid, nachname, vorname + ORDER by nachname, vorname;'; if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); @@ -135,8 +195,18 @@ if($resultall = $db->db_query($qryall)) while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) - WHERE tbl_benutzer.aktiv=TRUE AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) + JOIN public.tbl_person USING(person_id) + WHERE + tbl_benutzer.aktiv=TRUE + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER by beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -144,21 +214,36 @@ if($resultall = $db->db_query($qryall)) { if($i==0) { - echo "
Aktive(r) Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname." hat keine aktuellen Verwendungen:
"; + echo "
+ + Aktive(r) Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname." + hat keine aktuellen Verwendungen: + +
"; $i++; } - echo "Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", mit Ausmaß ".$row->beschausmasscode.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $ausmass_arr[$row->beschausmasscode].", ". + $row->beginn." - ".$row->ende."
"; } } } } //3 - nicht aktive mitarbeiter mitarbeiter mit aktueller verwendung -$qryall='SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter - JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE aktiv=false AND (ende>now() OR ende IS NULL) - GROUP BY uid,nachname,vorname - ORDER by nachname,vorname;'; +$qryall=' + SELECT + uid, nachname, vorname + FROM + campus.vw_mitarbeiter + JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + aktiv=false + AND (ende>now() OR ende IS NULL) + GROUP BY uid, nachname, vorname + ORDER by nachname, vorname;'; if($resultall = $db->db_query($qryall)) { @@ -167,8 +252,16 @@ if($resultall = $db->db_query($qryall)) while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung - WHERE (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + WHERE + (ende>now() OR ende IS NULL) + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER BY beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -176,29 +269,57 @@ if($resultall = $db->db_query($qryall)) { if($i==0) { - echo "
Nicht aktive(r) Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname." hat ".$num_rows." aktuelle Verwendungen:
"; + echo "
+ + Nicht aktive(r) Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname." + hat ".$num_rows." aktuelle Verwendungen: + +
"; $i++; } - echo "Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", mit Ausmaß ".$row->beschausmasscode.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $ausmass_arr[$row->beschausmasscode].", ". + $row->beginn." - ".$row->ende."
"; } } } } //4 - wenn hauptberuf=j dann sollte verwendung=1,5,6 sein - check -$qryall="SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter - JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE verwendung_code NOT IN ('1','5','6') AND hauptberuflich=true - GROUP BY uid,nachname,vorname - ORDER by nachname,vorname,uid;"; +$qryall=" + SELECT + uid, nachname, vorname + FROM + campus.vw_mitarbeiter + JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + verwendung_code NOT IN ('1','5','6') + AND hauptberuflich=true + GROUP BY uid, nachname, vorname + ORDER by nachname, vorname, uid;"; + if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all Mitarbeitern sind die Eintragungen 'hauptberuflich' nicht plausibel (hauptberuflich ja, aber Verwendung nicht 1,5,6)

"; + echo "

Bei $num_rows_all Mitarbeitern sind die Eintragungen 'hauptberuflich' nicht plausibel

"; + echo "hauptberuflich=ja, aber Verwendung nicht ". + $verwendung_arr[1].", ".$verwendung_arr[5]." oder ".$verwendung_arr[6]; + while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung - WHERE verwendung_code NOT IN ('1','5','6') AND hauptberuflich=true AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + WHERE + verwendung_code NOT IN ('1','5','6') + AND hauptberuflich=true + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER BY beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -206,42 +327,61 @@ if($resultall = $db->db_query($qryall)) { if($i==0) { - echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; + echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; $i++; } - echo "Verwendung Code ".$row->verwendung_code.", hauptberuflich ".($row->hauptberuflich=='t'?'ja':'nein').", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", mit Ausmaß ".$row->beschausmasscode.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", + hauptberuflich ".($row->hauptberuflich=='t'?'ja':'nein').", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $ausmass_arr[$row->beschausmasscode].", ". + $row->beginn." - ".$row->ende."
"; } } } } //5 - stimmt beschausmasscode mit vertragsstunden überein? -$qryall="SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter - JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE (beschausmasscode='1' AND vertragsstunden<='35') - OR (beschausmasscode='2' AND vertragsstunden>'15') - OR (beschausmasscode='3' AND vertragsstunden<'16') - OR (beschausmasscode='3' AND vertragsstunden>'25') - OR (beschausmasscode='4' AND vertragsstunden<'26') - OR (beschausmasscode='4' AND vertragsstunden>'35') - OR (beschausmasscode='5' AND vertragsstunden>'0') - GROUP BY uid,nachname,vorname - ORDER by nachname,vorname,uid;"; +$qryall=" + SELECT + uid, nachname, vorname + FROM + campus.vw_mitarbeiter + JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + (beschausmasscode='1' AND vertragsstunden<='35') + OR (beschausmasscode='2' AND vertragsstunden>'15') + OR (beschausmasscode='3' AND vertragsstunden<'16') + OR (beschausmasscode='3' AND vertragsstunden>'25') + OR (beschausmasscode='4' AND vertragsstunden<'26') + OR (beschausmasscode='4' AND vertragsstunden>'35') + OR (beschausmasscode='5' AND vertragsstunden>'0') + GROUP BY uid, nachname, vorname + ORDER by nachname, vorname, uid;"; + if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); echo "

Bei $num_rows_all Mitarbeitern ist das Beschäftigungsausmaß nicht plausibel

"; + echo "Vertragsstunden passen nicht mit Beschäftigungsausmass überein

"; while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung - WHERE ((beschausmasscode='1' AND vertragsstunden<'38.5') - OR (beschausmasscode='2' AND vertragsstunden>'15') - OR (beschausmasscode='3' AND vertragsstunden<'16') - OR (beschausmasscode='3' AND vertragsstunden>'25') - OR (beschausmasscode='4' AND vertragsstunden<'26') - OR (beschausmasscode='4' AND vertragsstunden>'35') - OR (beschausmasscode='5' AND vertragsstunden>'0')) - AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + WHERE + ((beschausmasscode='1' AND vertragsstunden<'38.5') + OR (beschausmasscode='2' AND vertragsstunden>'15') + OR (beschausmasscode='3' AND vertragsstunden<'16') + OR (beschausmasscode='3' AND vertragsstunden>'25') + OR (beschausmasscode='4' AND vertragsstunden<'26') + OR (beschausmasscode='4' AND vertragsstunden>'35') + OR (beschausmasscode='5' AND vertragsstunden>'0')) + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER BY beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -252,28 +392,50 @@ if($resultall = $db->db_query($qryall)) echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; $i++; } - echo "Beschäftigungsausmaß ".$row->beschausmasscode.", Vertragsstunden ".$row->vertragsstunden.", Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", mit Ausmaß ".$row->beschausmasscode.", ".$row->beginn." - ".$row->ende."
"; + echo $ausmass_arr[$row->beschausmasscode]. + ", Vertragsstunden ".$row->vertragsstunden. + ", ".$verwendung_arr[$row->verwendung_code]. + ", ".$ba1_arr[$row->ba1code]. + ", ".$ba2_arr[$row->ba2code]. + ", ".$row->beginn." - ".$row->ende."
"; } } } } //6 - aktive, freie lektoren auf verwendung 1 oder 2 prüfen -$qryall="SELECT uid,nachname,vorname FROM campus.vw_mitarbeiter - JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) - WHERE aktiv AND lektor AND fixangestellt=false - AND verwendung_code NOT IN ('1','2') AND (ende>now() OR ende IS NULL) - GROUP BY uid,nachname,vorname - ORDER by nachname,vorname,uid;"; +$qryall=" + SELECT + uid, nachname, vorname + FROM + campus.vw_mitarbeiter + JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) + WHERE + aktiv + AND lektor + AND fixangestellt=false + AND verwendung_code NOT IN ('1','2') + AND (ende>now() OR ende IS NULL) + GROUP BY uid, nachname, vorname + ORDER by nachname, vorname, uid;"; if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all aktiven, freien Lektoren ist die Verwendung nicht plausibel - Verwendung darf nur 'Lehr- unf Forschungspersonal' oder 'Lehr- und Forschungshilfspersonal' sein

"; + echo "

Bei $num_rows_all aktiven, freien Lektoren ist die Verwendung nicht plausibel

"; + echo "Verwendung darf nur '".$verwendung_arr[1]."' oder '".$verwendung_arr[2]."' sein.

"; + while($rowall=$db->db_fetch_object($resultall)) { $i=0; - $qry="SELECT * FROM bis.tbl_bisverwendung - WHERE verwendung_code NOT IN ('1','2') - AND mitarbeiter_uid='".$rowall->uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + WHERE + verwendung_code NOT IN ('1','2') + AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)." + ORDER BY beginn"; + if($result = $db->db_query($qry)) { $num_rows=$db->db_num_rows($result); @@ -284,24 +446,41 @@ if($resultall = $db->db_query($qryall)) echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; $i++; } - echo "Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $row->beginn." - ".$row->ende."
"; } } } } //7 - Lehrauftrag aber keine aktuelle Verwendung $i=0; -$qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname - FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id) - JOIN - lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - JOIN campus.vw_mitarbeiter ON (tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid) +$qryall=" + SELECT + DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname + FROM + lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN campus.vw_mitarbeiter ON (tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid) WHERE - (lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastss' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastws') - AND tbl_lehreinheitmitarbeiter.stundensatz!=0 AND tbl_lehreinheitmitarbeiter.semesterstunden!=0 - AND NOT EXISTS (SELECT * FROM bis.tbl_bisverwendung - WHERE ((beginn<'".$ende[$lastss]."') AND (ende>'".$beginn[$lastws]."') OR ende is null) AND mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) - ORDER BY nachname,vorname;"; + ( + lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($lastss)." + OR lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($lastws)." + ) + AND tbl_lehreinheitmitarbeiter.stundensatz!=0 + AND tbl_lehreinheitmitarbeiter.semesterstunden!=0 + AND NOT EXISTS ( + SELECT * FROM bis.tbl_bisverwendung + WHERE + ( + beginn<".$db->db_add_param($ende[$lastss])." + AND (ende>".$db->db_add_param($beginn[$lastws])." OR ende is null) + ) + AND mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid + ) + ORDER BY nachname,vorname;"; if($resultall = $db->db_query($qryall)) { @@ -311,78 +490,85 @@ if($resultall = $db->db_query($qryall)) { $i++; echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; - $qry="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$rowall->mitarbeiter_uid."';"; + $qry=" + SELECT + * + FROM + bis.tbl_bisverwendung + WHERE + mitarbeiter_uid=".$db->db_add_param($rowall->mitarbeiter_uid)." + ORDER BY beginn;"; if($result = $db->db_query($qry)) { while($row=$db->db_fetch_object($result)) { - echo "Verwendung Code ".$row->verwendung_code.", Beschäftigungscode ".$row->ba1code.", ".$row->ba2code.", ".$row->beginn." - ".$row->ende."
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $ba1_arr[$row->ba1code].", ". + $ba2_arr[$row->ba2code].", ". + $row->beginn." - ".$row->ende."
"; } } } } //8 - Verwendung Habil. und Entwicklungsteam Habil.=1 $i=0; -$qryall="SELECT DISTINCT mitarbeiter_uid, nachname, vorname - FROM bis.tbl_entwicklungsteam join bis.tbl_bisverwendung USING (mitarbeiter_uid) - JOIN campus.vw_mitarbeiter ON (tbl_entwicklungsteam.mitarbeiter_uid=uid) - WHERE ((besqualcode!=1 AND habilitation) OR (besqualcode=1 AND habilitation=false)) - ORDER BY mitarbeiter_uid;"; +$qryall=" + SELECT + DISTINCT mitarbeiter_uid, nachname, vorname + FROM + bis.tbl_entwicklungsteam + JOIN bis.tbl_bisverwendung USING (mitarbeiter_uid) + JOIN campus.vw_mitarbeiter ON (tbl_entwicklungsteam.mitarbeiter_uid=uid) + WHERE + ((besqualcode!=1 AND habilitation) OR (besqualcode=1 AND habilitation=false)) + ORDER BY mitarbeiter_uid;"; if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); echo "

Bei $num_rows_all Lektoren sind die Angaben über Habilitationen nicht plausibel

"; + echo "Wenn Besondere Qualifikation beim Entwicklungsteam gleich Habilitation ist dann muss bei der Verwendung auch + eine Habilitation eingetragen sein."; + while($rowall=$db->db_fetch_object($resultall)) { $i++; echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; - $qry="SELECT mitarbeiter_uid, nachname, vorname, besqualbez, habilitation, studiengang_kz, verwendung_code, tbl_bisverwendung.beginn as anfang, tbl_bisverwendung.ende as zuende - FROM bis.tbl_entwicklungsteam join bis.tbl_bisverwendung USING (mitarbeiter_uid) - JOIN campus.vw_mitarbeiter ON (tbl_entwicklungsteam.mitarbeiter_uid=uid) - JOIN bis.tbl_besqual USING(besqualcode) - WHERE ((besqualcode!=1 AND habilitation) OR (besqualcode=1 AND habilitation=false)) - AND mitarbeiter_uid='".$rowall->mitarbeiter_uid."';"; + $qry=" + SELECT + mitarbeiter_uid, nachname, vorname, besqualbez, + habilitation, studiengang_kz, verwendung_code, + tbl_bisverwendung.beginn as anfang, tbl_bisverwendung.ende as zuende + FROM + bis.tbl_entwicklungsteam join bis.tbl_bisverwendung USING (mitarbeiter_uid) + JOIN campus.vw_mitarbeiter ON (tbl_entwicklungsteam.mitarbeiter_uid=uid) + JOIN bis.tbl_besqual USING(besqualcode) + WHERE + ((besqualcode!=1 AND habilitation) OR (besqualcode=1 AND habilitation=false)) + AND mitarbeiter_uid=".$db->db_add_param($rowall->mitarbeiter_uid)." + ORDER BY tbl_bisverwendung.beginn"; if($result = $db->db_query($qry)) { while($row=$db->db_fetch_object($result)) { - echo "Verwendung Code ".$row->verwendung_code.", ".$row->anfang." - ".$row->zuende.", Habilitation ".($row->habilitation=='t'?'ja':'nein')." <-> Entwicklungsteam-bes.Qualifikation:(Stg. ".$row->studiengang_kz.") '".$row->besqualbez."'.
"; + echo $verwendung_arr[$row->verwendung_code].", ". + $row->anfang." - ".$row->zuende.", Habilitation ".($row->habilitation=='t'?'ja':'nein'). + " <-> Entwicklungsteam-bes.Qualifikation:(Stg. ".$row->studiengang_kz.") '".$row->besqualbez."'.
"; } } } } -//9 - 2 gleiche aktive Verwendungen -$qryall=" - SELECT distinct vorname, nachname, personalnummer, ba1code, ba2code FROM campus.vw_mitarbeiter JOIN ( - SELECT a.mitarbeiter_uid, a.ba1code, a.ba2code FROM bis.tbl_bisverwendung a, bis.tbl_bisverwendung b WHERE - a.bisverwendung_id<>b.bisverwendung_id AND - a.ba1code=b.ba1code AND - a.ba2code=b.ba2code AND - a.mitarbeiter_uid=b.mitarbeiter_uid AND - (a.ende is null OR a.ende>'$bismeldedatumvorjahr') AND - (b.ende is null OR b.ende>'$bismeldedatumvorjahr') AND - a.beschausmasscode=b.beschausmasscode AND - a.verwendung_code=b.verwendung_code - ) c ON(mitarbeiter_uid=uid)"; - -if($resultall = $db->db_query($qryall)) -{ - $num_rows_all=$db->db_num_rows($resultall); - echo "

Bei $num_rows_all Lektoren sind mehrere gleiche aktive Verwendungen vorhanden

"; - while($rowall=$db->db_fetch_object($resultall)) - { - $i++; - echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; - echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)"; - } -} -echo '
'; //9 - inaktive mitarbeiter und bismelden ohne verwendung -$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id) - FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) +$qryall=' + SELECT + uid, nachname, vorname, count(bisverwendung_id) + FROM + campus.vw_mitarbeiter + LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) WHERE bismelden - GROUP BY uid,nachname,vorname HAVING count(bisverwendung_id)=0 ORDER by nachname,vorname;'; + GROUP BY uid, nachname, vorname + HAVING count(bisverwendung_id)=0 + ORDER by nachname, vorname;'; if($resultall = $db->db_query($qryall)) { $num_rows_all=$db->db_num_rows($resultall); From 7d04f8a9b210355970e10f94a8080e9605f9faa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Nov 2017 09:13:35 +0100 Subject: [PATCH 10/14] Fixed Typo --- system/dbupdate_3.3.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index a36b5c068..cde9c02d1 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -510,7 +510,7 @@ if(!@$db->db_query("SELECT updatevon FROM public.tbl_rt_person LIMIT 1")) // Neue Funktion get_highest_content_version if(!@$db->db_query("SELECT campus.get_highest_content_version(0)")) { - $qry = "CREATE FUNCTION campus.get_highest_content_version(bigint) RETURNS smallint + $qry = 'CREATE FUNCTION campus.get_highest_content_version(bigint) RETURNS smallint LANGUAGE plpgsql AS $_$ DECLARE i_content_id ALIAS FOR $1; @@ -526,7 +526,7 @@ if(!@$db->db_query("SELECT campus.get_highest_content_version(0)")) END; $_$; - ALTER FUNCTION campus.get_highest_content_version(bigint) OWNER TO fhcomplete;"; + ALTER FUNCTION campus.get_highest_content_version(bigint) OWNER TO fhcomplete;'; if(!$db->db_query($qry)) echo 'campus.get_highest_content_version(content_id): '.$db->db_last_error().'
'; From 60a9afc4fb9b350caf355e9dab405c3c455f4554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Nov 2017 09:24:15 +0100 Subject: [PATCH 11/14] =?UTF-8?q?Tabelle=20extensions=20zu=20Tabellenpr?= =?UTF-8?q?=C3=BCfung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 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 cde9c02d1..55b272bab 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -922,6 +922,7 @@ $tabellen=array( "system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"), "system.tbl_benutzerrolle" => array("benutzerberechtigung_id","rolle_kurzbz","berechtigung_kurzbz","uid","funktion_kurzbz","oe_kurzbz","art","studiensemester_kurzbz","start","ende","negativ","updateamum", "updatevon","insertamum","insertvon","kostenstelle_id","anmerkung"), "system.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"), + "system.tbl_extensions" => array("extension_id","name","version","description","license","url","core_version","dependencies","enabled"), "system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon"), "system.tbl_phrasentext" => array("phrasentext_id","phrase_id","sprache","orgeinheit_kurzbz","orgform_kurzbz","text","description","insertamum","insertvon"), "system.tbl_rolle" => array("rolle_kurzbz","beschreibung"), From 9859a498ca88a5bbc77d1c5c1c1d4973556868db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 20 Nov 2017 15:59:55 +0100 Subject: [PATCH 12/14] Added new Function SearchPerson --- application/models/person/Person_model.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 2ea9d4d25..770be0e14 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -18,7 +18,7 @@ class Person_model extends DB_Model public function getPersonKontaktByZugangscode($zugangscode, $email) { $this->addJoin('public.tbl_kontakt', 'person_id'); - + return $this->loadWhere(array('zugangscode' => $zugangscode, 'kontakt' => $email)); } @@ -135,4 +135,21 @@ class Person_model extends DB_Model return $result; } + + /** + * Searches a Person + * @param $filter Term to search for. + * @return DB-result + */ + public function searchPerson($filter) + { + $this->addSelect('vorname, nachname, gebdatum, person_id'); + $result = $this->loadWhere( + 'lower(nachname) like '.$this->db->escape('%'.$filter.'%')." + OR lower(vorname) like ".$this->db->escape('%'.$filter.'%')." + OR lower(nachname || ' ' || vorname) like ".$this->db->escape('%'.$filter.'%')." + OR lower(vorname || ' ' || nachname) like ".$this->db->escape('%'.$filter.'%')); + + return $result; + } } From e76508307becf39bcac4ee777468bf9af7424a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 20 Nov 2017 16:00:22 +0100 Subject: [PATCH 13/14] Added extension Folders to ignore List --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index cf35d4eea..3eda1161d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,15 @@ documents/ .project .buildpath application/config/development/ +application/extensions/ +application/controllers/extensions/ +application/config/extensions/ +application/helpers/extensions/ +application/hooks/extensions/ +application/libraries/extensions/ +application/models/extensions/ +application/views/extensions/ +application/widgets/extensions/ tests/codeception/_output/* !/tests/codeception/_output/.placeholder tests/codeception/codeception.yml From 359e3fada605bda86a4e3ab31ccd2a27dae2e215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 20 Nov 2017 17:16:17 +0100 Subject: [PATCH 14/14] Added missing constants for Account Generation --- config/cis.config-default.inc.php | 4 ++++ config/vilesci.config-default.inc.php | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php index e3c4931db..49af7cdd6 100644 --- a/config/cis.config-default.inc.php +++ b/config/cis.config-default.inc.php @@ -104,6 +104,10 @@ define('LDAP2_USER_SEARCH_FILTER','sAMAccountName'); // LDAP MASTER SERVER fuer Passwort Aenderungen define('LDAP_SERVER_MASTER',LDAP_SERVER); +// Default Password fuer neue Accounts +// Hier sollte ein langes geheimes Passwort gesetzt werden! +define('ACCOUNT_ACTIVATION_PASSWORD',''); + // Attribut fuer Zutrittskartennummer im LDAP define("LDAP_CARD_NUMBER","twHitagCardNumber"); // Attribut fuer Zutrittskartennummer2 im LDAP diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php index e0f2147e6..8078d4fca 100644 --- a/config/vilesci.config-default.inc.php +++ b/config/vilesci.config-default.inc.php @@ -94,6 +94,11 @@ define('LDAP2_USER_SEARCH_FILTER','sAMAccountName'); // LDAP MASTER SERVER fuer Passwort Aenderungen define('LDAP_SERVER_MASTER',LDAP_SERVER); +// Default Password fuer neue Accounts +// Hier sollte ein langes geheimes Passwort gesetzt werden! +define('ACCOUNT_ACTIVATION_PASSWORD',''); + + // Attribut fuer Zutrittskartennummer im LDAP define("LDAP_CARD_NUMBER","twHitagCardNumber"); // Attribut fuer Zutrittskartennummer2 im LDAP