From 1b5bbf4aee73b8328d487e64bb0c5be05f83d7e6 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 29 Mar 2016 12:02:32 +0200 Subject: [PATCH 01/10] =?UTF-8?q?Zeitsperren=20Menu=20wenn=20link=20zu=20'?= =?UTF-8?q?resturlaub.php'=20ben=C3=B6tigt=20-->=20=C3=BCber=20CMS=20anleg?= =?UTF-8?q?en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/menu/menu_addon_zeitsperren.inc.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/cms/menu/menu_addon_zeitsperren.inc.php b/cms/menu/menu_addon_zeitsperren.inc.php index 4dd07e137..7fef792b8 100755 --- a/cms/menu/menu_addon_zeitsperren.inc.php +++ b/cms/menu/menu_addon_zeitsperren.inc.php @@ -31,15 +31,15 @@ class menu_addon_zeitsperren extends menu_addon public function __construct() { parent::__construct(); - + $sprache = getSprache(); $user = get_uid(); - + $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); - + $p = new phrasen($sprache); - + $fkt=new funktion(); $fkt->getAll($user); @@ -50,7 +50,8 @@ class menu_addon_zeitsperren extends menu_addon 'link' => 'private/profile/zeitsperre_days.php?days=12', 'name' => $p->t('menu/zeitsperren') ); - + + /* if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')) { $this->items[] = array('title' => $p->t('menu/resturlaub'), @@ -59,8 +60,9 @@ class menu_addon_zeitsperren extends menu_addon 'name' => $p->t('menu/resturlaub') ); } - - if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter') + */ + + if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stvLtg')|| $fkt->checkFunktion('gLtg') || $fkt->checkFunktion('Leitung') || $fkt->checkFunktion('ass')) { @@ -85,7 +87,7 @@ class menu_addon_zeitsperren extends menu_addon 'name' => $p->t('menu/assistenz') ); } - + $stg_obj = new studiengang(); $stg_obj->loadArray($rechte->getStgKz('admin'), 'typ, kurzbz', true); foreach($stg_obj->result as $row) @@ -95,11 +97,11 @@ class menu_addon_zeitsperren extends menu_addon 'link' => 'private/profile/zeitsperre.php?funktion=lkt&stg_kz='.$row->studiengang_kz, 'name' => $p->t('menu/lektoren').' '.$row->kurzbzlang ); - } + } } $this->output(); } } new menu_addon_zeitsperren(); -?> \ No newline at end of file +?> From e0177db7e9006bbb9dfa2b254fcf72f86911e6eb Mon Sep 17 00:00:00 2001 From: gerryraab Date: Tue, 29 Mar 2016 12:14:42 +0200 Subject: [PATCH 02/10] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53842565a..3e104ad48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch - **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich - **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben. +- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt verlinkung über CMS möglich. ### Updateinfo - **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. From df551cf4af268b1581e15b5221028e99b85631ee Mon Sep 17 00:00:00 2001 From: gerryraab Date: Tue, 29 Mar 2016 12:15:16 +0200 Subject: [PATCH 03/10] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e104ad48..ae444eef4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ - **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch - **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich - **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben. -- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt verlinkung über CMS möglich. +- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich. ### Updateinfo - **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. From e286e70b0b8e387895884b9e09af2d2f83143596 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Thu, 31 Mar 2016 10:05:20 +0200 Subject: [PATCH 04/10] changed default values of column lvinfo and benotung --- system/dbupdate_3.2.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php index 34324ab7d..5f78a37b4 100755 --- a/system/dbupdate_3.2.php +++ b/system/dbupdate_3.2.php @@ -107,7 +107,7 @@ if(!@$db->db_query("SELECT bewerbung_abgeschicktamum FROM public.tbl_prestudents //Spalte benotung in lehre.tbl_lehrveranstaltung if (!$result = @$db->db_query("SELECT benotung FROM lehre.tbl_lehrveranstaltung LIMIT 1;")) { - $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN benotung boolean NOT NULL DEFAULT FALSE;"; + $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN benotung boolean NOT NULL DEFAULT TRUE;"; if (!$db->db_query($qry)) echo 'lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '
'; @@ -118,7 +118,7 @@ if (!$result = @$db->db_query("SELECT benotung FROM lehre.tbl_lehrveranstaltung //Spalte lvinfo in lehre.tbl_lehrveranstaltung if (!$result = @$db->db_query("SELECT lvinfo FROM lehre.tbl_lehrveranstaltung LIMIT 1;")) { - $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvinfo boolean NOT NULL DEFAULT FALSE;"; + $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvinfo boolean NOT NULL DEFAULT TRUE;"; if (!$db->db_query($qry)) echo 'lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '
'; From 093c70eeb46da0d64cbd344e15a14ca0d335e361 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Thu, 31 Mar 2016 11:57:50 +0200 Subject: [PATCH 05/10] fixed bugs --- include/lehrveranstaltung.class.php | 2 +- include/studienplan.class.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 2173a1b23..6c163e8df 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1299,7 +1299,7 @@ class lehrveranstaltung extends basis_db /** * Generiert die Subtrees des Lehrveranstaltungstrees */ - protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) + public function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) { $childs = array(); foreach ($this->lehrveranstaltungen as $row) diff --git a/include/studienplan.class.php b/include/studienplan.class.php index 17611725c..61325f6c4 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -609,8 +609,8 @@ class studienplan extends basis_db $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->sort = $row->sort; - $this->curriculum = $row->curriculum; - $this->export = $row->export; + $this->curriculum = $this->db_parse_bool($row->curriculum); + $this->export = $this->db_parse_bool($row->export); $this->new=false; return true; } From 9a6cf6ee7ba051225a2b3f47645e72d75489d5d9 Mon Sep 17 00:00:00 2001 From: oesi Date: Fri, 1 Apr 2016 08:08:07 +0200 Subject: [PATCH 06/10] =?UTF-8?q?Fehler=20behoben=20wodurch=20das=20Kopier?= =?UTF-8?q?en=20von=20Studienordnungen=20zu=20Fehlermeldungen=20f=C3=BChrt?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/studienplan.class.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/include/studienplan.class.php b/include/studienplan.class.php index 61325f6c4..9a353eb5c 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -896,12 +896,17 @@ class studienplan extends basis_db $this->db_add_param($key["ausbildungssemester"]) . '); '; } - if (!$this->db_query($qry)) + if($qry!='') { - $this->errormsg = 'Fehler beim Speichern des Datensatzes'; - return false; + if (!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + return true; } - return true; + else + return true; } else { From dac5cd55ad8e06db4c3e41278edd4b3e08a257b5 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 1 Apr 2016 13:59:22 +0200 Subject: [PATCH 07/10] Italian days and months show all projects in zeitaufzeichnung where user has ever been assigned in a phase --- include/globals.inc.php | 165 +++---- include/projekt.class.php | 876 +++++++++++++++++++------------------- 2 files changed, 530 insertions(+), 511 deletions(-) mode change 100644 => 100755 include/globals.inc.php diff --git a/include/globals.inc.php b/include/globals.inc.php old mode 100644 new mode 100755 index 2ba9205da..650e0601c --- a/include/globals.inc.php +++ b/include/globals.inc.php @@ -1,73 +1,92 @@ - + diff --git a/include/projekt.class.php b/include/projekt.class.php index eddeaafc4..b2e8d7a13 100755 --- a/include/projekt.class.php +++ b/include/projekt.class.php @@ -1,454 +1,454 @@ -, - * Andreas Österreicher - */ -/** - * Klasse projekt - * - * Verwaltet die Projekte - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class projekt extends basis_db -{ - public $new; // boolean - public $result = array(); // projekt Objekt - - //Tabellenspalten - public $projekt_kurzbz; // string - public $nummer; // string - public $titel; // string - public $beschreibung; // string - public $beginn; // date - public $ende; // date - public $oe_kurzbz; // string - public $insertamum; // timestamp - public $insertvon; // string - public $updateamum; // timestamp - public $updatevon; // string - public $budget; - public $farbe; +, + * Andreas Österreicher + */ +/** + * Klasse projekt + * + * Verwaltet die Projekte + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class projekt extends basis_db +{ + public $new; // boolean + public $result = array(); // projekt Objekt + + //Tabellenspalten + public $projekt_kurzbz; // string + public $nummer; // string + public $titel; // string + public $beschreibung; // string + public $beginn; // date + public $ende; // date + public $oe_kurzbz; // string + public $insertamum; // timestamp + public $insertvon; // string + public $updateamum; // timestamp + public $updatevon; // string + public $budget; + public $farbe; public $anzahl_ma; // integer public $aufwand_pt; // integer - - - - /** - * Konstruktor - * @param $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null) - */ - public function __construct($projekt_kurzbz=null) - { - parent::__construct(); - - if($projekt_kurzbz != null) - $this->load($projekt_kurzbz); - } - - /** - * Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz - * @param $projekt_kurzbz Kurzbz des Projekts - * @return true wenn ok, false im Fehlerfall - */ - public function load($projekt_kurzbz) - { - $qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz); - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->projekt_kurzbz = $row->projekt_kurzbz; - $this->nummer= $row->nummer; - $this->titel= $row->titel; - $this->beschreibung= $row->beschreibung; - $this->beginn= $row->beginn; - $this->ende = $row->ende; - $this->oe_kurzbz= $row->oe_kurzbz; - $this->budget= $row->budget; + + + + /** + * Konstruktor + * @param $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null) + */ + public function __construct($projekt_kurzbz=null) + { + parent::__construct(); + + if($projekt_kurzbz != null) + $this->load($projekt_kurzbz); + } + + /** + * Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz + * @param $projekt_kurzbz Kurzbz des Projekts + * @return true wenn ok, false im Fehlerfall + */ + public function load($projekt_kurzbz) + { + $qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->projekt_kurzbz = $row->projekt_kurzbz; + $this->nummer= $row->nummer; + $this->titel= $row->titel; + $this->beschreibung= $row->beschreibung; + $this->beginn= $row->beginn; + $this->ende = $row->ende; + $this->oe_kurzbz= $row->oe_kurzbz; + $this->budget= $row->budget; $this->farbe= $row->farbe; $this->anzahl_ma = $row->anzahl_ma; - $this->aufwand_pt = $row->aufwand_pt; - - return true; - } - else - { - $this->errormsg = 'Datensatz wurde nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Laedt alle aktuellen Projekte - * @param $kommend lädt auch alle zukünftigen - * @return boolean - */ - public function getProjekteAktuell($filter_kommende = false, $oe=null) - { - $qry = 'SELECT * FROM fue.tbl_projekt WHERE '; - - if($filter_kommende) - $qry.= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)"; - else - $qry.=" (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)"; - - - if(!is_null($oe)) - $qry.= ' AND oe_kurzbz='.$this->db_add_param($oe); - - $qry.= ' ORDER BY oe_kurzbz;'; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new projekt(); - - $obj->projekt_kurzbz = $row->projekt_kurzbz; - $obj->nummer = $row->nummer; - $obj->titel = $row->titel; - $obj->beschreibung = $row->beschreibung; - $obj->beginn = $row->beginn; - $obj->ende = $row->ende; - $obj->oe_kurzbz = $row->oe_kurzbz; - $obj->budget = $row->budget; - $obj->farbe = $row->farbe; + $this->aufwand_pt = $row->aufwand_pt; + + return true; + } + else + { + $this->errormsg = 'Datensatz wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Laedt alle aktuellen Projekte + * @param $kommend lädt auch alle zukünftigen + * @return boolean + */ + public function getProjekteAktuell($filter_kommende = false, $oe=null) + { + $qry = 'SELECT * FROM fue.tbl_projekt WHERE '; + + if($filter_kommende) + $qry.= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)"; + else + $qry.=" (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)"; + + + if(!is_null($oe)) + $qry.= ' AND oe_kurzbz='.$this->db_add_param($oe); + + $qry.= ' ORDER BY oe_kurzbz;'; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new projekt(); + + $obj->projekt_kurzbz = $row->projekt_kurzbz; + $obj->nummer = $row->nummer; + $obj->titel = $row->titel; + $obj->beschreibung = $row->beschreibung; + $obj->beginn = $row->beginn; + $obj->ende = $row->ende; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->budget = $row->budget; + $obj->farbe = $row->farbe; $obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz; $obj->anzahl_ma = $row->anzahl_ma; - $obj->aufwand_pt = $row->aufwand_pt; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Laedt alle Projekte die zwischen beginn und ende liegen - * @param $beginn - * @param $ende - * @param $oe - * @return boolean - */ - public function getProjekteInZeitraum($beginn, $ende, $oe=null) - { - $qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn); - if (!is_null($oe)) - $qry.= " AND oe_kurzbz=".$this->db_add_param($oe); - $qry.= ' ORDER BY oe_kurzbz;'; - //echo $qry; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new projekt(); - - $obj->projekt_kurzbz = $row->projekt_kurzbz; - $obj->nummer = $row->nummer; - $obj->titel = $row->titel; - $obj->beschreibung = $row->beschreibung; - $obj->beginn = $row->beginn; - $obj->ende = $row->ende; - $obj->oe_kurzbz = $row->oe_kurzbz; - $obj->budget = $row->budget; - $obj->farbe = $row->farbe; + $obj->aufwand_pt = $row->aufwand_pt; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Laedt alle Projekte die zwischen beginn und ende liegen + * @param $beginn + * @param $ende + * @param $oe + * @return boolean + */ + public function getProjekteInZeitraum($beginn, $ende, $oe=null) + { + $qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn); + if (!is_null($oe)) + $qry.= " AND oe_kurzbz=".$this->db_add_param($oe); + $qry.= ' ORDER BY oe_kurzbz;'; + //echo $qry; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new projekt(); + + $obj->projekt_kurzbz = $row->projekt_kurzbz; + $obj->nummer = $row->nummer; + $obj->titel = $row->titel; + $obj->beschreibung = $row->beschreibung; + $obj->beginn = $row->beginn; + $obj->ende = $row->ende; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->budget = $row->budget; + $obj->farbe = $row->farbe; $obj->anzahl_ma = $row->anzahl_ma; $obj->aufwand_pt = $row->aufwand_pt; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - - /** - * Laedt die Projeke einer Organisationseinheit - * @param $projekt_kurzbz Kurzbezeichnung des Projekts - * @return true wenn ok, false im Fehlerfall - */ - public function getProjekte($oe=null) - { - $qry = 'SELECT * FROM fue.tbl_projekt'; - if (!is_null($oe)) - $qry.= " WHERE oe_kurzbz=".$this->db_add_param($oe); - $qry.= ' ORDER BY oe_kurzbz;'; - //echo $qry; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new projekt(); - - $obj->projekt_kurzbz = $row->projekt_kurzbz; - $obj->nummer = $row->nummer; - $obj->titel = $row->titel; - $obj->beschreibung = $row->beschreibung; - $obj->beginn = $row->beginn; - $obj->ende = $row->ende; - $obj->oe_kurzbz = $row->oe_kurzbz; - $obj->budget = $row->budget; - $obj->farbe = $row->farbe; - $obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + + /** + * Laedt die Projeke einer Organisationseinheit + * @param $projekt_kurzbz Kurzbezeichnung des Projekts + * @return true wenn ok, false im Fehlerfall + */ + public function getProjekte($oe=null) + { + $qry = 'SELECT * FROM fue.tbl_projekt'; + if (!is_null($oe)) + $qry.= " WHERE oe_kurzbz=".$this->db_add_param($oe); + $qry.= ' ORDER BY oe_kurzbz;'; + //echo $qry; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new projekt(); + + $obj->projekt_kurzbz = $row->projekt_kurzbz; + $obj->nummer = $row->nummer; + $obj->titel = $row->titel; + $obj->beschreibung = $row->beschreibung; + $obj->beginn = $row->beginn; + $obj->ende = $row->ende; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->budget = $row->budget; + $obj->farbe = $row->farbe; + $obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz; $obj->anzahl_ma = $row->anzahl_ma; $obj->aufwand_pt = $row->aufwand_pt; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Prueft die Variablen auf Gueltigkeit - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - - //Gesamtlaenge pruefen - if ($this->projekt_kurzbz==null) - { - $this->errormsg='Projekt kurzbz darf nicht NULL sein!'; - } - if ($this->oe_kurzbz==null) - { - $this->errormsg='OE kurbz darf nicht NULL sein!'; - } - if(mb_strlen($this->projekt_kurzbz)>16) - { - $this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein'; - return false; - } - if(mb_strlen($this->nummer)>8) - { - $this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein'; - return false; - } - if(mb_strlen($this->titel)>256) - { - $this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein'; - return false; - } - - $this->errormsg = ''; - return true; - } - - /** - * Speichert den aktuellen Datensatz in die Datenbank - * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - * andernfalls wird der Datensatz mit der ID in $projekt_kurzbz aktualisiert - * @return true wenn ok, false im Fehlerfall - */ - public function save($new=null) - { - //Variablen pruefen - if(!$this->validate()) - return false; - - if($new==null) - $new = $this->new; - - if($new) - { - //Neuen Datensatz einfuegen - - $qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('. - $this->db_add_param($this->projekt_kurzbz).', '. - $this->db_add_param($this->nummer).', '. - $this->db_add_param($this->titel).', '. - $this->db_add_param($this->beschreibung).', '. - $this->db_add_param($this->beginn).', '. - $this->db_add_param($this->ende).', '. - $this->db_add_param($this->budget).', '. - $this->db_add_param($this->farbe).', '. + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Prueft die Variablen auf Gueltigkeit + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + + //Gesamtlaenge pruefen + if ($this->projekt_kurzbz==null) + { + $this->errormsg='Projekt kurzbz darf nicht NULL sein!'; + } + if ($this->oe_kurzbz==null) + { + $this->errormsg='OE kurbz darf nicht NULL sein!'; + } + if(mb_strlen($this->projekt_kurzbz)>16) + { + $this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein'; + return false; + } + if(mb_strlen($this->nummer)>8) + { + $this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein'; + return false; + } + if(mb_strlen($this->titel)>256) + { + $this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein'; + return false; + } + + $this->errormsg = ''; + return true; + } + + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $projekt_kurzbz aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function save($new=null) + { + //Variablen pruefen + if(!$this->validate()) + return false; + + if($new==null) + $new = $this->new; + + if($new) + { + //Neuen Datensatz einfuegen + + $qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('. + $this->db_add_param($this->projekt_kurzbz).', '. + $this->db_add_param($this->nummer).', '. + $this->db_add_param($this->titel).', '. + $this->db_add_param($this->beschreibung).', '. + $this->db_add_param($this->beginn).', '. + $this->db_add_param($this->ende).', '. + $this->db_add_param($this->budget).', '. + $this->db_add_param($this->farbe).', '. $this->db_add_param($this->oe_kurzbz).','. $this->db_add_param($this->aufwand_pt).','. - $this->db_add_param($this->anzahl_ma).','. - $this->db_add_param($this->aufwandstyp_kurzbz).');'; - } - else - { - //Updaten des bestehenden Datensatzes - - $qry='UPDATE fue.tbl_projekt SET '. - 'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '. - 'nummer='.$this->db_add_param($this->nummer).', '. - 'titel='.$this->db_add_param($this->titel).', '. - 'beschreibung='.$this->db_add_param($this->beschreibung).', '. - 'beginn='.$this->db_add_param($this->beginn).', '. - 'ende='.$this->db_add_param($this->ende).', '. - 'budget='.$this->db_add_param($this->budget).', '. - 'farbe='.$this->db_add_param($this->farbe).', '. + $this->db_add_param($this->anzahl_ma).','. + $this->db_add_param($this->aufwandstyp_kurzbz).');'; + } + else + { + //Updaten des bestehenden Datensatzes + + $qry='UPDATE fue.tbl_projekt SET '. + 'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '. + 'nummer='.$this->db_add_param($this->nummer).', '. + 'titel='.$this->db_add_param($this->titel).', '. + 'beschreibung='.$this->db_add_param($this->beschreibung).', '. + 'beginn='.$this->db_add_param($this->beginn).', '. + 'ende='.$this->db_add_param($this->ende).', '. + 'budget='.$this->db_add_param($this->budget).', '. + 'farbe='.$this->db_add_param($this->farbe).', '. 'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '. 'anzahl_ma='.$this->db_add_param($this->anzahl_ma).', '. - 'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '. - 'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '. - 'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';'; - } - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Daten'; - return false; - } - } - - /** - * Loescht den Datenensatz - * @param $projekt_kurzbz Projekt das geloescht werden soll - * @return true wenn ok, false im Fehlerfall - */ - public function delete($projekt_kurzbz) - { - - $qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz); - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Loeschen des Datensatzes'; - return false; - } - } - - /** - * Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist. - * Optional auch mit den Zuteilungen zu Projektphasen. - * @param $mitarbeiter_uid - * @param $projektphasen boolean Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert. - */ - function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen=false) - { - $qry = "SELECT DISTINCT - tbl_projekt.* - FROM - fue.tbl_ressource - JOIN fue.tbl_projekt_ressource USING(ressource_id) - JOIN fue.tbl_projekt USING(projekt_kurzbz) - WHERE (beginn<=now() or beginn is null) - AND (ende>=now() OR ende is null) - AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); - - if ($projektphasen==true) - $qry.= "UNION - - SELECT DISTINCT - tbl_projekt.* - FROM - fue.tbl_projektphase - JOIN fue.tbl_projekt USING (projekt_kurzbz) - JOIN fue.tbl_projekt_ressource USING (projektphase_id) - JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id) - WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null) - AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null) - AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $obj = new projekt(); - - $obj->projekt_kurzbz = $row->projekt_kurzbz; - $obj->nummer = $row->nummer; - $obj->titel = $row->titel; - $obj->beschreibung = $row->beschreibung; - $obj->beginn = $row->beginn; - $obj->ende = $row->ende; - $obj->oe_kurzbz = $row->oe_kurzbz; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->erromsg = 'Fehler beim Laden der Daten'; - return false; - } - } - public function getProjektFromBestellung($bestellung_id) - { - $qry ="select * from fue.tbl_projekt - join wawi.tbl_projekt_bestellung USING (projekt_kurzbz) - where bestellung_id= ".$this->db_add_param($bestellung_id); - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->projekt_kurzbz = $row->projekt_kurzbz; - $this->nummer= $row->nummer; - $this->titel= $row->titel; - $this->beschreibung= $row->beschreibung; - $this->beginn= $row->beginn; - $this->ende = $row->ende; - $this->oe_kurzbz= $row->oe_kurzbz; - $this->budget= $row->budget; - $this->farbe= $row->farbe; + 'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '. + 'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '. + 'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';'; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Daten'; + return false; + } + } + + /** + * Loescht den Datenensatz + * @param $projekt_kurzbz Projekt das geloescht werden soll + * @return true wenn ok, false im Fehlerfall + */ + public function delete($projekt_kurzbz) + { + + $qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz); + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Loeschen des Datensatzes'; + return false; + } + } + + /** + * Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist. + * Optional auch mit den Zuteilungen zu Projektphasen. + * @param $mitarbeiter_uid + * @param $projektphasen boolean Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert. + */ + function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen=false) + { + $qry = "SELECT DISTINCT + tbl_projekt.* + FROM + fue.tbl_ressource + JOIN fue.tbl_projekt_ressource USING(ressource_id) + JOIN fue.tbl_projekt USING(projekt_kurzbz) + WHERE (beginn<=now() or beginn is null) + AND (ende>=now() OR ende is null) + AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); + + if ($projektphasen==true) + $qry.= "UNION + + SELECT DISTINCT + tbl_projekt.* + FROM + fue.tbl_projektphase + JOIN fue.tbl_projekt USING (projekt_kurzbz) + JOIN fue.tbl_projekt_ressource USING (projektphase_id) + JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id) + WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null) + AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null OR 1=1) + AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new projekt(); + + $obj->projekt_kurzbz = $row->projekt_kurzbz; + $obj->nummer = $row->nummer; + $obj->titel = $row->titel; + $obj->beschreibung = $row->beschreibung; + $obj->beginn = $row->beginn; + $obj->ende = $row->ende; + $obj->oe_kurzbz = $row->oe_kurzbz; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->erromsg = 'Fehler beim Laden der Daten'; + return false; + } + } + public function getProjektFromBestellung($bestellung_id) + { + $qry ="select * from fue.tbl_projekt + join wawi.tbl_projekt_bestellung USING (projekt_kurzbz) + where bestellung_id= ".$this->db_add_param($bestellung_id); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->projekt_kurzbz = $row->projekt_kurzbz; + $this->nummer= $row->nummer; + $this->titel= $row->titel; + $this->beschreibung= $row->beschreibung; + $this->beginn= $row->beginn; + $this->ende = $row->ende; + $this->oe_kurzbz= $row->oe_kurzbz; + $this->budget= $row->budget; + $this->farbe= $row->farbe; $this->anzahl_ma = $row->anzahl_ma; $this->aufwand_pt = $row->aufwand_pt; - - return true; - } - else - { - $this->errormsg = 'Datensatz wurde nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - -} -?> + + return true; + } + else + { + $this->errormsg = 'Datensatz wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + +} +?> From 8a9ac4a8d6f9c27a0cb2ad06ed203fc9dae405c4 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 4 Apr 2016 11:07:47 +0200 Subject: [PATCH 08/10] =?UTF-8?q?Fehler=20behoben=20bei=20dem=20VertragsID?= =?UTF-8?q?=20bei=20der=20Lehreinheitenvorr=C3=BCckung=20mitkopiert=20wurd?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/lehreinheiten_vorrueckung.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vilesci/lehre/lehreinheiten_vorrueckung.php b/vilesci/lehre/lehreinheiten_vorrueckung.php index 2b1edad37..79f4405fb 100644 --- a/vilesci/lehre/lehreinheiten_vorrueckung.php +++ b/vilesci/lehre/lehreinheiten_vorrueckung.php @@ -247,6 +247,7 @@ if($studiengang_kz!='' && $stsem_von!='' && $stsem_nach!='') $lem_obj->insertamum = date('Y-m-d H:i:s'); $lem_obj->insertvon = 'Vorrueckung_'.$user; $lem_obj->ext_id = ''; + $lem_obj->vertrag_id=''; if(!$lem_obj->save()) { @@ -339,4 +340,4 @@ if($studiengang_kz!='' && $stsem_von!='' && $stsem_nach!='') ?> - \ No newline at end of file + From 1ffee2dcda2e12cdf4927076f7e58342c40bae49 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 5 Apr 2016 15:10:48 +0200 Subject: [PATCH 09/10] Course Registration icon if enrolled different, locale --- cis/private/profile/studienplan.php | 6 +++++- locale/de-AT/studienplan.php | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) mode change 100644 => 100755 cis/private/profile/studienplan.php mode change 100644 => 100755 locale/de-AT/studienplan.php diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php old mode 100644 new mode 100755 index 521f8cc38..f37d339b9 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -564,7 +564,7 @@ function drawTree($tree, $depth) $tdclass[]='angebot'; if($angemeldet) { - $tdinhalt.= ''; + $tdinhalt.= ''; } else { @@ -615,6 +615,10 @@ echo '

'.$p->t('studienplan/legende').':
'.$p->t('studienplan/Anmeldung').' + + + '.$p->t('studienplan/legendeAngemeldet').' + '.$p->t('studienplan/legendeLock').' diff --git a/locale/de-AT/studienplan.php b/locale/de-AT/studienplan.php old mode 100644 new mode 100755 index b43658bee..4aa7dfc90 --- a/locale/de-AT/studienplan.php +++ b/locale/de-AT/studienplan.php @@ -15,6 +15,7 @@ $this->phrasen['studienplan/legende']='Legende'; $this->phrasen['studienplan/legendeLVwirdAngeboten']='Lehrveranstaltung wird in diesem Semester angeboten'; $this->phrasen['studienplan/legendeLock']='Lehrveranstaltung für dieses Semester gesperrt'; $this->phrasen['studienplan/legendeEmpfehlung']='Empfehlung'; +$this->phrasen['studienplan/legendeAngemeldet']='angemeldet'; $this->phrasen['studienplan/LehrveranstalungWaehlen']='Bitte wählen Sie die Lehrveranstaltung zu der Sie sich anmelden möchten:'; $this->phrasen['studienplan/AnmeldungDerzeitNichtMoeglich']='Derzeit sind noch keine Anmeldungen moeglich'; $this->phrasen['studienplan/bereitsAngemeldet']='Sie sind bereits zu dieser Lehrveranstaltung angemeldet'; @@ -24,4 +25,3 @@ $this->phrasen['studienplan/einschreibungErfolgreich']='Sie wurden erfolgreich i $this->phrasen['studienplan/AnmeldungNichtMoeglich']='Keine Anmeldung moeglich'; $this->phrasen['studienplan/regelabgeschlossen']='abgeschlossen'; ?> - From bd964771fbfcc7bceb9d13fa8fac9ec546f27b73 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 5 Apr 2016 15:22:09 +0200 Subject: [PATCH 10/10] Bugfix --- cis/private/profile/studienplan.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index f37d339b9..cf9b3e306 100755 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -564,7 +564,7 @@ function drawTree($tree, $depth) $tdclass[]='angebot'; if($angemeldet) { - $tdinhalt.= ''; + $tdinhalt.= ''; } else {