t('zeitwunsch/zeitwunsch');?>
@@ -206,12 +274,16 @@ if(!$person->load($uid))
?>
- ";
- echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href));
- ?>
-
- t('zeitwunsch/erklärung');?>:
+
+
+
+ t('zeitwunsch/erklärung');?>:
+
+ ";
+ echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href));
+ ?>
+
t('zeitwunsch/kontrollierenSieIhreZeitwuensche');?>!
diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php
index 3f75b0af3..28376a04f 100644
--- a/config/cis.config-default.inc.php
+++ b/config/cis.config-default.inc.php
@@ -245,4 +245,8 @@ define('CIS_LVMENUE_CUTLENGTH', 21);
// Gibt an, auf welche Seite TicketIds ala #1234 im Jahresplan verlinkt werden zB zur Verlinkung in Bugtracker
define('JAHRESPLAN_TICKET_LINK','https://bug.technikum-wien.at/otrs/index.pl?Action=AgentTicketZoom;TicketNumber=');
+
+//Gibt an ob der Block zu Verplanung in geteilter Arbeitszeit bei den Zeitwünschen angezeigt wird. Default: false
+define('CIS_ZEITWUNSCH_GD', false);
+
?>
diff --git a/include/zeitaufzeichnung_gd.class.php b/include/zeitaufzeichnung_gd.class.php
new file mode 100644
index 000000000..db678addb
--- /dev/null
+++ b/include/zeitaufzeichnung_gd.class.php
@@ -0,0 +1,126 @@
+db_add_param($user).
+ ' AND studiensemester_kurzbz = ' . $this->db_add_param($sem) .
+ 'limit 1';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Fehler bei einer Datenbankabfrage';
+ return false;
+ }
+ if($row = $this->db_fetch_object())
+ {
+ $this->zeitaufzeichnung_gd_id = $row->zeitaufzeichnung_gd_id;
+ $this->uid = $row->uid;
+ $this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
+ $this->insertamum = $row->insertamum;
+ $this->insertvon = $row->insertvon;
+ $this->updateamum = $row->updateamum;
+ $this->updatevon = $row->updatevon;
+ $this->selbstverwaltete_pause = $this->db_parse_bool($row->selbstverwaltete_pause);
+ }
+ else
+ {
+ $this->errormsg = 'Es ist kein Datensatz vorhanden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Falsche Parameterübergabe';
+ return false;
+ }
+ }
+
+ /**
+ * Saves decision about self-managing breaks during parted working times.
+ * @return boolean True, if saving succeeded.
+ */
+ public function save()
+ {
+ if (is_string($this->uid) &&
+ is_string($this->studiensemester_kurzbz) &&
+ is_bool($this->selbstverwaltete_pause))
+ {
+ $qry = '
+ INSERT INTO campus.tbl_zeitaufzeichnung_gd (
+ uid,
+ studiensemester_kurzbz,
+ selbstverwaltete_pause,
+ insertvon
+ )
+ VALUES ('.
+ $this->db_add_param($this->uid). ', '.
+ $this->db_add_param($this->studiensemester_kurzbz). ', '.
+ $this->db_add_param($this->selbstverwaltete_pause, FHC_BOOLEAN). ', '.
+ $this->db_add_param($this->uid). '
+ );
+ ';
+
+ if ($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern der selbstverwalteten Pause';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Falsche Parameterübergabe';
+ return false;
+ }
+ }
+}
diff --git a/locale/de-AT/zeitwunsch.php b/locale/de-AT/zeitwunsch.php
index 19e188530..a84da2b0e 100644
--- a/locale/de-AT/zeitwunsch.php
+++ b/locale/de-AT/zeitwunsch.php
@@ -14,7 +14,7 @@ $this->phrasen['zeitwunsch/bedeutung']='Bedeutung';
$this->phrasen['zeitwunsch/hierMoechteIchUnterrichten']='Hier möchte ich unterrichten';
$this->phrasen['zeitwunsch/hierKannIchUnterrichten']='Hier kann ich unterrichten';
$this->phrasen['zeitwunsch/nurInNotfaellen']='Hier unterrichte ich nur ungern';
-$this->phrasen['zeitwunsch/hierAufGarKeinenFall']='Hier kann ich gar nicht unterrichten';
+$this->phrasen['zeitwunsch/hierAufGarKeinenFall']='Hier kann ich gar nicht unterrichten';
$this->phrasen['zeitwunsch/folgendePunkteSindZuBeachten']='Folgende Punkte sind zu beachten';
$this->phrasen['zeitwunsch/verwendenSieDenWertNur']='Verwenden Sie den Wert -2 nur, wenn Sie zu dieser Stunde wirklich nicht können, um eine bessere Optimierung zu ermöglichen.';
$this->phrasen['zeitwunsch/sperrenSieNurTermine']='Markieren Sie mit den Werten -1 und -2 bitte nur Termine, die für die Lehre an der FH nicht in Frage kommen. Die Zeitsperren sind nicht dafür gedacht, bereits zugesagte Stunden für bestimmte Studiengänge zu reservieren.';
@@ -22,4 +22,5 @@ $this->phrasen['zeitwunsch/esSolltenFuerJedeStunde']='Es sollten für jede Stund
$this->phrasen['zeitwunsch/erklaerung']='Erklärung';
$this->phrasen['zeitwunsch/beiProblemenWendenSieSichAn']='Bei Problemen wenden Sie sich bitte an die';
$this->phrasen['zeitwunsch/profil']='Profil';
-?>
\ No newline at end of file
+$this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.';
+?>
diff --git a/locale/en-US/zeitwunsch.php b/locale/en-US/zeitwunsch.php
index 9d6e32119..dd9abdc3e 100644
--- a/locale/en-US/zeitwunsch.php
+++ b/locale/en-US/zeitwunsch.php
@@ -14,7 +14,7 @@ $this->phrasen['zeitwunsch/bedeutung']='Meaning';
$this->phrasen['zeitwunsch/hierMoechteIchUnterrichten']='I would like to teach at this time';
$this->phrasen['zeitwunsch/hierKannIchUnterrichten']='I can teach at this time';
$this->phrasen['zeitwunsch/nurInNotfaellen']='I would prefer not to teach at this time';
-$this->phrasen['zeitwunsch/hierAufGarKeinenFall']='I can not at all teach at this time';
+$this->phrasen['zeitwunsch/hierAufGarKeinenFall']='I can not at all teach at this time';
$this->phrasen['zeitwunsch/folgendePunkteSindZuBeachten']='Please note:';
$this->phrasen['zeitwunsch/verwendenSieDenWertNur']='To make a better optimization possible, please only use the value of -2 if you really can not teach at this time.';
$this->phrasen['zeitwunsch/sperrenSieNurTermine']='Please only mark times where you are absolutely not available to teach at the UAS with the numbers 1 and 2. Do not mark times for specific courses that you have already been assigned to teach at the UAS as unavailable.';
@@ -22,4 +22,5 @@ $this->phrasen['zeitwunsch/esSolltenFuerJedeStunde']='The amount of preferred te
$this->phrasen['zeitwunsch/erklaerung']='Explanation';
$this->phrasen['zeitwunsch/beiProblemenWendenSieSichAn']='If you are having problems, please contact the ';
$this->phrasen['zeitwunsch/profil']='Profile';
-?>
\ No newline at end of file
+$this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.';
+?>
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index ac5f5fdba..dcac98148 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -2938,6 +2938,87 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM bis.tbl_orgfo
}
}
+// Create SEQUENCE tbl_zeitaufzeichnung_gd_id
+if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'tbl_zeitaufzeichnung_gd_id_seq'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = '
+ CREATE SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+ ';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().' ';
+ else
+ echo ' Created sequence: campus.tbl_zeitaufzeichnung_gd_id_seq';
+
+ // GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO web;
+ $qry = 'GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO web;';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().' ';
+ else
+ echo ' Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd_id_seq';
+
+ // GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci;
+ $qry = 'GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci;';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().' ';
+ else
+ echo ' Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd_id_seq';
+ }
+}
+
+// Create TABLE campus.tbl_zeitaufzeichnung_gd
+if(!@$db->db_query("SELECT 0 FROM campus.tbl_zeitaufzeichnung_gd WHERE 0 = 1")) {
+ $qry = '
+ CREATE TABLE campus.tbl_zeitaufzeichnung_gd
+ (
+ zeitaufzeichnung_gd_id integer NOT NULL DEFAULT NEXTVAL(\'campus.tbl_zeitaufzeichnung_gd_id_seq\'::regclass),
+ uid varchar(32) NOT NULL,
+ studiensemester_kurzbz varchar(16) NOT NULL,
+ selbstverwaltete_pause boolean NOT NULL,
+ insertamum TIMESTAMP DEFAULT NOW(),
+ insertvon varchar(32),
+ updateamum TIMESTAMP,
+ updatevon varchar(32)
+ );
+
+ ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT pk_zeitaufzeichnung_gd_zeitaufzeichnung_gd_id PRIMARY KEY (zeitaufzeichnung_gd_id);
+
+ ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT fk_zeitaufzeichnung_gd_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
+ ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT fk_zeitaufzeichnung_gd_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
+ ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT uk_zeitaufzeichnung_gd_uid_stsem UNIQUE (uid, studiensemester_kurzbz);
+
+ COMMENT ON TABLE campus.tbl_zeitaufzeichnung_gd IS \'Table to manage the lectors parted working times; gd = Geteilte Dienste\';
+ COMMENT ON COLUMN campus.tbl_zeitaufzeichnung_gd.selbstverwaltete_pause IS \'Lectors (dis-)agreement to self-manage breaks\';
+
+ ';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . ' ';
+ else
+ echo ' Created table campus.tbl_zeitaufzeichnung_gd';
+
+
+ // GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO web;
+ $qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO web;';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . ' ';
+ else
+ echo ' Granted privileges to web on campus.tbl_zeitaufzeichnung_gd';
+
+ // GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO vilesci;
+ $qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO vilesci;';
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . ' ';
+ else
+ echo ' Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd';
+
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo 'Pruefe Tabellen und Attribute!';
@@ -3022,6 +3103,7 @@ $tabellen=array(
"campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
"campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"),
+ "campus.tbl_zeitaufzeichnung_gd" => array("zeitaufzeichnung_gd_id","uid","studiensemester_kurzbz","selbstverwaltete_pause","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
"campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
"campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
|