mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Erweiterung der Validierung um ganztägige Zeitsperren
This commit is contained in:
@@ -271,22 +271,8 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
}
|
||||
|
||||
//Pruefen ob bereits ein Urlaub in den markierten Bereichen vorhanden ist und ggf Abbrechen
|
||||
//Das Problem sollte nur beim manuellen Refresh der Seite auftreten
|
||||
$error=false;
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
if($zeitsperre->UrlaubEingetragen($uid, $akette[$i], $ekette[$i]))
|
||||
{
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>';
|
||||
$error=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
||||
$error = false;
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$za = new zeitaufzeichnung();
|
||||
@@ -301,6 +287,43 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Prüfen ob eine ganztägige Zeitsperre eingetragen ist und ggf abbrechen
|
||||
$daysToCheck = array();
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$bisDatum = new DateTime($ekette[$i]);
|
||||
|
||||
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
||||
$daysToCheck[] = $bisDatum->format("Y-m-d");
|
||||
|
||||
$daterange = new DatePeriod($vonDatum, new DateInterval('P1D'), $bisDatum);
|
||||
foreach($daterange as $date)
|
||||
{
|
||||
$daysToCheck[] = $date->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($daysToCheck AS $date)
|
||||
{
|
||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
$error = true;
|
||||
|
||||
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen',[$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
|
||||
Reference in New Issue
Block a user