From 95663c42aa96ef97b31c11487ba2b0a6ca237b1b Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 14 Mar 2018 09:45:26 +0100 Subject: [PATCH 01/82] added ZGV and document info to freigabe mail --- .../system/infocenter/InfoCenter.php | 29 +++++- .../mailtemplates/interessentFreigabe.php | 93 ++++++++++++------- 2 files changed, 85 insertions(+), 37 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 24c90c908..5b13ce76d 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -816,6 +816,8 @@ class InfoCenter extends VileSci_Controller $prestudentstatus = $prestudent->prestudentstatus; $person_id = $prestudent->person_id; $person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval; + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval; + $dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval; //fill mail variables $interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin'; @@ -823,6 +825,25 @@ class InfoCenter extends VileSci_Controller $orgform = $prestudentstatus->orgform != '' ? ' ('.$prestudentstatus->orgform.')' : ''; $geschlecht = $person->geschlecht == 'm' ? 'männlich' : 'weiblich'; $geburtsdatum = date('d.m.Y', strtotime($person->gebdatum)); + $zgvort = !empty($prestudent->zgvort) ? ' in '.$prestudent->zgvort : ''; + $zgvnation = !empty($prestudent->zgvnation_bez) ? ', '.$prestudent->zgvnation_bez : ''; + $zgvdatum = !empty($prestudent->zgvdatum) ? ', am '.date_format(date_create($prestudent->zgvdatum), 'd.m.Y') : ''; + + $dokumenteNachzureichenMail = $dokumenteMail = array(); + //convert documents to array so they can be parsed, and keeping only needed fields + $lastel = end($dokumente); + foreach ($dokumente as $dokument) + { + $postfix = $lastel === $dokument ? '' : ' |'; + $dokumenteMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung.$postfix); + } + + foreach ($dokumenteNachzureichen as $dokument) + { + $anmerkung = !empty($dokument->anmerkung) ? ' | Anmerkung: '.$dokument->anmerkung : ''; + $nachgereichtam = !empty($dokument->nachgereicht_am) ? ' | wird nachgereicht bis '.date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; + $dokumenteNachzureichenMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung, 'anmerkung' => $anmerkung, 'nachgereicht_am' => $nachgereichtam); + } $notizenBewerbung = $this->NotizModel->getNotizByTitel($person_id, 'Anmerkung zur Bewerbung')->retval; @@ -859,7 +880,13 @@ class InfoCenter extends VileSci_Controller 'gebdatum' => $geburtsdatum, 'mailadresse' => $mailadresse, 'prestudentid' => $prestudent_id, - 'notizentext' => $notizentext + 'zgvbez' => $prestudent->zgv_bez, + 'zgvort' => $zgvort, + 'zgvdatum' => $zgvdatum, + 'zgvnation' => $zgvnation, + 'notizentext' => $notizentext, + 'dokumente' => $dokumenteMail, + 'dokumente_nachgereicht' => $dokumenteNachzureichenMail ); $this->load->library('parser'); diff --git a/application/views/templates/mailtemplates/interessentFreigabe.php b/application/views/templates/mailtemplates/interessentFreigabe.php index 91ca22f94..9c26a11d6 100644 --- a/application/views/templates/mailtemplates/interessentFreigabe.php +++ b/application/views/templates/mailtemplates/interessentFreigabe.php @@ -8,42 +8,63 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Studiengang{studiengangbez} {studiengangtypbez} {orgform} {sprache}
Studiensemester{studiensemester}
Geschlecht{geschlecht}
Vorname{vorname}
Nachname{nachname}
Geburtsdatum{gebdatum}
E-Mail Adresse{mailadresse}
Prestudent ID{prestudentid}
Anmerkungen zur Bewerbung{notizentext}
Studiengang{studiengangbez} {studiengangtypbez} {orgform} {sprache}
Studiensemester{studiensemester}
Geschlecht{geschlecht}
Vorname{vorname}
Nachname{nachname}
Geburtsdatum{gebdatum}
E-Mail Adresse{mailadresse}
Prestudent ID{prestudentid}
Zugangsvoraussetzung{zgvbez}{zgvort}{zgvnation}{zgvdatum}
Erbrachte Dokumente + {dokumente} + {dokument_bezeichnung} + {/dokumente} +
Nachzureichende Dokumente + {dokumente_nachgereicht} + {dokument_bezeichnung}{anmerkung}{nachgereicht_am} +
+ {/dokumente_nachgereicht} +
Anmerkungen zur Bewerbung{notizentext}

From 16631d7ad9b9490b9bb9da3cc512c4c4a7c5d6a9 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 14 Mar 2018 11:28:57 +0100 Subject: [PATCH 02/82] quickfix for collapsing menu - add click events only after ajax call execution (asynchronity can be a bitch...) --- application/views/widgets/navigationMenu.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/application/views/widgets/navigationMenu.php b/application/views/widgets/navigationMenu.php index f231bc67e..1fdb4b6b3 100644 --- a/application/views/widgets/navigationMenu.php +++ b/application/views/widgets/navigationMenu.php @@ -114,7 +114,7 @@ { var strMenu = ''; - $("#side-menu").html('
  • '); + printCollapseIcon(); jQuery.each(data, function(i, e) { strMenu += printNavItem(e); @@ -134,12 +134,12 @@ }); } - $(document).ready(function() { - - renderSideMenu(); + function printCollapseIcon() + { // Hiding/showing navigation menu - works only with sb admin 2 template!! + $("#side-menu").prepend('
  • '); $("#collapseicon").click(function() { $("#page-wrapper").css('margin-left', '0px'); $("#side-menu").hide(); @@ -151,6 +151,11 @@ $("#side-menu").show(); $("#collapseinicon").hide(); }); + } + + $(document).ready(function() { + + renderSideMenu(); }); From 55c5f87832c4cbd992b2ef6f1c9f0f1c4f0b245e Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 14 Mar 2018 12:24:01 +0100 Subject: [PATCH 03/82] Changed the server name in config/fhcomplete for addons_aufnahme_url --- application/config/fhcomplete.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/config/fhcomplete.php b/application/config/fhcomplete.php index b680d6f5d..15c5d8be0 100644 --- a/application/config/fhcomplete.php +++ b/application/config/fhcomplete.php @@ -243,4 +243,4 @@ $config['fhc_acl'] = array // $config['addons_aufnahme_url'] = array(); -$config['addons_aufnahme_url']['OE_ROOT'] = 'http://debian.dev/addons/aufnahme/OE_ROOT/cis/index.php'; +$config['addons_aufnahme_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php'; From fb56a694cd80dd6c8436f91e3e352fe34d1ff298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 14 Mar 2018 15:27:00 +0100 Subject: [PATCH 04/82] =?UTF-8?q?Fehler=20behoben=20wodurch=20der=20Excel?= =?UTF-8?q?=20Export=20f=C3=BCr=20Reihungstests=20nicht=20funktionierte=20?= =?UTF-8?q?wenn=20kein=20Studienplan=20zugeteilt=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/stammdaten/reihungstestverwaltung.php | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index 7cb117f5a..1afcc0c3c 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -178,14 +178,22 @@ if(isset($_GET['excel'])) $reihungstest = new reihungstest(); if($reihungstest->load($_GET['reihungstest_id'])) { + $rt_studienplan_id = ''; $studienplaene_arr = array(); $studienplaene = new reihungstest(); $studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); foreach ($studienplaene->result AS $row) { $studienplan = new studienplan(); - $studienplan->loadStudienplan($row->studienplan_id); - $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; + if($studienplan->loadStudienplan($row->studienplan_id)) + { + $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; + $rt_studienplan_id = $row->studienplan_id; + } + else + { + die('Fehler beim Laden:'.$studienplan->errormsg); + } } $studienplaene_list = implode(',', array_keys($studienplaene_arr)); @@ -249,12 +257,15 @@ if(isset($_GET['excel'])) "; $gebietbezeichnungen = array(); - $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung"; - if($result_gebiete = $db->db_query($qry_gebiete)) + if ($rt_studienplan_id != '') { - while($row_gebiete = $db->db_fetch_object($result_gebiete)) + $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($rt_studienplan_id)." ORDER BY reihung"; + if($result_gebiete = $db->db_query($qry_gebiete)) { - $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + while($row_gebiete = $db->db_fetch_object($result_gebiete)) + { + $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + } } } From 68f934a5d012c8eb0122da332ba2249cdd95e606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 15 Mar 2018 06:53:50 +0100 Subject: [PATCH 05/82] Removed Budget Tables from Core -> moved to Extension Fixed Problem during Extension installation --- application/core/DB_Model.php | 8 +- .../models/system/Extensions_model.php | 2 +- system/dbupdate_3.3.php | 138 +++--------------- 3 files changed, 24 insertions(+), 124 deletions(-) diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index be9e39082..bcc45ff17 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -29,18 +29,16 @@ class DB_Model extends FHC_Model /** * Constructor */ - public function __construct($dbTable = null, $pk = null, $hasSequence = true) + public function __construct($dbtype = 'default') { // Call parent constructor parent::__construct(); // Set properties - $this->pk = $pk; - $this->dbTable = $dbTable; - $this->hasSequence = $hasSequence; + $this->hasSequence = true; // Loads DB conns and confs - $this->load->database(); + $this->load->database($dbtype); // Loads the UDF library $this->load->library('UDFLib'); diff --git a/application/models/system/Extensions_model.php b/application/models/system/Extensions_model.php index c93817040..0792732d8 100644 --- a/application/models/system/Extensions_model.php +++ b/application/models/system/Extensions_model.php @@ -7,7 +7,7 @@ class Extensions_model extends DB_Model */ public function __construct() { - parent::__construct(); + parent::__construct('system'); $this->dbTable = 'system.tbl_extensions'; $this->pk = 'extension_id'; } diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 07dd57b45..a9db58f41 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1768,84 +1768,9 @@ if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzb } } -/** Budget **/ -if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) +if (!$result = @$db->db_query("SELECT projekt_id FROM fue.tbl_projekt LIMIT 1")) { - $qry = "CREATE TABLE wawi.tbl_budgetantrag - ( - budgetantrag_id integer NOT NULL, - kostenstelle_id integer NOT NULL, - geschaeftsjahr_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(256), - insertamum timestamp DEFAULT now(), - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag IS 'Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT pk_tbl_budgetantrag PRIMARY KEY (budgetantrag_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_budgetantrag_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag ALTER COLUMN budgetantrag_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_budgetantrag_id_seq'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_budgetantrag_id_seq TO vilesci; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_kostenstelle_id FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_geschaeftsjahr_kurzbz FOREIGN KEY (geschaeftsjahr_kurzbz) REFERENCES public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - CREATE TABLE wawi.tbl_budgetstatus - ( - budgetstatus_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(128) - ); - COMMENT ON TABLE wawi.tbl_budgetstatus IS 'Key Table of Budget Request Statuses'; - - ALTER TABLE wawi.tbl_budgetstatus ADD CONSTRAINT pk_tbl_budgetstatus PRIMARY KEY (budgetstatus_kurzbz); - - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('new','Neu'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('sent','Abgeschickt'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('approved','Freigegeben'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('accepted','Akzeptiert'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('rejected','Abgelehnt'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - - CREATE TABLE wawi.tbl_budgetantrag_status - ( - budgetantrag_status_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetstatus_kurzbz varchar(32) NOT NULL, - datum timestamp NOT NULL, - uid varchar(32), - oe_kurzbz varchar(32), - insertamum timestamp DEFAULT now(), - insertvon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag_status IS 'Statuses of Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT pk_tbl_budgetantrag_status PRIMARY KEY (budgetantrag_status_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag_status ALTER COLUMN budgetantrag_status_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq'); - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_budgetstatus_kurzbz FOREIGN KEY (budgetstatus_kurzbz) REFERENCES wawi.tbl_budgetstatus(budgetstatus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq TO vilesci; - - CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq + $qry = "CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -1853,47 +1778,29 @@ if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) GRANT SELECT, UPDATE ON fue.tbl_projekt_projekt_id_seq TO vilesci; ALTER TABLE fue.tbl_projekt ADD COLUMN projekt_id integer NOT NULL DEFAULT nextval('fue.tbl_projekt_projekt_id_seq'); ALTER TABLE fue.tbl_projekt ADD CONSTRAINT uk_tbl_projekt_projekt_id UNIQUE (projekt_id); - - CREATE TABLE wawi.tbl_budgetposition - ( - budgetposition_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetposten varchar(512), - konto_id integer, - betrag numeric(12,4), - kommentar text, - projekt_id integer, - insertamum timestamp, - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - - COMMENT ON TABLE wawi.tbl_budgetposition IS 'Budget position'; - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT pk_tbl_budgetposition PRIMARY KEY (budgetposition_id); - - CREATE SEQUENCE wawi.tbl_budgetposition_budgetposition_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetposition ALTER COLUMN budgetposition_id SET DEFAULT nextval(' wawi.tbl_budgetposition_budgetposition_id_seq'); - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_budgetantrag_id FOREIGN KEY (budgetantrag_id) REFERENCES wawi.tbl_budgetantrag(budgetantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_konto_id FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_projekt_id FOREIGN KEY (projekt_id) REFERENCES fue.tbl_projekt(projekt_id) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetposition TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetposition_budgetposition_id_seq TO vilesci; "; - if(!$db->db_query($qry)) - echo 'Budget: '.$db->db_last_error().'
    '; + if (!$db->db_query($qry)) + echo 'Projekt: '.$db->db_last_error().'
    '; else - echo '
    Neue Tabellen fuer Budgetantrag in Schema wawi hinzugefuegt'; + echo '
    Neue Spalte projekt_id für fue.tbl_projekt hinzugefügt'; } +// Extension Schema +if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata WHERE schema_name='extension'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE SCHEMA extension; + COMMENT ON SCHEMA extension is 'Extension Tables';"; + + if (!$db->db_query($qry)) + echo 'Extension: '.$db->db_last_error().'
    '; + else + echo '
    Neues Schema extension hinzugefuegt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; @@ -2161,11 +2068,6 @@ $tabellen=array( "wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"), "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"), "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"), - "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"), - "wawi.tbl_budgetantrag" => array("budgetantrag_id","kostenstelle_id","geschaeftsjahr_kurzbz","bezeichnung","insertamum","insertvon","updateamum","updatevon"), - "wawi.tbl_budgetantrag_status" => array("budgetantrag_status_id","budgetantrag_id","budgetstatus_kurzbz","datum","uid","oe_kurzbz","insertamum","insertvon"), - "wawi.tbl_budgetstatus" => array("budgetstatus_kurzbz","bezeichnung"), - "wawi.tbl_budgetposition" => array("budgetposition_id","budgetantrag_id","budgetposten","konto_id","betrag","kommentar","projekt_id","insertamum","insertvon","updateamum","updatevon"), "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"), "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"), "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"), From 3eebd1f3edd39b4279886234c29ff16909062d6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 15 Mar 2018 07:00:30 +0100 Subject: [PATCH 06/82] Extension Permission is now needed to see installed Extensions --- .../controllers/system/extensions/Manager.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/application/controllers/system/extensions/Manager.php b/application/controllers/system/extensions/Manager.php index db56b0d8b..9e24f00f5 100644 --- a/application/controllers/system/extensions/Manager.php +++ b/application/controllers/system/extensions/Manager.php @@ -11,15 +11,19 @@ class Manager extends VileSci_Controller * */ public function __construct() - { - parent::__construct(); + { + parent::__construct(); // Load helpers to upload files $this->load->helper(array('form', 'url')); - // Loads the extensions library - $this->load->library('ExtensionsLib'); - } + // Loads the extensions library + $this->load->library('ExtensionsLib'); + + $this->load->library('PermissionLib'); + if(!$this->permissionlib->isBerechtigt('system/extensions')) + show_error('You have no Permission! You need Extensions Permission'); + } /** * From 65f1992d13552ea1d5dcf58a03362d9b8dda9f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 15 Mar 2018 10:30:41 +0100 Subject: [PATCH 07/82] Fehler behoben wodurch Nationen nicht korrekt geladen wurden wenn die Sperre auf false gesetzt war --- include/nation.class.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/include/nation.class.php b/include/nation.class.php index 42956ec95..5eecb9fc7 100644 --- a/include/nation.class.php +++ b/include/nation.class.php @@ -49,7 +49,7 @@ class nation extends basis_db public function __construct($code=null) { parent::__construct(); - + if($code != null) $this->load($code); } @@ -64,7 +64,7 @@ class nation extends basis_db { //Lesen der Daten aus der Datenbank $qry = "SELECT * FROM bis.tbl_nation WHERE nation_code=".$this->db_add_param($code).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; @@ -101,17 +101,17 @@ class nation extends basis_db { //Lesen der Daten aus der Datenbank $qry = "SELECT * FROM bis.tbl_nation"; - + if ($ohnesperre) - $qry .= " WHERE sperre is null"; - + $qry .= " WHERE sperre is null OR sperre is false"; + if ($orderEnglish == false) $qry .= " ORDER BY kurztext"; - else + else $qry .= " ORDER BY engltext"; - + $qry .= ';'; - + if (!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; @@ -134,10 +134,10 @@ class nation extends basis_db $this->nation[] = $nation; } - + return true; } - + /** * Speichert die Personendaten in die Datenbank * @return true wenn erfolgreich, false im Fehlerfall @@ -169,4 +169,4 @@ class nation extends basis_db } } } -?> \ No newline at end of file +?> From 7060459e4420b261c6be5d1cd1340a7e40af16d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 15 Mar 2018 16:44:12 +0100 Subject: [PATCH 08/82] =?UTF-8?q?Men=C3=BCpunkt=20Wartung=20ist=20nur=20no?= =?UTF-8?q?ch=20sichtbar=20wenn=20Berechtigungen=20f=C3=BCr=20Unterpunkte?= =?UTF-8?q?=20vorhanden=20sind?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tw/vilesci_menu_main.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 9247cd98d..76938c547 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -176,7 +176,7 @@ $menu=array 'Wartung'=> array ( 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav', - + 'permissions'=>array('basis/studiengang','lehre/vorrueckung','student/vorrueckung','admin','basis/firma','student/stammdaten','assistenz','lv-plan'), 'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')), 'Vorrueckung'=> array ( @@ -186,7 +186,7 @@ $menu=array ), 'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')), 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')), - 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'), + 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')), 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')), 'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')), 'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')), From 48e8d0cc02e53cd212d1904bfd7b49e1cd15965a Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 16 Mar 2018 11:10:55 +0100 Subject: [PATCH 09/82] =?UTF-8?q?Incoming-Plattform=20Phrasen=C3=A4nderung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Adresse" statt "Straße" --- cis/public/incoming/incoming.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index ad3056b75..db51e38b7 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -1938,7 +1938,7 @@ else if ($method == "profil") - '.$p->t('global/strasse').' + '.$p->t('global/adresse').' '.$p->t('global/telefon').' From 5ff3d5f10839dff6db8ca6e26727a937e753a6a4 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 16 Mar 2018 11:11:52 +0100 Subject: [PATCH 10/82] =?UTF-8?q?L=C3=B6schen=20von=20Dokumenten=20und=20A?= =?UTF-8?q?kten=20wird=20nun=20geloggt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentDBDML.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 8ad4b5ec0..3e1942468 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -2251,6 +2251,29 @@ if(!$error) $error=true; $errormsg='Fehler beim Loeschen des Dokuments'; } + else + { + // Log schreiben + $logdata_dms = (array)$dms; + $logdata = var_export($logdata_dms, true); + $log = new log(); + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $user; + $log->beschreibung = "Löschen der DMS_ID ".$akte->dms_id; + $log->sql = 'LogData:'.$logdata; + $log->sqlundo = ''; + $log->save(true); + } + // Log schreiben + $logdata_akte = (array)$akte; + $logdata = var_export($logdata_akte, true); + $log = new log(); + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $user; + $log->beschreibung = "Löschen der Akte '".$akte->dokument_kurzbz."' ID '".$akte_id."'"; + $log->sql = 'DELETE FROM public.tbl_akte WHERE akte_id='.$db->db_add_param($akte_id, FHC_INTEGER).'; LogData:'.$logdata; + $log->sqlundo = ''; + $log->save(true); } else { From 8799d604723ec85d9a6e5bdc5f2ab3a0f5b8857d Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 16 Mar 2018 11:13:04 +0100 Subject: [PATCH 11/82] Minor Code and Phrase fixes --- locale/en-US/notfallbestimmungen.php | 2 +- vilesci/lehre/lehrveranstaltung.php | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/locale/en-US/notfallbestimmungen.php b/locale/en-US/notfallbestimmungen.php index 7f5230a54..f0403e1b2 100644 --- a/locale/en-US/notfallbestimmungen.php +++ b/locale/en-US/notfallbestimmungen.php @@ -6,5 +6,5 @@ $this->phrasen['notfallbestimmungen/ersthelferUndBrandschutzbeauftragte']='First $this->phrasen['notfallbestimmungen/ersthelfer']='First Aid Providers'; $this->phrasen['notfallbestimmungen/ausbildungErfolgteDurchORK']='Training was conducted by the Austrian Red Cross (ÖRK)'; $this->phrasen['notfallbestimmungen/folgendePersonenStehenZurVerfuegung']='The following persons are trained to provide first aid'; -$this->phrasen['notfallbestimmungen/sicherheitAnDerFHTW']='Security at the UASTW'; +$this->phrasen['notfallbestimmungen/sicherheitAnDerFHTW']='Safety at the UASTW'; ?> \ No newline at end of file diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php index 67ee0516e..92cd5d7de 100644 --- a/vilesci/lehre/lehrveranstaltung.php +++ b/vilesci/lehre/lehrveranstaltung.php @@ -703,8 +703,7 @@ echo ' "False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); } } } - -} + } }); $(\'.resetsaved\').click(function() From fc1bbd540bff692d1f60c3522c50e132bbb9ae9a Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 16 Mar 2018 11:19:27 +0100 Subject: [PATCH 12/82] Web User Insert for public.tbl_log granted --- 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 a9db58f41..fe3131bda 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1801,6 +1801,22 @@ if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata } } +// Berechtigungen fuer web-user erteilen Log in public.tbl_log zu schreiben +if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_log' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'")) +{ + if($db->db_num_rows($result)==0) + { + + $qry = "GRANT SELECT, INSERT ON public.tbl_log TO web; + "; + + if(!$db->db_query($qry)) + echo 'Log Berechtigungen: '.$db->db_last_error().'
    '; + else + echo '
    Web User Insert fuer public.tbl_log berechtigt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; From fc96790c36e703a9d96143536b662b7bf1070f65 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 16 Mar 2018 16:17:10 +0100 Subject: [PATCH 13/82] Writing Log when deleting DMS entry --- cms/tinymce_dms.php | 81 ++++++++++++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 27 deletions(-) diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php index 01c1cc18c..8aff8f542 100644 --- a/cms/tinymce_dms.php +++ b/cms/tinymce_dms.php @@ -26,6 +26,7 @@ require_once('../include/dms.class.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/basis_db.class.php'); require_once('../include/datum.class.php'); +require_once('../include/log.class.php'); $db = new basis_db(); $user = get_uid(); @@ -394,33 +395,59 @@ if(isset($_POST['action']) && $_POST['action']=='rename') } if(isset($_REQUEST['delete'])) -{ - if(!$rechte->isberechtigt('basis/dms',null, 'suid', null)) - die($rechte->errormsg); - - // lösche nur die Version - if(isset($_REQUEST['version'])) - { - $dms_id = $_REQUEST['dms_id']; - $version = $_REQUEST['version']; - - $dms = new dms(); - $dms->load($dms_id, $version); - - // DB Eintrag löschen - if(!$dms->deleteVersion($dms_id, $version)) - echo ''.$dms->errormsg.''; - } - else - { - // lösche gesamten Eintrag - $dms = new dms(); - $dms_id = $_REQUEST['dms_id']; - - // DB Einträge und Dokumente löschen - if(!$dms->deleteDms($dms_id)) - echo ''.$dms->errormsg.''; - } +{ + if (! $rechte->isberechtigt('basis/dms', null, 'suid', null)) + die($rechte->errormsg); + + // lösche nur die Version + if (isset($_REQUEST['version'])) + { + $dms_id = $_REQUEST['dms_id']; + $version = $_REQUEST['version']; + + $dms = new dms(); + $dms->load($dms_id, $version); + + // DB Eintrag löschen + if (! $dms->deleteVersion($dms_id, $version)) + echo '' . $dms->errormsg . ''; + else + { + // Log schreiben + $logdata_dms = (array)$dms; + $logdata = var_export($logdata_dms, true); + $log = new log(); + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $user; + $log->beschreibung = "Löschen der DMS_ID ".$dms_id; + $log->sql = 'LogData:'.$logdata; + $log->sqlundo = ''; + $log->save(true); + } + } + else + { + // lösche gesamten Eintrag + $dms = new dms(); + $dms_id = $_REQUEST['dms_id']; + + // DB Einträge und Dokumente löschen + if (! $dms->deleteDms($dms_id)) + echo '' . $dms->errormsg . ''; + else + { + // Log schreiben + $logdata_dms = (array)$dms; + $logdata = var_export($logdata_dms, true); + $log = new log(); + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $user; + $log->beschreibung = "Löschen der DMS_ID ".$dms_id; + $log->sql = 'LogData:'.$logdata; + $log->sqlundo = ''; + $log->save(true); + } + } } if($versionId != '') From a5fbd453575346cefacc17dab0bc330be905a5cf Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 16 Mar 2018 17:54:33 +0100 Subject: [PATCH 14/82] =?UTF-8?q?Spalte=20Nation=20hinzgrf=C3=BCgt,=20Logi?= =?UTF-8?q?n=20with=20code=20wird=20f=C3=BCr=20Liste=20ignoriert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/views/system/infocenter/infocenterData.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) mode change 100644 => 100755 application/views/system/infocenter/infocenterData.php diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php old mode 100644 new mode 100755 index 663e69ca6..48df269b2 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -9,10 +9,12 @@ p.vorname AS "Vorname", p.nachname AS "Nachname", p.gebdatum AS "Gebdatum", + p.staatsbuergerschaft AS "Nation", ( SELECT zeitpunkt FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') + AND logdata->>\'name\' != \'Login with code\' AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -21,6 +23,7 @@ SELECT insertvon FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') + AND logdata->>\'name\' != \'Login with code\' AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -141,7 +144,7 @@ 'hideSave' => false, 'checkboxes' => 'PersonId', 'additionalColumns' => array('Details'), - 'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Letzte Aktion','Letzter Bearbeiter', + 'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation','Letzte Aktion','Letzter Bearbeiter', 'StSem','GesendetAm','NumAbgeschickt','Studiengänge','Sperrdatum','GesperrtVon'), 'formatRaw' => function($datasetRaw) { @@ -189,6 +192,11 @@ $datasetRaw->{'StgAbgeschickt'} = 'N/A'; } + if ($datasetRaw->{'Nation'} == null) + { + $datasetRaw->{'Nation'} = '-'; + } + return $datasetRaw; }, 'markRow' => function($datasetRaw) { From 0d2ca75c706d05f084353ef3093b9bb99a7a279a Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 19 Mar 2018 16:10:07 +0100 Subject: [PATCH 15/82] =?UTF-8?q?GUI-Beh=C3=BCbschung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/tinymce_dms.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php index 8aff8f542..861d328ea 100644 --- a/cms/tinymce_dms.php +++ b/cms/tinymce_dms.php @@ -56,11 +56,22 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null)) + @@ -102,6 +170,7 @@ $benutzerart = (isset($_GET['benutzerart'])?$_GET['benutzerart']:''); $benutzeraktiv = (isset($_GET['aktiv'])?$_GET['aktiv']:'aktiv'); $berechtigung_kurzbz = (isset($_GET['berechtigung_kurzbz'])?$_GET['berechtigung_kurzbz']:''); $rolle_kurzbz = (isset($_GET['rolle_kurzbz'])?$_GET['rolle_kurzbz']:''); +$userOnly = (isset($_GET['userOnly']) ? true : false); $htmlstr=' @@ -141,6 +210,7 @@ $htmlstr=' $htmlstr .= ''; } $htmlstr .= ' + Nur User
    @@ -247,77 +317,180 @@ if(isset($_GET['searchstr'])) if($berechtigung_kurzbz != '') { $berechtigungen = new benutzerberechtigung(); - $berechtigungen->getBenutzerFromBerechtigung($berechtigung_kurzbz); - - if(isset($berechtigungen->result) && count($berechtigungen->result) != 0) - { - $htmlstr .= "
    \n"; - $htmlstr .= ""; - $htmlstr .= "\n"; - - foreach($berechtigungen->result as $row) + + // Wenn $userOnly false ist, werden die Rollen und Funktionen ausgegeben, die das Recht beinhalten, + // ansonsten werden die Rollen und Funktionen auf User aufgelöst und nur User ausgegeben + if ($userOnly == false) + { + $berechtigungen->getBenutzerFromBerechtigung($berechtigung_kurzbz); + + if(isset($berechtigungen->result) && count($berechtigungen->result) != 0) { - $benutzer = new benutzer(); - $benutzer->load($row->uid); - - $heute = strtotime(date('Y-m-d')); - - if ($row->ende!='' && strtotime($row->ende) < $heute) + $htmlstr .= "

    ".$berechtigung_kurzbz."

    \n"; + $htmlstr .= "
    BerechtigungRolleFunktionNachnameVornameUIDArtBenutzer AktivStatusAktion
    \n"; + $htmlstr .= ""; + $htmlstr .= "\n"; + + foreach($berechtigungen->result as $row) { - $color1 = '#f79c9c'; - $color2 = '#cc0202'; + $benutzer = new benutzer(); + $benutzer->load($row->uid); + + $heute = strtotime(date('Y-m-d')); + + if ($row->ende!='' && strtotime($row->ende) < $heute) + { + $status = '
    '; + } + elseif ($row->start!='' && strtotime($row->start) > $heute) + { + $status = '
    '; + } + else + { + $status = '
    '; + } + + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + if ($row->uid != '') + $htmlstr .= ' '; + elseif ($row->funktion_kurzbz != '') + $htmlstr .= ' '; + elseif ($row->rolle_kurzbz != '') + $htmlstr .= ' '; + + $htmlstr .= ' '; } - elseif ($row->start!='' && strtotime($row->start) > $heute) - { - $color1 = '#faf7b9'; - $color2 = '#cfde00'; - } - else - { - $color1 = '#d1fab9'; - $color2 = '#00de00'; - } - $status='
    '; - - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - $htmlstr .= ' '; - if ($row->uid != '') - $htmlstr .= ' '; - elseif ($row->funktion_kurzbz != '') - $htmlstr .= ' '; - elseif ($row->rolle_kurzbz != '') - $htmlstr .= ' '; - - $htmlstr .= ' '; + $htmlstr .= '
    RolleFunktionNachnameVornameUIDArtBenutzer AktivStatusAktion
    '.($row->rolle_kurzbz != ''?$row->rolle_kurzbz:'').''.($row->funktion_kurzbz != ''?$row->funktion_kurzbz:'').''.($benutzer->nachname != ''?$benutzer->nachname:'').''.($benutzer->vorname != ''?$benutzer->vorname:'').''.($row->uid != ''?$row->uid:'').''.$row->art.''.(isset($row->uid)?$benutzer->bnaktiv?'Ja':'Nein':'').''.$status.'Benutzerrechte bearbeitenFunktionsrechte bearbeitenRollenrechte bearbeiten
    '.$row->berechtigung_kurzbz.''.($row->rolle_kurzbz != ''?$row->rolle_kurzbz:'').''.($row->funktion_kurzbz != ''?$row->funktion_kurzbz:'').''.($benutzer->nachname != ''?$benutzer->nachname:'').''.($benutzer->vorname != ''?$benutzer->vorname:'').''.($row->uid != ''?$row->uid:'').''.$row->art.''.(isset($row->uid)?$benutzer->bnaktiv?'Ja':'Nein':'').''.$status.'Benutzerrechte bearbeitenFunktionsrechte bearbeitenRollenrechte bearbeiten
    '; + } + else + { + $htmlstr .= "Für diese Berechtigung sind keine Einträge vorhanden"; } - $htmlstr .= ''; } - else - { - $htmlstr .= "Für diese Berechtigung sind keine Einträge vorhanden"; + else + { + $berechtigungen_array = array(); + $berechtigungen->getBenutzerFromBerechtigung($berechtigung_kurzbz); + + if (isset($berechtigungen->result) && count($berechtigungen->result) != 0) + { + foreach ($berechtigungen->result as $row) + { + if ($row->uid != '') + { + $berechtigungen_array[] = array('uid' => $row->uid, + 'art' => $row->art, + 'start' => $row->start, + 'ende' => $row->ende, + 'oe_kurzbz' => $row->oe_kurzbz, + 'rolle_kurzbz' => '', + 'funktion_kurzbz' => ''); + } + if ($row->rolle_kurzbz != '') + { + $user_rolleberechtigung = new benutzerberechtigung(); + $user_rolleberechtigung->getBenutzerFromRolle($row->rolle_kurzbz); + foreach ($user_rolleberechtigung->result as $row_rolle) + { + $berechtigungen_array[] = array('uid' => $row_rolle->uid, + 'art' => $row_rolle->art, + 'start' => $row_rolle->start, + 'ende' => $row_rolle->ende, + 'oe_kurzbz' => $row_rolle->oe_kurzbz, + 'rolle_kurzbz' => $row_rolle->rolle_kurzbz, + 'funktion_kurzbz' => $row->funktion_kurzbz); + } + } + if ($row->funktion_kurzbz != '') + { + $user_funktion = new benutzerfunktion(); + $user_funktion->getBenutzerFunktionen($row->funktion_kurzbz); + foreach ($user_funktion->result as $row_funktion) + { + $berechtigungen_array[] = array('uid' => $row_funktion->uid, + 'art' => $row->art, + 'start' => $row->start, + 'ende' => $row->ende, + 'oe_kurzbz' => $row_funktion->oe_kurzbz, + 'rolle_kurzbz' => '', + 'funktion_kurzbz' => $row->funktion_kurzbz); + } + } + } +// var_dump($berechtigungen_array);exit; + // Benutzer der Rolle auflösen + foreach ($berechtigungen->result as $row) + { + $user_rolleberechtigung = new benutzerberechtigung(); + $user_rolleberechtigung->getBenutzerFromRolle($row->rolle_kurzbz); + } + + $htmlstr .= "

    ".$berechtigung_kurzbz."

    \n"; + $htmlstr .= "
    ".count($berechtigungen_array)." Einträge
    "; + $htmlstr .= "
    ".count(array_unique(array_column($berechtigungen_array, 'uid')))." UIDs
    "; + $htmlstr .= "\n"; + $htmlstr .= " + + + + + + + + + "; + $htmlstr .= "\n"; + + foreach ($berechtigungen_array as $key => $row) + { + $benutzer = new benutzer(); + $benutzer->load($row['uid']); + + $organisationseinheit = new organisationseinheit($row['oe_kurzbz']); + + $heute = strtotime(date('Y-m-d')); + + if ($row['ende'] != '' && strtotime($row['ende']) < $heute) + { + $status = '
    '; + } + elseif ($row['start'] != '' && strtotime($row['start']) > $heute) + { + $status = '
    '; + } + else + { + $status = '
    '; + } + + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + $htmlstr .= ' '; + } + $htmlstr .= '
    NachnameVornameUIDArtOE_KurzbzRolleFunktionBenutzer AktivStatusAktion
    ' . ($benutzer->nachname != '' ? $benutzer->nachname : '') . '' . ($benutzer->vorname != '' ? $benutzer->vorname : '') . '' . ($row['uid'] != '' ? $row['uid'] : '') . '' . $row['art'] . '' . $organisationseinheit->organisationseinheittyp_kurzbz . ' ' .$organisationseinheit->bezeichnung . '' . $row['rolle_kurzbz'] . '' . $row['funktion_kurzbz'] . '' . (isset($row['uid']) ? $benutzer->bnaktiv ? 'Ja' : 'Nein' : '') . '' . $status . 'Benutzerrechte bearbeiten
    '; + } + else + { + $htmlstr .= "Für diese Berechtigung sind keine Einträge vorhanden"; + } } } From e96ea40978ff45644695b98493218d1feca3896c Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 19 Mar 2018 17:16:15 +0100 Subject: [PATCH 17/82] New right "basis/dmsAdmin" For administrators to edit DMS-Categories --- system/checksystem.php | 1 + 1 file changed, 1 insertion(+) diff --git a/system/checksystem.php b/system/checksystem.php index c486d1b0b..1a49db0b8 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -81,6 +81,7 @@ $berechtigungen = array( array('basis/cms_sperrfreigabe','Berechtigung zum Freigeben von gesperrtem Content'), array('basis/cronjob','Cronjobverwaltung'), array('basis/dms','DMS Download'), + array('basis/dmsAdmin','DMS-Kategorien editieren'), array('basis/fas','FAS Zugriff'), array('basis/ferien','Verwaltung der Ferien und Feiertage im System'), array('basis/fhausweis','Verwaltungstools für FH Ausweis – Kartentausch, Bildpruefung, Druck'), From 54208d20b97736b993e81e4a1a9bf40d9a73fb6c Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 19 Mar 2018 17:17:44 +0100 Subject: [PATCH 18/82] New columns in tbl_dms_version and tbl_dms_kategorie New columns oe_kurzbz and berechtigung_kurzbz in tbl_dms_kategorie New columns cis_suche (boolean) and schlagworte in tbl_dms_version --- system/dbupdate_3.3.php | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index fe3131bda..cd41a1abb 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1817,6 +1817,41 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants } } +// ADD COLUMN oe_kurzbz AND berechtigung_kurzbz to campus.tbl_dms_kategorie +if(!@$db->db_query("SELECT oe_kurzbz FROM campus.tbl_dms_kategorie LIMIT 1")) +{ + $qry = "ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN oe_kurzbz varchar(32); + ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN berechtigung_kurzbz varchar(32); + + ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_berechtigung_kurzbz FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung(berechtigung_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_dms_kategorie '.$db->db_last_error().'
    '; + else + echo '
    Spalte oe_kurzbz und berechtigung_kurzbz in campus.tbl_dms_kategorie hinzugefügt'; +} + +// ADD COLUMN cis_suche (boolean) AND schlagworte to campus.tbl_dms_version +if(!@$db->db_query("SELECT cis_suche FROM campus.tbl_dms_version LIMIT 1")) +{ + $qry = "ALTER TABLE campus.tbl_dms_version ADD COLUMN cis_suche boolean NOT NULL DEFAULT false; + ALTER TABLE campus.tbl_dms_version ADD COLUMN schlagworte text; + + COMMENT ON COLUMN campus.tbl_dms_version.schlagworte IS 'Semicolon-separated string with keywords for CIS-search'; + UPDATE campus.tbl_dms_version SET cis_suche=true WHERE beschreibung != ''; + UPDATE campus.tbl_dms_version SET schlagworte=beschreibung WHERE beschreibung != ''; + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_dms_version '.$db->db_last_error().'
    '; + else + echo '
    Spalte cis_suche und schlagworte in campus.tbl_dms_version hinzugefügt. +
    Alle DMS-Einträge mit befülltem Beschreibungstext wurden auf cis_suche=true gesetzt +
    Bei allen DMS-Einträge mit befülltem Beschreibungstext, wurde dieser in die Spalte schlagworte übernommen'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; @@ -1869,9 +1904,9 @@ $tabellen=array( "campus.tbl_coodle_ressource_termin" => array("coodle_ressource_id","coodle_termin_id","insertamum","insertvon"), "campus.tbl_coodle_status" => array("coodle_status_kurzbz","bezeichnung"), "campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"), - "campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz"), + "campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz","oe_kurzbz","berechtigung_kurzbz"), "campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"), - "campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"), + "campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon","cis_suche","schlagworte"), "campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"), "campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"), From 00c94778c1a24fb35238608c6b79b5a6ede2ef83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 22 Mar 2018 10:03:06 +0100 Subject: [PATCH 19/82] Fixed Problem with Personal Filters --- application/views/widgets/navigationMenu.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/widgets/navigationMenu.php b/application/views/widgets/navigationMenu.php index 1fdb4b6b3..427fecf2e 100644 --- a/application/views/widgets/navigationMenu.php +++ b/application/views/widgets/navigationMenu.php @@ -139,7 +139,7 @@ { // Hiding/showing navigation menu - works only with sb admin 2 template!! - $("#side-menu").prepend('
  • '); + $("#side-menu").html('
  • '); $("#collapseicon").click(function() { $("#page-wrapper").css('margin-left', '0px'); $("#side-menu").hide(); From a1c4537540284ea8ffdc1ad1ebacdb1cf2dca4ad Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 23 Mar 2018 09:57:01 +0100 Subject: [PATCH 20/82] Filter Infocenter angepasst --- application/views/system/infocenter/infocenterData.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index 48df269b2..4a30c137b 100755 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -14,7 +14,7 @@ SELECT zeitpunkt FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') - AND logdata->>\'name\' != \'Login with code\' + AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -23,7 +23,7 @@ SELECT insertvon FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') - AND logdata->>\'name\' != \'Login with code\' + AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 From 546b3bfef3dd89ff759900f8b8267685a2200991 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 23 Mar 2018 11:03:46 +0100 Subject: [PATCH 21/82] Bugfix: removed redundant event binding for element remove-filter in view selecteFilters --- .../views/widgets/filter/selectFilters.php | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index f79a1e449..eb14f41ae 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -29,28 +29,6 @@ }); - $(".remove-filter").click(function(event) { - - $.ajax({ - url: "", - method: "POST", - data: { - fieldName: $(this).attr('filterToRemove') - } - }) - .done(function(data, textStatus, jqXHR) { - - resetSelectedFilters(); - renderSelectedFilters(); - - renderTableDataset(); - - }).fail(function(jqXHR, textStatus, errorThrown) { - alert(textStatus); - }); - - }); - $(".select-filter-operation").change(function() { if ($(this).val() == "set" || $(this).val() == "nset") From 24c54c6b3cae844d88d76a4cd2aef15bc721f870 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 23 Mar 2018 11:32:28 +0100 Subject: [PATCH 22/82] Index fuer system.tbl_log added --- system/dbupdate_3.3.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) mode change 100644 => 100755 system/dbupdate_3.3.php diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php old mode 100644 new mode 100755 index cd41a1abb..3f56f7f55 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -860,6 +860,7 @@ if ($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berech // End extensions //--------------------------------------------------------------------------------------------------------------------- +// Tabellen fuer Person Log if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1")) { $qry = "CREATE TABLE system.tbl_log @@ -910,6 +911,20 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1")) echo ' system.tbl_log hinzugefügt
    '; } +// Add index to system.tbl_log +if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_log_person_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE INDEX idx_tbl_log_person_id ON system.tbl_log USING btree (person_id)"; + + if (! $db->db_query($qry)) + echo 'Indizes: ' . $db->db_last_error() . '
    '; + else + echo 'Index fuer system.tbl_log hinzugefuegt'; + } +} + //--------------------------------------------------------------------------------------------------------------------- // Start filters @@ -1822,7 +1837,7 @@ if(!@$db->db_query("SELECT oe_kurzbz FROM campus.tbl_dms_kategorie LIMIT 1")) { $qry = "ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN oe_kurzbz varchar(32); ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN berechtigung_kurzbz varchar(32); - + ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_berechtigung_kurzbz FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung(berechtigung_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; "; From afeb3c1e5cb226962bcf34fb15916397e3f1afde Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 23 Mar 2018 17:50:17 +0100 Subject: [PATCH 23/82] Freischaltung gesperrte Mailverteiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der generierte Verteiler wird automatisch ins BCC-Feld übernommen. Ein Hinweis wird angezeigt, dass man bei manuellem kopieren des Verteilers, diesen ins BCC-Feld schreiben soll - GUI Behübschung --- cis/private/open_grp.php | 86 ++++++++++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/cis/private/open_grp.php b/cis/private/open_grp.php index 2973ac7cd..aca6272d4 100644 --- a/cis/private/open_grp.php +++ b/cis/private/open_grp.php @@ -87,16 +87,62 @@ echo ' '.$p->t('mailverteiler/oeffnenEinesVerteilers').' + '; if (isset($_REQUEST['token']) && isset($_REQUEST['grp'])) { echo ' - - - - - '; +

    '.$p->t('mailverteiler/oeffnenEinesVerteilers').'

    '; /* Generate an random String */ $mail_id = mail_id_generator(); @@ -116,30 +162,18 @@ if (isset($_REQUEST['token']) && isset($_REQUEST['grp'])) fwrite($filet, $message, mb_strlen($message)); fclose($filet); - echo " - - - - - - - - "; + echo ' +

    '.$p->t('mailverteiler/geoeffnet',$db->convert_html_chars($_REQUEST['desc'])).'

    +

    Code: '.$mail_id.'
    + Adresse: '.$_REQUEST["grp"].$mail_id.'@'.DOMAIN.'

    +

    '.$p->t('mailverteiler/klickenZumSchicken').'

    +

    '.$p->t('mailverteiler/infoBenutzung').'

    '; } else { echo ' - - - '; +

    '.$p->t('mailverteiler/oeffnenFehlgeschlagen').'

    '; } - echo '
    '.$p->t('mailverteiler/mailverteiler').''.$p->t('mailverteiler/status').'
    ".$db->convert_html_chars($_REQUEST['desc'])."".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.")
    -

    ".$p->t('mailverteiler/klickenZumSchicken')."

    - -

    ".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."

    -
    - '.$p->t('mailverteiler/oeffnenFehlgeschlagen').' -
    '; } else { @@ -149,7 +183,9 @@ else } else { - echo $p->t('mailverteiler/bestaetigeOeffnen',array($_REQUEST['grp']))." : convert_html_chars($_REQUEST['desc'])."&token=1\">".$p->t('mailverteiler/bestaetige').""; + echo '

    '.$p->t('mailverteiler/oeffnenEinesVerteilers').'

    '; + echo $p->t('mailverteiler/bestaetigeOeffnen').':'; + echo ''; } } From 2dcf4dd09fa3cc26662ef7f21f7fa60cd1b5e396 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 23 Mar 2018 17:51:00 +0100 Subject: [PATCH 24/82] =?UTF-8?q?Updateamum=20und=20-von=20bei=20=C3=84nde?= =?UTF-8?q?rung=20von=20Dokumenttyp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentDBDML.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 3e1942468..50d3a7612 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -2199,6 +2199,8 @@ if(!$error) $akte->anmerkung_intern = $_POST['anmerkung_intern']; $akte->titel_intern = $_POST['titel_intern']; $akte->dokument_kurzbz = $_POST['dokument_kurzbz']; + $akte->updateamum = date('Y-m-d H:i:s'); + $akte->updatevon = $user; if(!$akte->save()) { From 2e90718469a34b4820f51f9aa542b71d9499fdf1 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 23 Mar 2018 17:52:49 +0100 Subject: [PATCH 25/82] Person ID wird angezeigt, Spalte "AbgeschicktAm" wird default angezeigt --- content/student/studentdetailoverlay.xul.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index da5da869c..96687018e 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -52,8 +52,6 @@ echo ''; @@ -68,6 +66,10 @@ echo ''; + + - + '; > -