diff --git a/application/models/ressource/Stundengrenze_model.php b/application/models/ressource/Stundengrenze_model.php
new file mode 100644
index 000000000..4e277f814
--- /dev/null
+++ b/application/models/ressource/Stundengrenze_model.php
@@ -0,0 +1,16 @@
+dbTable = 'hr.tbl_stundengrenze';
+ $this->pk = 'stundengrenze_id';
+ $this->hasSequence = true;
+ }
+}
diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php
index 9f0137e28..58911e6be 100644
--- a/system/dbupdate_3.4.php
+++ b/system/dbupdate_3.4.php
@@ -101,6 +101,7 @@ require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
require_once('dbupdate_3.4/76160_lvv_favorites.php');
require_once('dbupdate_3.4/77080_tabulator_presets_table.php');
require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
+require_once('dbupdate_3.4/51953_pv21_stundengrenze_fuer_externe_lehrende_aufheben.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '
Pruefe Tabellen und Attribute!
';
@@ -221,6 +222,7 @@ $tabellen=array(
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon","betrag"),
"hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"),
+ "hr.tbl_stundengrenze" => array("stundengrenze_id","mitarbeiter_uid","studiensemester_kurzbz","oe_kurzbz","stundengrenze","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_stundensatz" => array("stundensatz_id","uid","stundensatztyp","stundensatz","oe_kurzbz","gueltig_von","gueltig_bis","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_stundensatztyp" => array("stundensatztyp","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon","dvendegrund_kurzbz","dvendegrund_anmerkung"),
diff --git a/system/dbupdate_3.4/51953_pv21_stundengrenze_fuer_externe_lehrende_aufheben.php b/system/dbupdate_3.4/51953_pv21_stundengrenze_fuer_externe_lehrende_aufheben.php
new file mode 100644
index 000000000..687d25bac
--- /dev/null
+++ b/system/dbupdate_3.4/51953_pv21_stundengrenze_fuer_externe_lehrende_aufheben.php
@@ -0,0 +1,47 @@
+db_query("SELECT 1 FROM hr.tbl_stundengrenze LIMIT 1"))
+{
+ $qry = "
+ CREATE TABLE IF NOT EXISTS hr.tbl_stundengrenze (
+ stundengrenze_id bigserial NOT NULL,
+ mitarbeiter_uid character varying(32) NOT NULL,
+ studiensemester_kurzbz varchar(16) NOT NULL,
+ oe_kurzbz character varying(32),
+ stundengrenze smallint,
+ insertvon character varying(32) NOT NULL,
+ insertamum timestamp without time zone DEFAULT now() NOT NULL,
+ updatevon character varying(32),
+ updateamum timestamp without time zone,
+ CONSTRAINT tbl_stundengrenze_pkey PRIMARY KEY (stundengrenze_id),
+ UNIQUE(mitarbeiter_uid, studiensemester_kurzbz, oe_kurzbz)
+ );
+
+ ALTER TABLE hr.tbl_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_mitarbeiter_uid_fk;
+ ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_mitarbeiter_uid_fk FOREIGN KEY (mitarbeiter_uid)
+ REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL
+ ON DELETE SET NULL ON UPDATE CASCADE;
+
+ ALTER TABLE hr.tbl_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_studiensemester_kurzbz_fk;
+ ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_studiensemester_kurzbz_fk FOREIGN KEY (studiensemester_kurzbz)
+ REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) MATCH FULL
+ ON DELETE SET NULL ON UPDATE CASCADE;
+
+ ALTER TABLE hr.tbl_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_oe_kurzbz_fk;
+ ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_oe_kurzbz_fk FOREIGN KEY (oe_kurzbz)
+ REFERENCES public.tbl_organisationseinheit (oe_kurzbz) MATCH FULL
+ ON DELETE SET NULL ON UPDATE CASCADE;
+
+ COMMENT ON TABLE hr.tbl_stundengrenze IS 'Definition of upper boundaries for hours of lecttureships.';
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_stundengrenze TO vilesci;
+ GRANT USAGE ON hr.tbl_stundengrenze_stundengrenze_id_seq TO vilesci;";
+
+ if (!$db->db_query($qry))
+ echo 'Stundengrenze Tabelle: ' . $db->db_last_error() . '
';
+ else
+ echo 'Stundengrenze Tabelle erstellt';
+
+}
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index 280a1cf42..576e7896b 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -62411,6 +62411,146 @@ I have been informed that I am under no obligation to consent to the transmissio
)
)
),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenzen',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenzen',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Hour limits',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenze',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenze',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'hour limit',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'core',
+ 'phrase' => 'alleOrganisationseinheiten',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Alle Organisationseinheiten',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'All organisational units',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenzeNochNichtGespeichert',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenzen schließen? Geänderte Daten gehen verloren!',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Close hour limits? Changes will be lost!',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenzeGespeichert',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenze gespeichert',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Hour limit saved',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenzeGeloescht',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenze gelöscht',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Hour limit deleted',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'stundengrenzeWirklichLoeschen',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Stundengrenze wirklich löschen?',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Really delete hour limit?',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
);