diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 52dbc2385..54c912ae5 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -172,9 +172,6 @@ function searchPerson($searchItems) '; foreach($bn->result as $row) { - $bisverwendung = new bisverwendung(); - $bisverwendung->getLastAktVerwendung($row->uid); - echo ''; //echo '',$row->titelpre,''; echo '',$row->anrede,''; @@ -199,7 +196,7 @@ function searchPerson($searchItems) echo '',$row->nachname,''; if($row->aktiv==false) echo ' (ausgeschieden)'; - elseif($bisverwendung->beschausmasscode=='5') + elseif(isKarenziert($row->uid)) echo ' (karenziert)'; echo ''; //echo '',$row->titelpost,''; @@ -262,6 +259,47 @@ function searchPerson($searchItems) else return false; } + +function isKarenziert($uid) +{ + global $db; + + if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT) + { + $qry =" + SELECT + 1 + FROM + hr.tbl_dienstverhaeltnis + JOIN hr.tbl_vertragsbestandteil USING(dienstverhaeltnis_id) + JOIN hr.tbl_vertragsbestandteil_karenz USING(vertragsbestandteil_id) + WHERE + tbl_dienstverhaeltnis.mitarbeiter_uid=".$db->db_add_param($uid)." + AND tbl_vertragsbestandteil.von<=now() AND tbl_vertragsbestandteil.bis>=now() + "; + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)>0) + return true; + else + return false; + } + else + return false; + } + else + { + $bisverwendung = new bisverwendung(); + $bisverwendung->getLastAktVerwendung($uid); + + if($bisverwendung->beschausmasscode=='5') + return true; + else + return false; + } +} + function searchOE($searchItems) { global $db, $p, $noalias; @@ -332,8 +370,6 @@ function searchOE($searchItems) $mitarbeiter->load($bf->uid); $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($mitarbeiter->standort_id,'telefon'); - $bisverwendung = new bisverwendung(); - $bisverwendung->getLastAktVerwendung($bf->uid); $benutzer = new benutzer($bf->uid); if ($benutzer->bnaktiv) { @@ -341,8 +377,8 @@ function searchOE($searchItems) echo ''.$person->vorname.''; echo '',$person->nachname,''; echo ''.$bf->bezeichnung; - if($bisverwendung->beschausmasscode=='5') - echo ' (karenziert)'; + if( isKarenziert($bf->uid)) + echo ' (karenziert)'; echo ''; // Display phone number diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index c4da2f6e3..370299d8b 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -322,4 +322,9 @@ define ('ZAHLUNGSBESTAETIGUNG_ZAHLUNGSREFERENZ_ANZEIGEN', false); define('DOCSBOX_ENABLED', false); +// Aktiviert Abfragen auf die Dienstverhaeltnisse im HR Schema anstatt auf die BIS-Verwendung +// Uebergangsphase bis zur entfernung der BIS-Verwendungen +// (true | false) +define('DIENSTVERHAELTNIS_SUPPORT', false); + ?> diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index f685f9385..81c96c6b8 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -350,6 +350,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_urlaubsanspruch TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_kuendigungsfrist TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_karenz TO vilesci; + GRANT SELECT ON hr.tbl_vertragsbestandteil_karenz TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_karenztyp TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_teilzeittyp TO vilesci;