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;