diff --git a/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php b/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php index 309d3dfdc..07c417077 100644 --- a/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php +++ b/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php @@ -29,6 +29,9 @@ class Dienstverhaeltnis extends AbstractBestandteil { protected $updateamum; protected $updatevon; + protected $dvendegrund_kurzbz; + protected $dvendegrund_anmerkung; + public function __construct() { parent::__construct(); @@ -49,6 +52,8 @@ class Dienstverhaeltnis extends AbstractBestandteil { isset($data->insertvon) && $this->setInsertvon($data->insertvon); isset($data->updateamum) && $this->setUpdateamum($data->updateamum); isset($data->updatevon) && $this->setUpdatevon($data->updatevon); + isset($data->dvendegrund_kurzbz) && $this->setDvendegrund_kurzbz($data->dvendegrund_kurzbz); + isset($data->dvendegrund_anmerkung) && $this->setDvendegrund_anmerkung($data->dvendegrund_anmerkung); $this->fromdb = false; } @@ -64,7 +69,9 @@ class Dienstverhaeltnis extends AbstractBestandteil { 'insertamum' => $this->getInsertamum(), 'insertvon' => $this->getInsertvon(), 'updateamum' => $this->getUpdateamum(), - 'updatevon' => $this->getUpdatevon() + 'updatevon' => $this->getUpdatevon(), + 'dvendegrund_kurzbz' => $this->getDvendegrund_kurzbz(), + 'dvendegrund_anmerkung' => $this->getDvendegrund_anmerkung() ); $tmp = array_filter($tmp, function($k) { @@ -139,6 +146,16 @@ EOTXT; return $this->updatevon; } + public function getDvendegrund_kurzbz() + { + return $this->dvendegrund_kurzbz; + } + + public function getDvendegrund_anmerkung() + { + return $this->dvendegrund_anmerkung; + } + public function setDienstverhaeltnis_id($dienstverhaeltnis_id) { $this->markDirty('dienstverhaeltnis_id', $this->dienstverhaeltnis_id, $dienstverhaeltnis_id); @@ -214,6 +231,20 @@ EOTXT; return $this; } + public function setDvendegrund_kurzbz($dvendegrund_kurzbz) + { + $this->markDirty('dvendegrund_kurzbz', $this->dvendegrund_kurzbz, $dvendegrund_kurzbz); + $this->dvendegrund_kurzbz = $dvendegrund_kurzbz; + return $this; + } + + public function setDvendegrund_anmerkung($dvendegrund_anmerkung) + { + $this->markDirty('dvendegrund_anmerkung', $this->dvendegrund_anmerkung, $dvendegrund_anmerkung); + $this->dvendegrund_anmerkung = $dvendegrund_anmerkung; + return $this; + } + public function validate() { //do Validation here $ci = get_instance(); diff --git a/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php b/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php index 297896a02..b58c514e1 100644 --- a/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php +++ b/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php @@ -435,7 +435,7 @@ class VertragsbestandteilLib return $result; } - public function endDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate) + public function endDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate, $dvendegrund_kurzbz=null, $dvendegrund_anmerkung=null) { if( $dv->getBis() !== null && $dv->getBis() < $enddate ) { @@ -460,6 +460,14 @@ class VertragsbestandteilLib $this->endVertragsbestandteil($vb, $enddate); } + if( $dvendegrund_kurzbz !== null ) + { + $dv->setDvendegrund_kurzbz($dvendegrund_kurzbz); + } + if( $dvendegrund_anmerkung !== null ) + { + $dv->setDvendegrund_anmerkung($dvendegrund_anmerkung); + } $dv->setBis($enddate); $this->updateDienstverhaeltnis($dv); diff --git a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php index 2fdfcffe2..6827beaa4 100644 --- a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php +++ b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php @@ -31,9 +31,13 @@ class Dienstverhaeltnis_model extends DB_Model org.bezeichnung oe_bezeichnung, dv.von, dv.bis, + dv.dvendegrund_kurzbz, + dv.dvendegrund_anmerkung, dv.vertragsart_kurzbz, dv.updateamum, - dv.updatevon + dv.updatevon, + dv.dvendegrund_kurzbz, + dv.dvendegrund_anmerkung FROM tbl_mitarbeiter JOIN tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text JOIN tbl_person USING (person_id) diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index acb27977a..9fb7f0ee9 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -48,6 +48,7 @@ require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruend require_once('dbupdate_3.4/29529_infocenter_anpassungen.php'); require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php'); require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php'); +require_once('dbupdate_3.4/37107_fristenmanagement.php'); require_once('dbupdate_3.4/33003_bis_meldung_personal.php'); require_once('dbupdate_3.4/36275_zeitaufzeichnung_karenz.php'); require_once('dbupdate_3.4/21620_neues_feld_zum_erfassen_des_ESI.php'); @@ -172,7 +173,8 @@ $tabellen=array( "hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"), "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"), + "hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon","dvendegrund_kurzbz","dvendegrund_anmerkung"), + "hr.tbl_dvendegrund" => array("dvendegrund_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "aktiv", "sort"), "hr.tbl_vertragsart" => array("vertragsart_kurzbz","bezeichnung","anmerkung","dienstverhaeltnis","vertragsart_kurzbz_parent","aktiv","sort"), "hr.tbl_vertragsbestandteil" => array("vertragsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteiltyp_kurzbz","von", "bis","insertamum", "insertvon","updateamum","updatevon"), "hr.tbl_vertragsbestandteiltyp" => array("vertragsbestandteiltyp_kurzbz","bezeichnung","ueberlappend"), @@ -189,6 +191,9 @@ $tabellen=array( "hr.tbl_gehaltsbestandteil" => array("gehaltsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteil_id","gehaltstyp_kurzbz","von","bis","anmerkung","grundbetrag","betrag_valorisiert","valorisierungssperre","insertamum", "insertvon","updateamum","updatevon","valorisierung","auszahlungen"), "hr.tbl_gehaltshistorie" => array("gehaltshistorie_id", "datum","betrag","gehaltsbestandteil_id","mitarbeiter_uid"), "hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv"), + "hr.tbl_frist" => array("frist_id","mitarbeiter_uid","ereignis_kurzbz","bezeichnung","datum","status_kurzbz","parameter","insertvon","insertamum","updatevon","updateamum"), + "hr.tbl_frist_ereignis" => array("ereignis_kurzbz","bezeichnung","manuell"), + "hr.tbl_frist_status" => array("status_kurzbz", "bezeichnung"), "lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english","sort"), "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"), "lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"), diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index dd43f362e..8fc6be05f 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -437,7 +437,83 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; else - echo 'HR Schema und Vertagstabellen wurden neu erstellt
'; + echo 'HR Schema und Vertagstabellen wurden neu erstellt
'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_dvendegrund' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + CREATE TABLE hr.tbl_dvendegrund ( + dvendegrund_kurzbz character varying(32) NOT NULL , + bezeichnung character varying(255) NOT NULL, + bezeichnung_mehrsprachig character varying(255)[] NOT NULL, + aktiv boolean DEFAULT true NOT NULL, + sort integer DEFAULT 1 NOT NULL, + PRIMARY KEY (dvendegrund_kurzbz), + CONSTRAINT tbl_dvendegrund_bezeichnung_key UNIQUE (bezeichnung) + ); + + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_dvendegrund TO vilesci; + + INSERT INTO + hr.tbl_dvendegrund (dvendegrund_kurzbz, bezeichnung, bezeichnung_mehrsprachig) + VALUES + ('kuendigung_arbeitnehmer', 'Kündigung durch Arbeitnehmer', ARRAY['Kündigung durch Arbeitnehmer', 'Cancellation by Employee']), + ('kuendigung_arbeitgeber', 'Kündigung durch Arbeitgeber', ARRAY['Kündigung durch Arbeitgeber', 'Cancellation by Employer']), + ('entlassung', 'Entlassung', ARRAY['Entlassung', 'Dismissal']), + ('sonstige', 'Sonstige', ARRAY['Sonstige', 'Miscellaneous']), + ('einvernehmlich', 'Einvernehmliche Auflösung', ARRAY['Einvernehmliche Auflösung', 'Rescission']), + ('ablaufzeit', 'Ablauf durch Zeit', ARRAY['Ablauf durch Zeit', 'Expired by lapse of time']); + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Tabelle tbl_dvendegrund wurde im HR Schema neu erstellt
'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='dvendegrund_kurzbz' AND table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE + hr.tbl_dienstverhaeltnis + ADD COLUMN + dvendegrund_kurzbz character varying(255) + CONSTRAINT + tbl_dvendegrund_fk + REFERENCES + hr.tbl_dvendegrund(dvendegrund_kurzbz) + ON UPDATE + cascade + ON DELETE + restrict + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Spalte dvendegrund_kurzbz wurde in hr.tbl_dienstverhaeltnis neu erstellt
'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='dvendegrund_anmerkung' AND table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE + hr.tbl_dienstverhaeltnis + ADD COLUMN + dvendegrund_anmerkung character varying(255) + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Spalte dvendegrund_anmerkung wurde in hr.tbl_dienstverhaeltnis neu erstellt
'; } } @@ -493,4 +569,4 @@ if ($result = $db->db_query("SELECT * FROM hr.tbl_vertragsart WHERE vertragsart_ else echo 'Vertragsart "Dienstverhältnis zu einer anderen Bildungseinrichtung oder einem anderen Träger" erstellt.
'; } -} \ No newline at end of file +} diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php new file mode 100644 index 000000000..7d2e8bddb --- /dev/null +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -0,0 +1,83 @@ +db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_frist' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + CREATE TABLE IF NOT EXISTS hr.tbl_frist ( + frist_id bigserial NOT NULL, + mitarbeiter_uid character varying(32), + ereignis_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(255), + datum date, + status_kurzbz character varying(32) NOT NULL, + parameter jsonb NOT NULL, + 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_frist_pkey PRIMARY KEY (frist_id) + ); + + CREATE TABLE IF NOT EXISTS hr.tbl_frist_ereignis ( + ereignis_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(32) NOT NULL, + manuell boolean DEFAULT FALSE, + sort smallint, + CONSTRAINT tbl_ereignis_pkey PRIMARY KEY (ereignis_kurzbz) + ); + + COMMENT ON TABLE hr.tbl_frist_ereignis IS E'Key-Table of fristen (deadline) events'; + + CREATE TABLE IF NOT EXISTS hr.tbl_frist_status ( + status_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(32), + sort smallint, + CONSTRAINT tbl_frist_status_pk PRIMARY KEY (status_kurzbz) + ); + + COMMENT ON TABLE hr.tbl_frist_status IS E'Key-Table of fristen status (new, done)'; + + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_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_frist ADD CONSTRAINT tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) + REFERENCES hr.tbl_frist_ereignis (ereignis_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_status_kurzbz_fk FOREIGN KEY (status_kurzbz) + REFERENCES hr.tbl_frist_status (status_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist TO vilesci; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_status TO vilesci; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_ereignis TO vilesci; + + GRANT USAGE ON hr.tbl_frist_frist_id_seq TO vilesci; + + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('neu','Neu', 1); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('in_bearbeitung','In Bearbeitung', 2); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('erledigt','Erledigt', 3); + + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('dv_beginn','DV Beginn', 1); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('dv_ende','DV Ende', 2); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('stunden_beginn','Stunden Beginn', 3); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('stunden_ende','Stunden Ende', 4); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('karenz_beginn','Karenz Beginn', 5); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('karenz_ende','Karenz Ende', 6); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_beginn','Zeitaufzeichnung Beginn', 7); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_ende','Zeitaufzeichnung Ende', 8); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_beginn','Befristung Beginn', 9); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_ende','Befristung Ende', 10); + + "; + + if (! $db->db_query($qry)) + echo 'Fristenmanagement: ' . $db->db_last_error() . '
'; + else + echo 'Fristenmanagementtabellen wurden neu erstellt'; + } +} diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 20f155afe..b7bd66e1d 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -24397,7 +24397,368 @@ array( 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'frist', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'todo', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'To Do', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'To Do', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristStatusGespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Status gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Status saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristGespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristGeloescht', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist gelöscht.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline deleted.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristenAktualisiert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fristen aktualisiert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadlines updated.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'termin_frist', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Termin/Frist', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Date/Deadline', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'ereignis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Ereignis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Event', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'status', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Status', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Status', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'mitarbeiterin', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'MitarbeiterIn', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Employee', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + // Gehaltsband + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary Range', + 'description' => '', + 'insertvon' => 'system' + ) + ) ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gueltig_von', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig von', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid from', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gueltig_bis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig bis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid to', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'betrag_von', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Betrag von', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Amount from', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'betrag_bis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig bis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid to', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_gespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_erstellt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband hinzugefügt.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range created.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_geloescht', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband gelöscht.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range deleted.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), // Personalverwaltung end array( 'app' => 'core',