diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php
index 16ed393f9..7e5396dad 100644
--- a/cis/private/profile/zeitsperre_resturlaub.php
+++ b/cis/private/profile/zeitsperre_resturlaub.php
@@ -46,6 +46,7 @@ $uid = get_uid();
$PHP_SELF = $_SERVER['PHP_SELF'];
$typen_arr = array("Urlaub", "PflegeU", "ZA", "Krank", "DienstF", "DienstV", "CovidSB", "CovidKS");
+$dataKS = array();
if(isset($_GET['type']))
$type=$_GET['type'];
@@ -72,7 +73,7 @@ $ma= new mitarbeiter();
$zaufzeichnung = new zeitaufzeichnung();
if ($sperrdat = $zaufzeichnung->getEintragungGesperrtBisForUser($uid))
$gesperrt_bis = $sperrdat;
-else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '')
+elseif (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '')
$gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS;
else
$gesperrt_bis = '2015-08-31';
@@ -158,6 +159,8 @@ $( document ).ready(function()
}
return [true, ""];
}
+
+
';
?>
@@ -259,6 +262,7 @@ function checkdatum()
return true;
}
+
function showHideBezeichnungDropDown()
{
var dd = document.zeitsperre_form.zeitsperretyp_kurzbz;
@@ -347,6 +351,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$error_msg='';
+
//von-datum pruefen
if(isset($_POST['vondatum']) && !$datum_obj->checkDatum($_POST['vondatum']))
{
@@ -394,59 +399,126 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
}
}
+ //Prüfen auf angrenzenden Krankenstand //Manu
+ if (isset($_POST['bisdatum']) && isset($_POST['vondatum'])
+ && $_GET['type']=='new_sperre'
+ && $error!=true
+ && ($_POST['zeitsperretyp_kurzbz'] == 'Krank' ))
+ {
+ $vonDay = $_POST['vondatum'];
+ $von2 = new DateTime($von);
+ $von2 = $von2->format('Y-m-d');
+ $bisDay = $_POST['bisdatum'];
+
+ //grenzt Tag an einen anderen Krankenstand an?
+ $zs = new Zeitsperre();
+ if ($zs->getAngrenzendenKrankenstand($uid, $von2))
+ {
+ $krankenstand = $zs->result;
+ foreach ($krankenstand as $ks)
+ {
+ $text = "Es gibt einen bestehenden Krankenstand von " . date('d.m.Y', $datum_obj->mktime_fromdate($ks->vondatum)) .
+ " bis " . date('d.m.Y', $datum_obj->mktime_fromdate($ks->bisdatum)) . " . ";
+ $link = "
+ Bestehenden Krankenstand verlängern ";
+ echo $text;
+ echo $link;
+ echo " ";
+
+
+ $bezeichnung = $_POST['bezeichnung'];
+ $von = $_POST['vondatum'];
+ $von2 = new DateTime($von);
+ $von2 = $von2->format('Y-m-d');
+ $bis = $_POST['bisdatum'];
+ $bis2 = new DateTime($bis);
+ $bis2 = $bis2->format('Y-m-d');
+ $vertretung = $_POST['vertretung_uid'];
+ $erreichbarkeit = $_POST['erreichbarkeit'];
+ $readonly = 'readonly';
+
+ echo "Neuer Krankenstand: von " . $von . " bis " . $bis . ": " .
+ $_POST['bezeichnung'] . " ";
+
+ if ($_POST['vertretung_uid'])
+ {
+ echo ", vertreten von ". $_POST['vertretung_uid'] . " (" . $erreichbarkeit .")";
+ }
+ echo "
+
+ ";
+ exit();
+ }
+ }
+ }
+
//von - bis-datum pruefen von darf nicht groesser als bis sein
// 09.02.2009 simane
- $vondatum=0;
- if(isset($_POST['vondatum']))
+ if(!isset($_GET['newKS']))
{
- $date=explode('.',$_POST['vondatum']);
- if (@checkdate($date[1], $date[0], $date[2]))
+ $vondatum=0;
+ if(isset($_POST['vondatum']))
{
- $vondatum=$date[2].$date[1].$date[0];
- $vondatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
+ $date=explode('.', $_POST['vondatum']);
+ if (@checkdate($date[1], $date[0], $date[2]))
+ {
+ $vondatum=$date[2].$date[1].$date[0];
+ $vondatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
+ }
+ else
+ {
+ $error=true;
+ $error_msg .= $p->t('zeitsperre/vonDatumUngueltig').' ';
+ }
}
else
{
$error=true;
- $error_msg .= $p->t('zeitsperre/vonDatumUngueltig').' ';
}
- }
- else
- {
- $error=true;
- }
- $bisdatum=0;
- if(isset($_POST['bisdatum']))
- {
- $date=explode('.',$_POST['bisdatum']);
- if (@checkdate($date[1], $date[0], $date[2]))
+ $bisdatum=0;
+ if(isset($_POST['bisdatum']))
{
- $bisdatum=$date[2].$date[1].$date[0];
+ $date=explode('.', $_POST['bisdatum']);
+ if (@checkdate($date[1], $date[0], $date[2]))
+ {
+ $bisdatum=$date[2].$date[1].$date[0];
+ }
+ else
+ {
+ $error=true;
+ $error_msg .= $p->t('zeitsperre/bisDatumUngueltig').' ';
+ }
}
else
{
$error=true;
- $error_msg .= $p->t('zeitsperre/bisDatumUngueltig').' ';
+ }
+
+ if($vondatum > $bisdatum)
+ {
+ $error=true;
+ $error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
+ }
+
+ //von-datum pruefen TODO
+ if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'], $typen_arr)
+ && (!isset($_GET['editKS']) ))
+ {
+ $error=true;
+ $error_msg .= $p->t('zeitsperre/vorSperrdatum');
}
}
- else
- {
- $error=true;
- }
- if($vondatum > $bisdatum)
- {
- $error=true;
- $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();
@@ -476,94 +548,118 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$zeitsperre->insertvon = $uid;
}
- if(!$error && $_POST['zeitsperretyp_kurzbz']=='Urlaub')
+ if(!isset($_GET['newKS']))
{
- if($zeitsperre->zeitsperre_id!='')
- $id = $zeitsperre->zeitsperre_id;
- else
- $id = null;
- if($zeitsperre->UrlaubEingetragen($uid, $datum_obj->formatDatum($_POST['vondatum']),$datum_obj->formatDatum($_POST['bisdatum']), $id))
+ if(!$error && $_POST['zeitsperretyp_kurzbz']=='Urlaub')
{
- $error = true;
- $error_msg.=$p->t('zeitsperre/urlaubBereitsEingetragen');
- }
- }
- if(!$error)
- {
- $zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
- $zeitsperre->mitarbeiter_uid = $uid;
- $zeitsperre->bezeichnung = $_POST['bezeichnung'];
- $zeitsperre->vondatum = $datum_obj->formatDatum($_POST['vondatum']);
- $zeitsperre->vonstunde = $_POST['vonstunde'];
- $zeitsperre->bisdatum = $datum_obj->formatDatum($_POST['bisdatum']);
- $zeitsperre->bisstunde = $_POST['bisstunde'];
- $zeitsperre->erreichbarkeit_kurzbz = $_POST['erreichbarkeit'];
- $zeitsperre->vertretung_uid = $_POST['vertretung_uid'];
- $zeitsperre->updateamum = date('Y-m-d H:i:s');
- $zeitsperre->updatevon = $uid;
-
- if($zeitsperre->save())
- {
- echo "".$p->t('global/erfolgreichgespeichert')." ";
- if(URLAUB_TOOLS)
+ if($zeitsperre->zeitsperre_id!='')
+ $id = $zeitsperre->zeitsperre_id;
+ else
+ $id = null;
+ if($zeitsperre->UrlaubEingetragen($uid, $datum_obj->formatDatum($_POST['vondatum']), $datum_obj->formatDatum($_POST['bisdatum']), $id))
{
- if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
+ $error = true;
+ $error_msg.=$p->t('zeitsperre/urlaubBereitsEingetragen');
+ }
+ }
+
+ if(!$error)
+ {
+ $zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
+ $zeitsperre->mitarbeiter_uid = $uid;
+ $zeitsperre->bezeichnung = $_POST['bezeichnung'];
+ $zeitsperre->vondatum = $datum_obj->formatDatum($_POST['vondatum']);
+ $zeitsperre->vonstunde = $_POST['vonstunde'];
+ $zeitsperre->bisdatum = $datum_obj->formatDatum($_POST['bisdatum']);
+ $zeitsperre->bisstunde = $_POST['bisstunde'];
+ $zeitsperre->erreichbarkeit_kurzbz = $_POST['erreichbarkeit'];
+ $zeitsperre->vertretung_uid = $_POST['vertretung_uid'];
+ $zeitsperre->updateamum = date('Y-m-d H:i:s');
+ $zeitsperre->updatevon = $uid;
+
+ if($zeitsperre->save())
+ {
+ echo "".$p->t('global/erfolgreichgespeichert')." ";
+ if(URLAUB_TOOLS)
{
- //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
- $prsn = new person();
-
- $vorgesetzter = $ma->getVorgesetzte($uid);
- if($vorgesetzter)
+ if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
{
- $to='';
- $fullName='';
- foreach($ma->vorgesetzte as $vg)
- {
- if (!empty($to))
- {
- $to.=',';
- $fullName.=',';
- }
- $to.=trim($vg.'@'.DOMAIN);
- $name = $prsn->getFullNameFromBenutzer($vg);
- $fullName.=$name;
- }
+ //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
+ $prsn = new person();
- $benutzer = new benutzer();
- $benutzer->load($uid);
- if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
- $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
- else
- $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
-
- $message = "Dies ist eine automatische Mail! \n".
- "$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
- "$zeitsperre->bezeichnung von ".$datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y')." bis ".$datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y')."\n\n".
- "Sie können diesen unter folgender Adresse freigeben:\n".
- APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
- $from='vilesci@'.DOMAIN;
- $mail = new mail($to, $from, 'Freigabeansuchen', $message);
- if($mail->send())
+ $vorgesetzter = $ma->getVorgesetzte($uid);
+ if($vorgesetzter)
{
- echo "".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))." ";
+ $to='';
+ $fullName='';
+ foreach($ma->vorgesetzte as $vg)
+ {
+ if (!empty($to))
+ {
+ $to.=',';
+ $fullName.=',';
+ }
+ $to.=trim($vg.'@'.DOMAIN);
+ $name = $prsn->getFullNameFromBenutzer($vg);
+ $fullName.=$name;
+ }
+
+ $benutzer = new benutzer();
+ $benutzer->load($uid);
+ if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
+ $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
+ else
+ $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
+
+ $message = "Dies ist eine automatische Mail! \n".
+ "$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
+ "$zeitsperre->bezeichnung von ".$datum_obj->formatDatum($zeitsperre->vondatum, 'd.m.Y')." bis ".$datum_obj->formatDatum($zeitsperre->bisdatum, 'd.m.Y')."\n\n".
+ "Sie können diesen unter folgender Adresse freigeben:\n".
+ APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
+ $from='vilesci@'.DOMAIN;
+ $mail = new mail($to, $from, 'Freigabeansuchen', $message);
+ if($mail->send())
+ {
+ echo "".$p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName))." ";
+ }
+ else
+ {
+ echo "".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))." ";
+ }
}
else
{
- echo "".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))." ";
+ echo "".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')." ";
}
}
- else
- {
- echo "".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')." ";
- }
}
}
+ else
+ echo "".$p->t('global/fehleraufgetreten')." ";
}
else
- echo "".$p->t('global/fehleraufgetreten')." ";
+ echo "$error_msg ";
}
+
+ //Krankenstand neu
else
- echo "$error_msg ";
+ {
+ if(!$error)
+ {
+ $zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
+ $zeitsperre->mitarbeiter_uid = $uid;
+ $zeitsperre->bezeichnung = $_POST['bezeichnung'];
+ $zeitsperre->vondatum = $_POST['vonDatum'];
+ $zeitsperre->bisdatum = $datum_obj->formatDatum($_POST['bisDatum']);
+ $zeitsperre->erreichbarkeit_kurzbz = $_POST['erreichbarkeit'];
+ $zeitsperre->vertretung_uid = $_POST['vertretung'];
+ $zeitsperre->updateamum = date('Y-m-d H:i:s');
+ $zeitsperre->updatevon = $uid;
+ }
+
+ if($zeitsperre->save())
+ echo "".$p->t('global/erfolgreichgespeichert')." ";
+ }
}
//loeschen eines bereits freigegebenen Urlaubs
@@ -605,20 +701,20 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
$benutzer = new benutzer();
$benutzer->load($uid);
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
- $p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
+ $p->t('urlaubstool/xHatUrlaubGeloescht', array($benutzer->nachname,$benutzer->vorname)).":\n";
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
- $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
+ $mail = new mail($to, 'vilesci@'.DOMAIN, $p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
if($mail->send())
{
- echo "".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))." ";
+ echo "".$p->t('urlaubstool/VorgesetzteInformiert', array($fullName))." ";
}
else
{
- echo "".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."! ";
+ echo "".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))."! ";
}
}
else
@@ -628,7 +724,7 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
}
//loeschen einer zeitsperre
-if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['informSupervisor']) )
+if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['informSupervisor']))
{
$zeit = new zeitsperre();
$zeit->load($_GET['id']);
@@ -636,11 +732,11 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['infor
//besitzer dieses datensatzes ist
if($zeit->mitarbeiter_uid==$uid)
{
- if ($zeit->vondatum < $gesperrt_bis && in_array($zeit->zeitsperretyp_kurzbz,$typen_arr))
+ if ($zeit->vondatum < $gesperrt_bis && in_array($zeit->zeitsperretyp_kurzbz, $typen_arr))
{
echo "".$p->t('zeitsperre/vorSperrdatum')." ";
}
- else if($zeit->delete($_GET['id']))
+ elseif($zeit->delete($_GET['id']))
{
echo $p->t('global/erfolgreichgelöscht');
}
@@ -692,13 +788,13 @@ if(count($zeit->result)>0)
".($row->freigabeamum!=''?'Ja':'')." ";
if ($row->zeitsperretyp_kurzbz == 'DienstV' || $row->zeitsperretyp_kurzbz == 'ZVerfueg')
$content_table .= ' ';
- else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
+ elseif ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz, $typen_arr))
$content_table .= ' ';
else
$content_table.="".$p->t('zeitsperre/edit')." ";
- if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
+ if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz, $typen_arr))
$content_table .= ' ';
- else if($row->vondatum>=date("Y-m-d",time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
+ elseif($row->vondatum>=date("Y-m-d", time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
{
$content_table.="\n".$p->t('zeitsperre/loeschen')." ";
}
@@ -717,6 +813,13 @@ else
$zeitsperre = new zeitsperre();
$action = "$PHP_SELF?type=new_sperre";
+
+//standardvalues
+ $readonlyKS='';
+ $disabledKS='';
+ $styleKS='';
+ $classKS = ' class="datepicker_datum"';
+
//wenn ein datensatz editiert werden soll, dann diesen laden
if(isset($_GET['type']) && $_GET['type']=='edit')
{
@@ -734,6 +837,17 @@ if(isset($_GET['type']) && $_GET['type']=='edit')
{
die("".$p->t('global/fehlerBeiDerParameteruebergabe')." ");
}
+
+ //manu
+ if(isset($_GET['editKS']) && $_GET['editKS'] == 1)
+ {
+ //alle Parameter außer bis als readonly definieren");
+ $readonlyKS=' readonly="readonly"'; //für Textfelder
+ $disabledKS=' disabled'; //für select-options
+ $styleKS=' style="border: 1px solid #999; color: #999;"'; //disabled-Optik
+ $classKS = '';
+ $action.='&editKS=1';
+ }
}
if($zeitsperre->freigabeamum!='' && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
@@ -770,12 +884,12 @@ if($result = $db->db_query($qry))
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
$content_form.= "$row->beschreibung ";
else
- $content_form.= "$row->beschreibung ";
+ $content_form.= "$row->beschreibung ";
}
}
$content_form.= '';
$content_form.= ''.$p->t('global/bezeichnung').' ';
-$content_form.= ''.$p->t('global/von').' ⇓ ';
+$content_form.= ' '.$p->t('global/von').' ⇓ ';
//dropdown fuer vonstunde
$content_form.= $p->t('zeitsperre/stundeInklusive');
@@ -785,19 +899,19 @@ if($zeitsperre->vonstunde=='')
else
$content_form.= "* \n";
-for($i=0;$i<$num_rows_stunde;$i++)
+for($i=0; $i<$num_rows_stunde; $i++)
{
$row = $db->db_fetch_object($result_stunde, $i);
if($zeitsperre->vonstunde==$row->stunde)
- $content_form.= "$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr) \n";
+ $content_form.= "$row->stunde (".date('H:i', strtotime($row->beginn)).' - '.date('H:i', strtotime($row->ende))." Uhr) \n";
else
- $content_form.= "$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr) \n";
+ $content_form.= "$row->stunde (".date('H:i', strtotime($row->beginn)).' - '.date('H:i', strtotime($row->ende))." Uhr) \n";
}
$content_form.= " ";
-$content_form.= ''.$p->t('global/bis').' ';
+$content_form.= ' '.$p->t('global/bis').' ';
//dropdown fuer bisstunde
$content_form.= $p->t('zeitsperre/stundeInklusive');
$content_form.= " \n";
@@ -807,13 +921,13 @@ if($zeitsperre->bisstunde=='')
else
$content_form.= "* \n";
-for($i=0;$i<$num_rows_stunde;$i++)
+for($i=0; $i<$num_rows_stunde; $i++)
{
$row = $db->db_fetch_object($result_stunde, $i);
if($zeitsperre->bisstunde==$row->stunde)
- $content_form.= "$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr) \n";
+ $content_form.= "$row->stunde (".date('H:i', strtotime($row->beginn)).' - '.date('H:i', strtotime($row->ende))." Uhr) \n";
else
- $content_form.= "$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr) \n";
+ $content_form.= "$row->stunde (".date('H:i', strtotime($row->beginn)).' - '.date('H:i', strtotime($row->ende))." Uhr) \n";
}
$content_form.= " ";
@@ -837,7 +951,7 @@ if($result = $db->db_query($qry))
$content_form.= '';
$content_form.= "".$p->t('urlaubstool/erreichbarkeit')." ";
-foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
+foreach ($erreichbarkeit_arr as $erreichbarkeit_key => $erreichbarkeit_beschreibung)
{
if($zeitsperre->erreichbarkeit_kurzbz == $erreichbarkeit_key)
$content_form.= "$erreichbarkeit_beschreibung \n";
@@ -850,7 +964,10 @@ $content_form.= ' ';
$content_form.= '';
if(isset($_GET['type']) && $_GET['type']=='edit')
+{
$content_form.= " ";
+}
+
else
$content_form.= " ";
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index 0e737eaf0..6f00e57a4 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -52,7 +52,7 @@ class zeitsperre extends basis_db
* Konstruktor
* @param $zeitsperre_id ID der zu ladenden Funktion
*/
- public function __construct($zeitsperre_id=null)
+ public function __construct($zeitsperre_id = null)
{
parent::__construct();
@@ -62,7 +62,7 @@ class zeitsperre extends basis_db
public static function getBlockierendeZeitsperren()
{
- return explode("','",trim(self::BLOCKIERENDE_ZEITSPERREN, '\''));
+ return explode("','", trim(self::BLOCKIERENDE_ZEITSPERREN, '\''));
}
/**
@@ -72,7 +72,7 @@ class zeitsperre extends basis_db
* aktuellen Geschaeftsjahres geholt (1.9.-31.8.)
* @return true wenn ok, false im Fehlerfall
*/
- public function getzeitsperren($uid, $bisgrenze=true)
+ public function getzeitsperren($uid, $bisgrenze = true)
{
unset($this->result);
$this->result=array();
@@ -94,10 +94,8 @@ class zeitsperre extends basis_db
if($this->db_query($qry))
{
-
while($row = $this->db_fetch_object())
{
-
$obj = new zeitsperre();
$obj->zeitsperre_id = $row->zeitsperre_id;
@@ -123,7 +121,6 @@ class zeitsperre extends basis_db
$obj->freigabevon = $row->freigabevon;
$this->result[] = $obj;
-
}
return true;
}
@@ -380,7 +377,7 @@ class zeitsperre extends basis_db
* @param $nurblockierend boolean default false
* @return true wenn ok, false im Fehlerfall
*/
- public function getSperreByDate($user, $datum, $stunde=null, $nurblockierend=false)
+ public function getSperreByDate($user, $datum, $stunde = null, $nurblockierend = false)
{
$this->result = array();
$qry = "
@@ -392,16 +389,17 @@ class zeitsperre extends basis_db
vondatum<=".$this->db_add_param($datum)."
AND bisdatum>=".$this->db_add_param($datum);
- if( $nurblockierend ) {
- $qry .= " AND zeitsperretyp_kurzbz in (" . self::BLOCKIERENDE_ZEITSPERREN . ")";
- }
+ if($nurblockierend)
+ {
+ $qry .= " AND zeitsperretyp_kurzbz in (" . self::BLOCKIERENDE_ZEITSPERREN . ")";
+ }
- if(!is_null($stunde))
- $qry.=" AND
- ((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
- ((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).")";
+ if(!is_null($stunde))
+ $qry.=" AND
+ ((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
+ ((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).")";
- $qry .= "AND mitarbeiter_uid=".$this->db_add_param($user);
+ $qry .= "AND mitarbeiter_uid=".$this->db_add_param($user);
if($result = $this->db_query($qry))
{
@@ -427,7 +425,6 @@ class zeitsperre extends basis_db
$obj->freigabevon = $row->freigabevon;
$this->result[] = $obj;
-
}
return true;
}
@@ -446,7 +443,7 @@ class zeitsperre extends basis_db
* @param $bis
* @param $id Eintrag mit dieser ID wird nicht beruecksichtigt (zB bei Editieren von Eintraegen)
*/
- function UrlaubEingetragen($uid, $von, $bis, $id=null)
+ public function UrlaubEingetragen($uid, $von, $bis, $id = null)
{
$qry = "SELECT
@@ -485,14 +482,14 @@ class zeitsperre extends basis_db
}
}
- /**
+ /**
* Liefert die Zeitsperren eines Users für die Zeitaufzeichnung
*
* @param $uid
* @param $anz_tage
* @return array 'datum'->'zeitsperre_kurzbz'
*/
- public function getZeitsperrenForZeitaufzeichnung($uid, $anz_tage=50)
+ public function getZeitsperrenForZeitaufzeichnung($uid, $anz_tage = 50)
{
unset($this->result);
$this->result=array();
@@ -501,22 +498,16 @@ class zeitsperre extends basis_db
from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a
where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in (" . self::BLOCKIERENDE_ZEITSPERREN . ")";
-
-
-
if($this->db_query($qry))
{
-
while($row = $this->db_fetch_object())
{
-
- if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == NULL)
+ if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == null)
$result[$row->datum] = "Urlaubsantrag (Freigabe fehlt)";
else
$result[$row->datum] = $row->zeitsperretyp_kurzbz;
$this->result = $result;
-
}
return true;
}
@@ -551,13 +542,13 @@ class zeitsperre extends basis_db
public function getVonBis($uid, $von, $bis, $zeitsperretyp_kurzbz = null)
{
$qry = '
- SELECT
+ SELECT
zeitsperre_id, zeitsperretyp_kurzbz, vondatum, vonstunde, bisdatum, bisstunde
- FROM
+ FROM
campus.tbl_zeitsperre
LEFT JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz)
- WHERE
- mitarbeiter_uid = '. $this->db_add_param($uid). '
+ WHERE
+ mitarbeiter_uid = '. $this->db_add_param($uid). '
AND (
(vondatum BETWEEN '.$this->db_add_param($von).' AND '.$this->db_add_param($bis).')
OR
@@ -592,5 +583,64 @@ class zeitsperre extends basis_db
return true;
}
}
+
+ /**
+ * Liefert zurück, ob es einen angrenzenden Krankenstand gibt
+ * Einschränkung nach Zeitsperrentyp möglich.
+ *
+ * @param $uid
+ * @param $day string Datum im Format YYYY-MM-DD
+ * @param null $zeitsperretyp_kurzbz
+ * @return bool
+ */
+ public function getAngrenzendenKrankenstand($uid, $vonDay)
+ {
+ //gibt es einen Tag davor einen Krankenstand?
+ //echo $vonDay;
+ $DayBefore = strtotime("-1 day", strtotime($vonDay));
+ $woTag = date("w", $DayBefore);
+
+ //wenn vonTag Montag: gibt es einen Krankenstand bis Freitag davor?
+ if($woTag == 0)
+ {
+ $DayBefore = strtotime("-3 day", strtotime($vonDay));
+ }
+
+ $DateToCheck = date("Y-m-d", $DayBefore);
+
+ $qry = '
+ SELECT
+ zeitsperre_id, zeitsperretyp_kurzbz, vondatum, bisdatum
+ FROM
+ campus.tbl_zeitsperre
+ WHERE
+ mitarbeiter_uid = '. $this->db_add_param($uid). '
+ AND
+ zeitsperretyp_kurzbz = \'Krank\'
+ AND
+ bisdatum < '.$this->db_add_param($vonDay) . '
+ AND
+ bisdatum >= '.$this->db_add_param($DateToCheck) .';';
+
+ if (!$this->db_query($qry))
+ {
+ $this->errormsg=$this->db_last_error();
+ return false;
+ }
+ else
+ {
+ while($row = $this->db_fetch_object())
+ {
+ $obj = new stdClass();
+ $obj->zeitsperre_id = $row->zeitsperre_id;
+ $obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
+ $obj->vondatum = $row->vondatum;
+ $obj->bisdatum = $row->bisdatum;
+
+ $this->result[]= $obj;
+ }
+ return true;
+ }
+ }
}
?>