diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index 5ccffac99..b7654310e 100755 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -33,6 +33,7 @@ require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/mail.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/zeitaufzeichnung.class.php'); $sprache = getSprache(); $p = new phrasen($sprache); @@ -44,6 +45,8 @@ $uid = get_uid(); $PHP_SELF = $_SERVER['PHP_SELF']; +$typen_arr = array("Urlaub", "PflegeU", "ZA", "Krank", "DienstF", "DienstV"); + if(isset($_GET['type'])) $type=$_GET['type']; @@ -65,6 +68,17 @@ if(isset($_GET['uid'])) $datum_obj = new datum(); $ma= new mitarbeiter(); +// definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist +$zasperre = new zeitaufzeichnung(); +if ($sperrdat = $zasperre->getEintragungGesperrtBisForUser($uid)) + $gesperrt_bis = $sperrdat; +else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '') + $gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS; +else + $gesperrt_bis = '2015-08-31'; + +//echo $gesperrt_bis; + //Stundentabelleholen if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) die($db->db_last_error()); @@ -268,6 +282,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ { $error=false; $error_msg=''; + + //von-datum pruefen if(isset($_POST['vondatum']) && !$datum_obj->checkDatum($_POST['vondatum'])) { @@ -290,6 +306,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ if (@checkdate($date[1], $date[0], $date[2])) { $vondatum=$date[2].$date[1].$date[0]; + $vondatum_iso = $date[2].'-'.$date[1].'-'.$date[0]; } else { @@ -327,7 +344,12 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ $error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! '; } - + //von-datum pruefen TODO + if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr)) + { + $error=true; + $error_msg .= $p->t('zeitsperre/vorSperrdatum'); + } $zeitsperre = new zeitsperre(); @@ -448,7 +470,11 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre') //besitzer dieses datensatzes ist if($zeit->mitarbeiter_uid==$uid) { - if($zeit->delete($_GET['id'])) + if ($zeit->vondatum < $gesperrt_bis && in_array($zeit->zeitsperretyp_kurzbz,$typen_arr)) + { + echo "".$p->t('zeitsperre/vorSperrdatum').""; + } + else if($zeit->delete($_GET['id'])) { echo $p->t('global/erfolgreichgelöscht'); } @@ -473,6 +499,7 @@ if($result = $db->db_query($qry)) $erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung; } } + //liste aller zeitsperren ausgeben if(count($zeit->result)>0) { @@ -499,9 +526,13 @@ if(count($zeit->result)>0)