mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' of github.com:FH-Complete/FHC-Core
This commit is contained in:
+248
-206
@@ -16,8 +16,9 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Seite zum Eintragen von Urlaubstagen
|
||||
@@ -30,11 +31,13 @@ require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/sprache.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
|
||||
$datum_obj = new datum();
|
||||
$sprache = getSprache();
|
||||
$lang = new sprache();
|
||||
$lang->load($sprache);
|
||||
@@ -49,8 +52,8 @@ $mehrarbeitsstunden = '0';
|
||||
$anspruch = '25';
|
||||
$zaehl=1;
|
||||
$tage=array(); //Array Tage für Kalenderanzeige
|
||||
$hgfarbe=array_fill(0,44,'#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
||||
$datensatz=array_fill(0,44,0);
|
||||
$hgfarbe=array_fill(0, 44, '#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
||||
$datensatz=array_fill(0, 44, 0);
|
||||
$freigabevon=array();
|
||||
$freigabeamum=array();
|
||||
$vertretung_uid=array();
|
||||
@@ -60,26 +63,26 @@ $erreichbarkeit_kurzbz=array();
|
||||
//$monatsname = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
||||
|
||||
$jahre = array(); //Array Jahreszahlen für Auswahl (immer aktuelles Jahr und die 4 nächsten Jahre)
|
||||
$akette=array_fill(0,1,0);
|
||||
$ekette=array_fill(0,1,0);
|
||||
$links='';
|
||||
$rechts='';
|
||||
$tag=array();
|
||||
$vertretung='';
|
||||
$erreichbar='';
|
||||
$vgmail='';
|
||||
$vtmail='';
|
||||
$spmonat=array();
|
||||
$hgchange=false;
|
||||
$wvon='';
|
||||
$wbis='';
|
||||
$datensatz='';
|
||||
$t=getdate();
|
||||
$akette = array_fill(0, 1, 0);
|
||||
$ekette = array_fill(0, 1, 0);
|
||||
$links = '';
|
||||
$rechts = '';
|
||||
$tag = array();
|
||||
$vertretung = '';
|
||||
$erreichbar = '';
|
||||
$vgmail = '';
|
||||
$vtmail = '';
|
||||
$spmonat = array();
|
||||
$hgchange = false;
|
||||
$wvon = '';
|
||||
$wbis = '';
|
||||
$datensatz = '';
|
||||
$t = getdate();
|
||||
$uid = get_uid();
|
||||
$taste=0;
|
||||
$taste = 0;
|
||||
|
||||
$ma= new mitarbeiter();
|
||||
for($i=0;$i<6;$i++)
|
||||
$ma = new mitarbeiter();
|
||||
for($i = 0; $i<6; $i++)
|
||||
{
|
||||
$jahre[$i]="$t[year]"+($i-1);
|
||||
}
|
||||
@@ -118,14 +121,13 @@ else
|
||||
}
|
||||
if (isset($_GET['hgfarbe']))
|
||||
{
|
||||
$hgfarbe=explode(",",$_GET['hgfarbe']);
|
||||
$hgfarbe=explode(",", $_GET['hgfarbe']);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (!isset($_GET['spmonat']))
|
||||
{
|
||||
for($i=0;$i<44;$i++)
|
||||
for($i=0; $i<44; $i++)
|
||||
{
|
||||
if(!isset($hgfarbe[$i]) || $hgfarbe[$i]!='#FFFC7F')
|
||||
$hgfarbe[$i]='#E9ECEE';
|
||||
@@ -167,71 +169,76 @@ if (isset($_GET['rechts_x']) || isset($_POST['rechts_x']))
|
||||
|
||||
//Bereits freigegebenen Eintrag löschen
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POST['delete']) && isset($_POST['informSupervisor'])))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['delete']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
|
||||
if(!$zeitsperre->delete($_GET['delete']))
|
||||
echo $zeitsperre->errormsg;
|
||||
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\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);
|
||||
if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) || isset($_POST['delete'])))
|
||||
if(isset($_GET['delete']))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['delete']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
$vondatum = $datum_obj->formatDatum($vondatum, 'd.m.Y');
|
||||
$bisdatum = $datum_obj->formatDatum($bisdatum, 'd.m.Y');
|
||||
|
||||
if(!$zeitsperre->delete($_GET['delete']))
|
||||
{
|
||||
echo $zeitsperre->errormsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
|
||||
//new sanchomail
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = $zeitsperre->bezeichnung;
|
||||
$subject = "Urlaub wurde gelöscht";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Urlaub
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $vondatum,
|
||||
'bisDatum' => $bisdatum
|
||||
);
|
||||
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert', array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Eintragung speichern
|
||||
@@ -255,10 +262,10 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$wtag=$_GET['wtag'];
|
||||
$akette[0]=$wtag[0];
|
||||
$ekette[0]=$wtag[0];
|
||||
for($i=1,$j=0;$i<count($wtag);$i++)
|
||||
for($i=1, $j=0; $i<count($wtag); $i++)
|
||||
{
|
||||
//ketten bilden
|
||||
if($wtag[$i]==date("Y-m-d",strtotime("+1 Day",strtotime($wtag[$i-1]))))
|
||||
if($wtag[$i]==date("Y-m-d", strtotime("+1 Day", strtotime($wtag[$i-1]))))
|
||||
{
|
||||
$ekette[$j]=$wtag[$i];
|
||||
}
|
||||
@@ -268,7 +275,6 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$akette[$j]=$wtag[$i];
|
||||
$ekette[$j]=$wtag[$i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
||||
@@ -293,7 +299,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$bisDatum = new DateTime($ekette[$i]);
|
||||
|
||||
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
||||
@@ -301,34 +307,34 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
$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);
|
||||
$daysToCheck[] = $date->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
foreach ($daysToCheck as $date)
|
||||
{
|
||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
$error = true;
|
||||
$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>';
|
||||
$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;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
for($i=0; $i<count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
@@ -354,12 +360,11 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$error = true;
|
||||
echo $zeitsperre->errormsg;
|
||||
}
|
||||
|
||||
}
|
||||
if(!$error)
|
||||
{
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
@@ -384,31 +389,67 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
// $message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
// $p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
|
||||
for($i=0; $i<count($akette); $i++)
|
||||
{
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n";
|
||||
$von = date("d.m.Y", strtotime($akette[$i]));
|
||||
$bis = date("d.m.Y", strtotime($ekette[$i]));
|
||||
}
|
||||
|
||||
|
||||
//Ab September wird das neue Jahr uebergeben
|
||||
if(date("m",strtotime($akette[0]))>=9)
|
||||
$jahr = date("Y", strtotime($akette[0]))+1;
|
||||
else
|
||||
$jahr = date("Y", strtotime($akette[0]));
|
||||
if(date("m", strtotime($akette[0]))>=9)
|
||||
$jahr = date("Y", strtotime($akette[0]))+1;
|
||||
else
|
||||
$jahr = date("Y", strtotime($akette[0]));
|
||||
|
||||
$message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n".
|
||||
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
|
||||
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||
if($mail->send())
|
||||
$subject = "Freigabeansuchen Urlaub";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
// Überprüfen, ob addon casetime aktiv ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
$urlaubssaldo = "";
|
||||
if($addoncasetime)
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
|
||||
require_once('../../../addons/casetime/config.inc.php');
|
||||
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||
}
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Urlaub Neu
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Link'=> $link,
|
||||
'urlaubssaldo' => $urlaubssaldo
|
||||
);
|
||||
|
||||
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
|
||||
// $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||
//if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!</span>";
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($to))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -422,14 +463,13 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Eintragungen laden
|
||||
if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
if ((isset($wmonat) || isset($wmonat)) && (isset($wjahr) || isset($wjahr)))
|
||||
{
|
||||
//Urlaubstageage markieren
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||
$ttt=getdate($mbeginn);
|
||||
$wotag="$ttt[wday]";
|
||||
if ($wotag==0)
|
||||
@@ -447,22 +487,22 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
}
|
||||
//$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]));
|
||||
//$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||
if($wmonat==0)
|
||||
{
|
||||
$wvon=date("Y-m-d",mktime(0, 0, 0, 12 , $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
||||
$wvon=date("Y-m-d", mktime(0, 0, 0, 12, $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat) , $mendev-($wotag-1), ($jahre[$wjahr])));
|
||||
$wvon=date("Y-m-d", mktime(0, 0, 0, ($wmonat), $mendev-($wotag-1), ($jahre[$wjahr])));
|
||||
}
|
||||
if($wmonat==11)
|
||||
{
|
||||
$wbis=date("Y-m-d",mktime(0, 0, 0, 1 , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
||||
$wbis=date("Y-m-d", mktime(0, 0, 0, 1, (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+2) , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
||||
$wbis=date("Y-m-d", mktime(0, 0, 0, ($wmonat+2), (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
||||
}
|
||||
$qry="SELECT * FROM campus.tbl_zeitsperre
|
||||
WHERE zeitsperretyp_kurzbz='Urlaub'
|
||||
@@ -477,19 +517,19 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
{
|
||||
//echo " ".$row->vondatum;
|
||||
//echo "-".$row->bisdatum;
|
||||
for($i=1;$i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday']));$i++)
|
||||
for($i=1; $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])); $i++)
|
||||
{
|
||||
if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||
&& date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||
if(date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||
&& date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||
{
|
||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d",time()))
|
||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d", time()))
|
||||
{
|
||||
$hgfarbe[$i]='#bbb';
|
||||
}
|
||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time()))
|
||||
{
|
||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d", time()))
|
||||
{
|
||||
$hgfarbe[$i]='#CDDDEE';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$hgfarbe[$i]='#FFFC7F';
|
||||
@@ -513,7 +553,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
}
|
||||
}
|
||||
}
|
||||
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday']));$i<44;$i++)
|
||||
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday'])); $i<44; $i++)
|
||||
{
|
||||
$hgfarbe[$i]='#E9ECEE';
|
||||
$datensatz[$i]=0;
|
||||
@@ -567,58 +607,60 @@ echo '
|
||||
}
|
||||
});
|
||||
</script>';
|
||||
?>
|
||||
<script language="Javascript">
|
||||
function conf_del()
|
||||
{
|
||||
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
function checkval()
|
||||
?>
|
||||
<script language="Javascript">
|
||||
function conf_del()
|
||||
{
|
||||
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
function checkval()
|
||||
{
|
||||
if(document.getElementById('vertretung_uid').value=='')
|
||||
{
|
||||
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#vertretung").autocomplete({
|
||||
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
if(document.getElementById('vertretung_uid').value=='')
|
||||
{
|
||||
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
ui.content[i].value=ui.content[i].uid;
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#vertretung").autocomplete({
|
||||
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
ui.content[i].value=ui.content[i].uid;
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$("#vertretung").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.urlaube th, .urlaube td, .urlaube
|
||||
{
|
||||
-moz-border-radius:10px;
|
||||
-khtml-border-radius:10px;
|
||||
}
|
||||
</style>
|
||||
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
||||
</head>
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$("#vertretung").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.urlaube th, .urlaube td, .urlaube
|
||||
{
|
||||
-moz-border-radius:10px;
|
||||
-khtml-border-radius:10px;
|
||||
}
|
||||
</style>
|
||||
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
|
||||
|
||||
|
||||
//Anzeige Resturlaubsberechnung
|
||||
echo '<table width="100%">';
|
||||
echo '<tr><td colspan=2>';
|
||||
@@ -664,7 +706,7 @@ echo '
|
||||
style="vertical-align: middle;" alt="links">
|
||||
<SELECT name="wmonat">';
|
||||
|
||||
for($i=0;$i<12;$i++)
|
||||
for($i=0; $i<12; $i++)
|
||||
{
|
||||
if($wmonat==$i)
|
||||
{
|
||||
@@ -680,7 +722,7 @@ echo "</SELECT>\n";
|
||||
|
||||
echo ' <INPUT name="rechts" type="image" src="../../../skin/images/right_lvplan.png" style="vertical-align: middle;" alt="rechts">';
|
||||
echo ' <SELECT name="wjahr">';
|
||||
for($i=0;$i<5;$i++)
|
||||
for($i=0; $i<5; $i++)
|
||||
{
|
||||
if($wjahr==$i)
|
||||
{
|
||||
@@ -725,7 +767,7 @@ if($result = $db->db_query($qry))
|
||||
echo '</SELECT>';
|
||||
|
||||
//Tage
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||
$ttt=getdate($mbeginn);
|
||||
$wotag="$ttt[wday]";
|
||||
if ($wotag==0)
|
||||
@@ -742,9 +784,9 @@ else
|
||||
{
|
||||
$mendev = cal_days_in_month(CAL_GREGORIAN, ($wmonat), $jahre[$wjahr]);
|
||||
}
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||
//echo "monatsende:".$mende;
|
||||
for($i=1;$i<43;$i++)
|
||||
for($i=1; $i<43; $i++)
|
||||
{
|
||||
if($i>=$wotag && $zaehl<=$mende)
|
||||
{
|
||||
@@ -755,22 +797,22 @@ for($i=1;$i<43;$i++)
|
||||
{
|
||||
if($wmonat==0)
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12 , $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12, $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat) , $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat), $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
||||
}
|
||||
}
|
||||
elseif ($i>$mende && $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])))
|
||||
{
|
||||
if($wmonat==11)
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1 , $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1, $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2) , $i-$mende-$wotag+1, $jahre[$wjahr]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2), $i-$mende-$wotag+1, $jahre[$wjahr]));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -788,17 +830,17 @@ echo ' <input type="submit" name="speichern" value="'.$p->t('urlaubstool/eintrag
|
||||
<table border=0 width="95%" align="left" class="urlaube">
|
||||
<tr>';
|
||||
|
||||
for($i=1;$i<=7;$i++)
|
||||
for($i=1; $i<=7; $i++)
|
||||
echo "\n".'<th style="width:14%; background-color: #A5AFB6">'.$tagbez[$lang->index][$i].'</th>';
|
||||
|
||||
echo '</tr>';
|
||||
for ($i=0;$i<6;$i++)
|
||||
for ($i=0; $i<6; $i++)
|
||||
{
|
||||
echo "\n".'<tr height="50" style="font-family:Arial,sans-serif; font-size:30px; color:black">';
|
||||
for ($j=1;$j<8;$j++)
|
||||
for ($j=1; $j<8; $j++)
|
||||
{
|
||||
echo "\n";
|
||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
||||
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||
{
|
||||
if($j%6==0 || $j==7)
|
||||
{
|
||||
@@ -822,7 +864,7 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
if($tage[$j+7*$i]!='')
|
||||
{
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F' )//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F')//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
echo '<b title='.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';;
|
||||
$k=$j+7*$i;
|
||||
@@ -832,16 +874,16 @@ for ($i=0;$i<6;$i++)
|
||||
elseif($hgfarbe[$j+7*$i]=='#E9ECEE')
|
||||
{
|
||||
echo '<b>'.$tage[$j+7*$i].'</b><br>';
|
||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
||||
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||
{
|
||||
echo '<input type="checkbox" name="wtag[]"
|
||||
value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"
|
||||
id="'.date("d.m.Y",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"></td>';
|
||||
value="'.date("Y-m-d", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"
|
||||
id="'.date("d.m.Y", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"
|
||||
id="'.date("d.m.Y",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
||||
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"
|
||||
id="'.date("d.m.Y", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -853,12 +895,12 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
elseif(isset($freigabeamum[$j+7*$i]))
|
||||
{
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||
if($hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
$k=$j+7*$i;
|
||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]&informSupervisor=True' onclick='return conf_del()'>";
|
||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]' onclick='return conf_del()'>";
|
||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -31,6 +31,7 @@ require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
@@ -65,6 +66,7 @@ if(isset($_GET['uid']))
|
||||
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
|
||||
}
|
||||
}
|
||||
|
||||
$datum_obj = new datum();
|
||||
$ma= new mitarbeiter();
|
||||
|
||||
@@ -100,6 +102,7 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
|
||||
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<?php
|
||||
|
||||
// ADDONS laden
|
||||
$addon_obj = new addon();
|
||||
$addon_obj->loadAddons();
|
||||
@@ -109,6 +112,9 @@ foreach($addon_obj->result as $addon)
|
||||
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
|
||||
}
|
||||
|
||||
// Überprüfen, ob addon casetime aktiv ist
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
|
||||
// Wenn Seite fertig geladen ist Addons aufrufen
|
||||
echo '
|
||||
<script>
|
||||
@@ -119,7 +125,8 @@ $( document ).ready(function()
|
||||
{
|
||||
for(i in addon)
|
||||
{
|
||||
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
||||
|
||||
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +165,7 @@ $( document ).ready(function()
|
||||
}
|
||||
return [true, ""];
|
||||
}
|
||||
|
||||
</script>';
|
||||
|
||||
?>
|
||||
@@ -316,6 +324,10 @@ function showHideStudeDropDown()
|
||||
{
|
||||
document.getElementById('vonStd').style.visibility = 'hidden';
|
||||
document.getElementById('bisStd').style.visibility = 'hidden';
|
||||
|
||||
// Stunde entfernen
|
||||
document.getElementById('vonstunde').selectedIndex = 0;
|
||||
document.getElementById('bisstunde').selectedIndex = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -339,6 +351,17 @@ function showHideStudeDropDown()
|
||||
|
||||
<?php
|
||||
|
||||
$zeitsaldo = "";
|
||||
$urlaubssaldo = "";
|
||||
if($addoncasetime)
|
||||
{
|
||||
require_once('../../../addons/casetime/config.inc.php');
|
||||
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||
$zeitsaldo = getCaseTimeZeitsaldo($uid);
|
||||
$zeitsaldo = formatZeitsaldo($zeitsaldo);
|
||||
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||
}
|
||||
|
||||
//Zeitsperre Speichern
|
||||
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
|
||||
@@ -502,17 +525,24 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$zeitsperre->updateamum = date('Y-m-d H:i:s');
|
||||
$zeitsperre->updatevon = $uid;
|
||||
|
||||
// Zeitsperretyp Beschreibung
|
||||
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||
|
||||
if($zeitsperre->save())
|
||||
{
|
||||
echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>";
|
||||
if(URLAUB_TOOLS)
|
||||
{
|
||||
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
//Beim Anlegen von neuen Urlauben oder neuem Zeitausgleich wird ein Mail an den Vorgesetzten versendet
|
||||
if($zeitsperre->new && ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub' || $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
|| !$zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
@@ -531,21 +561,75 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
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())
|
||||
$von = $datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y');
|
||||
$bis = $datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y');
|
||||
|
||||
// Wenn ein neuer Urlaub eingetragen wurde, Freigabemail-Text
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
echo "<br><b>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</b>";
|
||||
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||
|
||||
$subject = "Freigabeansuchen Urlaub";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Link'=> $link,
|
||||
'urlaubssaldo' => $urlaubssaldo
|
||||
);
|
||||
}
|
||||
|
||||
// Wenn ein Zeitausgleich eingetragen wurde...
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
// ...Mail-Text für neuen Zeitausgleich
|
||||
if ($zeitsperre->new)
|
||||
{
|
||||
$subject = $p->t('urlaubstool/zeitausgleichNeu');
|
||||
$mailvorlage = 'Sancho_Content_Zeitausgleich';
|
||||
}
|
||||
// ...Mail-Text für geaenderten Zeitausgleich
|
||||
else
|
||||
{
|
||||
$subject = $subject = $p->t('urlaubstool/zeitausgleichGeaendert');
|
||||
$mailvorlage = 'Sancho_Content_ZA_Aendern';
|
||||
}
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Saldo'=> $zeitsaldo
|
||||
);
|
||||
}
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
echo "<br><b>". $p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName)). "</b>";
|
||||
}
|
||||
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
echo "<br><b>". $p->t('urlaubstool/VorgesetzteInformiert', array($fullName)). "</b>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -572,8 +656,15 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['id']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||
|
||||
$vonDatum = $zeitsperre->getVonDatum();
|
||||
$bisDatum = $zeitsperre->getBisDatum();
|
||||
|
||||
$vonDatum = $datum_obj->formatDatum($vonDatum ,'d.m.Y');
|
||||
$bisDatum = $datum_obj->formatDatum($bisDatum,'d.m.Y');
|
||||
|
||||
|
||||
if(!$zeitsperre->delete($_GET['id']))
|
||||
echo $zeitsperre->errormsg;
|
||||
@@ -604,16 +695,32 @@ 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";
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'Urlaub')
|
||||
{
|
||||
$subject = $p->t('urlaubstool/UrlaubGeloescht');
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||
}
|
||||
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
$subject = $p->t('urlaubstool/zeitausgleichGeloescht');
|
||||
$mailvorlage = 'Sancho_Mail_ZA_loeschen';
|
||||
}
|
||||
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $vonDatum,
|
||||
'bisDatum' => $bisDatum
|
||||
);
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
||||
if($mail->send())
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
echo "<b>" . $p->t('global/erfolgreichgelöscht') . '</b><br>';
|
||||
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
|
||||
}
|
||||
else
|
||||
@@ -621,6 +728,7 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
@@ -632,6 +740,7 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['infor
|
||||
{
|
||||
$zeit = new zeitsperre();
|
||||
$zeit->load($_GET['id']);
|
||||
|
||||
//pruefen ob die person die den datensatz loeschen will auch der
|
||||
//besitzer dieses datensatzes ist
|
||||
if($zeit->mitarbeiter_uid==$uid)
|
||||
@@ -698,7 +807,7 @@ if(count($zeit->result)>0)
|
||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
||||
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
else if($row->vondatum>=date("Y-m-d",time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
|
||||
else if($row->vondatum>=date("Y-m-d",time()) && ($row->zeitsperretyp_kurzbz=='Urlaub' || $row->zeitsperretyp_kurzbz == 'ZA'))
|
||||
{
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
@@ -779,7 +888,7 @@ $content_form.= '<tr><td>'.$p->t('global/von').'</td><td><input'.$style.' type="
|
||||
//dropdown fuer vonstunde
|
||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||
|
||||
$content_form.= " <SELECT name='vonstunde'$style>\n";
|
||||
$content_form.= " <SELECT id='vonstunde' name='vonstunde'$style>\n";
|
||||
if($zeitsperre->vonstunde=='')
|
||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||
else
|
||||
@@ -800,7 +909,7 @@ $content_form.= "</SELECT></td></tr>";
|
||||
$content_form.= '<tr><td>'.$p->t('global/bis').'</td><td><input'.$style.' type="text" '.$class.' size="10" maxlength="10" name="bisdatum" id="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):(!isset($_POST['bisdatum'])?date('d.m.Y'):$_POST['bisdatum'])).'"'.$readonly.'></td><td id="bisStd" style="text-align:right;"> ';
|
||||
//dropdown fuer bisstunde
|
||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||
$content_form.= " <SELECT name='bisstunde'$style>\n";
|
||||
$content_form.= " <SELECT id='bisstunde' name='bisstunde'$style>\n";
|
||||
|
||||
if($zeitsperre->bisstunde=='')
|
||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||
@@ -836,6 +945,10 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
$content_form.= '</SELECT></td></tr>';
|
||||
|
||||
//$content_form.= '<tr><td>'.$p->t('global/bezeichnung').'</td>
|
||||
//<td colspan="2"><span id="dienstv_span"><input'.$style.' type="text" size="32" name="bezeichnung" maxlength="32" value="'.$zeitsperre->bezeichnung.'"'.$readonly.'></span></td></tr>';
|
||||
|
||||
|
||||
$content_form.= "<tr><td>".$p->t('urlaubstool/erreichbarkeit')."</td><td><SELECT name='erreichbarkeit'>";
|
||||
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
|
||||
{
|
||||
@@ -847,8 +960,12 @@ foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibun
|
||||
|
||||
$content_form.= '</SELECT></td>';
|
||||
|
||||
|
||||
|
||||
$content_form.= '<td style="text-align:right;">';
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['type']) && $_GET['type']=='edit')
|
||||
$content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>";
|
||||
|
||||
@@ -875,6 +992,7 @@ echo '</table>';
|
||||
?>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
</html>
|
||||
<?php echo '<script>showHideStudeDropDown();</script>'; ?>
|
||||
|
||||
@@ -605,9 +605,14 @@ echo '
|
||||
{
|
||||
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>";
|
||||
projphasenhtml += json[i].bezeichnung;
|
||||
|
||||
if(json[i].start != \'\' && json[i].ende !=\'\')
|
||||
{
|
||||
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+" )";
|
||||
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+ " )";
|
||||
}
|
||||
if (!json[i].zeitaufzeichnung_erlaubt)
|
||||
{
|
||||
projphasenhtml += " ---AP NICHT bebuchbar---";
|
||||
}
|
||||
projphasenhtml += "<\/option>";
|
||||
}
|
||||
@@ -665,6 +670,7 @@ echo '
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Pausenblock
|
||||
|
||||
function checkPausenblock()
|
||||
@@ -840,6 +846,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
$projektph_of_user = new projektphase();
|
||||
$projektphasen = $projektph_of_user->getProjectphaseForMitarbeiter($user);
|
||||
|
||||
$phaseBebuchbar = $projektph_of_user->getPhasenZA($projektphase_id);
|
||||
$projekt = new projekt();
|
||||
$projekt->load($projekt_kurzbz);
|
||||
|
||||
if ($_FILES['csv']['error'] == 0 && isset($_POST['import']))
|
||||
{
|
||||
$zeit_csv_import = new zeitaufzeichnung_import_csv($p, $user, $sperrdatum, $_FILES['csv']['tmp_name']);
|
||||
@@ -848,9 +858,11 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
}
|
||||
else if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum)
|
||||
echo '<span id="triggerPhasenReset" style="color:#ff0000"><b>' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum</b></span>';
|
||||
|
||||
// NOTE(chris): Save
|
||||
else if (isset($_POST['save']) || isset($_POST['edit']))
|
||||
{
|
||||
|
||||
$zeit_post_import = new zeitaufzeichnung_import_post($p, $user, isset($_POST['edit']), [
|
||||
'aktivitaet_kurzbz' => $aktivitaet_kurzbz,
|
||||
'beschreibung' => $beschreibung,
|
||||
@@ -867,6 +879,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
'von_pause' => $von_pause,
|
||||
'zeitaufzeichnung_id' => $zeitaufzeichnung_id,
|
||||
]);
|
||||
|
||||
$zeit_post_import->import();
|
||||
echo $zeit_post_import->OutputToHTML();
|
||||
if (!$zeit_post_import->hasErrors() && !$zeit_post_import->hasWarnings())
|
||||
@@ -1239,7 +1252,8 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung). $phasentext.'</option>';
|
||||
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung).
|
||||
$phasentext. '</option>';
|
||||
}
|
||||
echo '</SELECT></span>';
|
||||
}
|
||||
@@ -1379,7 +1393,27 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
}
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</td><td valign="top"><span id="zeitsaldo"></span><br><br>';
|
||||
echo '</td><td valign="top"><span id="zeitsaldo"></span><br>';
|
||||
|
||||
if (defined('DEFAULT_ALLIN_DIENSTVERTRAG') && DEFAULT_ALLIN_DIENSTVERTRAG != '')
|
||||
{
|
||||
$bisver = new bisverwendung();
|
||||
$bisver->getLastVerwendung($user);
|
||||
// $ba1code = $bisver->ba1code;
|
||||
$ba1code = null;
|
||||
|
||||
if (in_array($bisver->ba1code, DEFAULT_ALLIN_DIENSTVERTRAG))
|
||||
{
|
||||
echo '<span id="saldoAllin"></span><br><br>';
|
||||
}
|
||||
else
|
||||
echo '<br>';
|
||||
}
|
||||
else
|
||||
echo '<br>';
|
||||
|
||||
|
||||
|
||||
|
||||
if (!$adminView)
|
||||
{
|
||||
|
||||
@@ -86,6 +86,7 @@ if (isset($_GET['projekt_kurzbz']))
|
||||
$item['bezeichnung'] = $row->bezeichnung;
|
||||
$item['start'] = $datum_obj->formatDatum($row->start, 'd.m.Y');
|
||||
$item['ende'] = $datum_obj->formatDatum($row->ende, 'd.m.Y');
|
||||
$item['zeitaufzeichnung_erlaubt'] = $row->zeitaufzeichnung;
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,4 +259,11 @@ define('CIS_ZEITWUNSCH_GD', false);
|
||||
|
||||
// Covid-Status anzeigen
|
||||
define('CIS_SHOW_COVID_STATUS', false);
|
||||
|
||||
//Vertrag Allin
|
||||
define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
|
||||
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
|
||||
|
||||
?>
|
||||
|
||||
@@ -268,4 +268,7 @@ define('ZEUGNISNOTE_NICHT_ANZEIGEN',serialize(array('iar', 'nz')));
|
||||
|
||||
//Default Lehrmodus
|
||||
define ('DEFAULT_LEHRMODUS','regulaer');
|
||||
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,110]);
|
||||
?>
|
||||
|
||||
@@ -65,6 +65,13 @@ $data = '';
|
||||
$error = false;
|
||||
$warnung = false;
|
||||
|
||||
//Default BA1Codes für echte Dienstverträge aus Config Laden
|
||||
$arrEchterDV = [103];
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
|
||||
loadVariables($user);
|
||||
|
||||
//Berechtigungen laden
|
||||
@@ -560,10 +567,12 @@ if(!$error)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$fixangestellt = true;
|
||||
$lem->stundensatz = '';
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1567,9 +1576,10 @@ if(!$error)
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$data = '';
|
||||
break;
|
||||
|
||||
+21
-5
@@ -30,7 +30,7 @@ class addon extends basis_db
|
||||
public $fhcomplete_target_version;
|
||||
|
||||
public $aktive_addons=array();
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
@@ -38,12 +38,12 @@ class addon extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle aktivierten Addons
|
||||
*/
|
||||
*/
|
||||
public function loadAddons()
|
||||
{
|
||||
|
||||
@@ -55,7 +55,7 @@ class addon extends basis_db
|
||||
$fhcomplete_target_version='';
|
||||
|
||||
include(dirname(__FILE__).'/../addons/'.$addon.'/version.php');
|
||||
|
||||
|
||||
$obj = new stdClass();
|
||||
$obj->kurzbz = $addon;
|
||||
$obj->addon_name = $addon_name;
|
||||
@@ -63,7 +63,7 @@ class addon extends basis_db
|
||||
$obj->addon_description = $addon_description;
|
||||
$obj->fhcomplete_target_version = $fhcomplete_target_version;
|
||||
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -87,5 +87,21 @@ class addon extends basis_db
|
||||
$this->fhcomplete_target_version = $fhcomplete_target_version;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüfen, ob ein bestimmtes Addon aktivierten ist
|
||||
* @param $addon_kurzbz (fhtw,casetime, wawi..)
|
||||
* @return true wenn addon aktiv, sonst false
|
||||
*/
|
||||
public function checkActiveAddon($addon_kurzbz)
|
||||
{
|
||||
$addonIsActive = false;
|
||||
foreach($this->aktive_addons as $addon)
|
||||
{
|
||||
if ($addon == $addon_kurzbz)
|
||||
$addonIsActive = true;
|
||||
}
|
||||
return $addonIsActive;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -865,5 +865,64 @@ class bisverwendung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt die letzte zeitaufzeichnungspflichtige Bisverwendung
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getLastBisZAPflicht($uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid).'
|
||||
AND
|
||||
zeitaufzeichnungspflichtig = true
|
||||
ORDER BY ende DESC NULLS FIRST LIMIT 1
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
|
||||
$obj = new bisverwendung();
|
||||
|
||||
$obj->bisverwendung_id = $row->bisverwendung_id;
|
||||
$obj->ba1code = $row->ba1code;
|
||||
$obj->ba2code = $row->ba2code;
|
||||
$obj->beschausmasscode = $row->beschausmasscode;
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->hauptberufcode = $row->hauptberufcode;
|
||||
$obj->hauptberuflich = $row->hauptberuflich;
|
||||
$obj->habilitation = $row->habilitation;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->dv_art = $row->dv_art;
|
||||
$obj->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
$obj->azgrelevant = $row->azgrelevant;
|
||||
$obj->homeoffice = $row->homeoffice;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1113,6 +1113,50 @@ class mitarbeiter extends benutzer
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt ein Array mit den UIDs der Vorgesetzten zum Zeitpunkt des korrespondierenden Timesheets zurück
|
||||
* @return uid
|
||||
*/
|
||||
public function getVorgesetzteMonatTimesheet($uid, $timesheetDate)
|
||||
{
|
||||
$return=false;
|
||||
|
||||
$qry = "SELECT
|
||||
uid as vorgesetzter
|
||||
FROM
|
||||
public.tbl_benutzerfunktion
|
||||
WHERE
|
||||
funktion_kurzbz='Leitung' AND
|
||||
(datum_von is null OR datum_von<=".$this->db_add_param($timesheetDate).") AND
|
||||
(datum_bis is null OR datum_bis>=".$this->db_add_param($timesheetDate).") AND
|
||||
oe_kurzbz in (SELECT oe_kurzbz
|
||||
FROM public.tbl_benutzerfunktion
|
||||
WHERE
|
||||
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
|
||||
(datum_von is null OR (datum_von<= ".$this->db_add_param($timesheetDate).")) AND
|
||||
(datum_bis is null OR (datum_bis>=".$this->db_add_param($timesheetDate)."))
|
||||
);";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->vorgesetzter!='')
|
||||
{
|
||||
$this->vorgesetzte[]=$row->vorgesetzter;
|
||||
$return=true;
|
||||
}
|
||||
}
|
||||
|
||||
$this->vorgesetzte = array_unique($this->vorgesetzte);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage!';
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt UID des letzten Vorgesetzten zurück
|
||||
* @param string $uid Mitarbeiter.
|
||||
|
||||
@@ -829,5 +829,39 @@ class projektphase extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt zurück, ob für eine Projektphase Zeitaufzeichnungsbuchung erlaubt ist
|
||||
* @param $projektphase_id die zu überprüfende Projektphase
|
||||
* @return boolean true, wenn Buchung erlaubt
|
||||
*/
|
||||
public function getPhasenZA($projektphase_id)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
fue.tbl_projektphase.zeitaufzeichnung
|
||||
FROM
|
||||
fue.tbl_projektphase
|
||||
WHERE
|
||||
tbl_projektphase.projektphase_id = ".$this->db_add_param($projektphase_id);
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
return $row->zeitaufzeichnung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -21,7 +21,7 @@ class zeitaufzeichnung_import {
|
||||
protected $project;
|
||||
protected $phase;
|
||||
protected $limitdate;
|
||||
|
||||
|
||||
protected $zeit;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class zeitaufzeichnung_import {
|
||||
|
||||
$this->zeit = new zeitaufzeichnung();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
@@ -64,7 +64,7 @@ class zeitaufzeichnung_import {
|
||||
public function hasInfos() {
|
||||
return !empty($this->infos);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -96,15 +96,15 @@ class zeitaufzeichnung_import {
|
||||
$html .= '<span style="color:green;"><b>' . $msg . '</b></span><br>' . "\n";
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function OutputToHTML() {
|
||||
return $this->InfosToHTML() . $this->WarningsToHTML() . $this->ErrorsToHTML();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -112,7 +112,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addError($msg) {
|
||||
$this->errors[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -120,7 +120,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addWarning($msg) {
|
||||
$this->warnings[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -134,7 +134,7 @@ class zeitaufzeichnung_import {
|
||||
* @param string $uid The user id
|
||||
* @param string $day "Y-m-d" formatted datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkZeitsperren($uid, $day) {
|
||||
@@ -150,25 +150,25 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ": " . $this->p->t("zeitaufzeichnung/zeitsperreVorhanden", [$zsdate, $zs->result[0]->zeitsperretyp_kurzbz]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $date datetimestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkLimitdatum($date) {
|
||||
if ($this->datum->formatDatum($date, 'Y-m-d H:i:s') > $this->limitdate) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich da (' . $date . ') zu weit in der Zukunft liegt.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @param string $aktivitaet_kurzbz
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkDienstreise($start, $end, $aktivitaet_kurzbz) {
|
||||
@@ -179,11 +179,11 @@ class zeitaufzeichnung_import {
|
||||
.': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $end timestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkTagesgenau($end) {
|
||||
@@ -193,13 +193,13 @@ class zeitaufzeichnung_import {
|
||||
.': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $projekt_kurzbz
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkProjectInterval($projekt_kurzbz, $start, $end) {
|
||||
@@ -207,13 +207,13 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: (' . $start . ') (' . $end . ')');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPhaseInterval($phase, $start, $end) {
|
||||
@@ -222,4 +222,36 @@ class zeitaufzeichnung_import {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPhaseBebuchbar($phase)
|
||||
{
|
||||
if ($this->phase->getPhasenZA($phase) == 'f')
|
||||
{
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Dieses Arbeitspaket darf nicht bebucht werden!');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkIfArbeitspaketZuWaehlen($projekt_kurzbz, $phase)
|
||||
{
|
||||
if ($projekt_kurzbz != '')
|
||||
{
|
||||
$this->project->load($projekt_kurzbz);
|
||||
if (!$this->project->zeitaufzeichnung && !$phase)
|
||||
{
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Bitte ein Arbeitspaket wählen!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -163,7 +163,8 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
$this->initData($data);
|
||||
$this->checkProject($data[self::PROJEKT], $data[self::PHASE]);
|
||||
$this->checkPhase($data[self::PHASE]);
|
||||
|
||||
$this->checkPhaseBebuchbar($data[self::PHASE]);
|
||||
$this->checkIfArbeitspaketZuWaehlen($data[self::PROJEKT], $data[self::PHASE]);
|
||||
$this->checkZeitsperren($this->user, $this->datum->formatDatum($data[self::STARTDT], 'Y-m-d'));
|
||||
$this->checkSperrdatum($data[self::STARTDT]);
|
||||
$this->checkLimitdatum($data[self::STARTDT]);
|
||||
|
||||
@@ -72,6 +72,8 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import {
|
||||
$this->checkDienstreise($this->data['von'], $this->data['bis'], $this->data['aktivitaet_kurzbz']);
|
||||
$this->checkTagesgenau($this->data['bis']);
|
||||
$this->processPause($this->data['von_pause'], $this->data['bis_pause']);
|
||||
$this->checkPhaseBebuchbar($this->data['projektphase_id']);
|
||||
$this->checkIfArbeitspaketZuWaehlen($this->data['projekt_kurzbz'], $this->data['projektphase_id']);
|
||||
$this->saveZeit();
|
||||
} catch (Exception $ex) {
|
||||
$this->addError($ex->getMessage());
|
||||
|
||||
@@ -551,13 +551,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 +592,46 @@ class zeitsperre extends basis_db
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Zeitsperretyp.
|
||||
*
|
||||
* @param $zeitsperretyp_kurzbz
|
||||
* @return Gibt Zeitsperretyp als Objekt zurück. True wenn ok, false im Fehlerfall.
|
||||
*/
|
||||
public function loadZeitsperretyp($zeitsperretyp_kurzbz)
|
||||
{
|
||||
if(!is_string($zeitsperretyp_kurzbz))
|
||||
{
|
||||
$this->errormsg = 'zeitsperretyp muß ein String sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp WHERE zeitsperretyp_kurzbz = ". $this->db_add_param($zeitsperretyp_kurzbz);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new StdClass();
|
||||
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->farbe = $row->farbe;
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Zeitsperretyp konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -37,9 +37,14 @@ $this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Si
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub';
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben';
|
||||
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Bereits Freigegebener Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/UrlaubGeloescht']='Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/zeitausgleichNeu']='Zeitausgleich wurde neu eingetragen';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeaendert']='Zeitausgleich wurde geändert';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeloescht']='Zeitausgleich wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/xHatZeitausgleichGeloescht']='%s %s hat einen eingetragenen Zeitausgleich gelöscht';
|
||||
$this->phrasen['urlaubstool/VorgesetzteInformiert']='Email wurde an %s versandt';
|
||||
$this->phrasen['urlaubstool/konnteKeinInformationsemailVersendetWerden']='Es konnte kein Email versendet werden, da kein Vorgesetzter eingetragen ist!';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat bereits freigegebenen Urlaub gelöscht';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat Urlaub gelöscht';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Freigabe Urlaub: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Bestätigungsmail an %s versandt';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von';
|
||||
|
||||
@@ -36,6 +36,13 @@ $this->phrasen['urlaubstool/meineZeitsperren']='My Planned Absences';
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Vacation has not been approved yet';
|
||||
$this->phrasen['urlaubstool/zeitausgleichNeu']='Compensatory time was entered';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeaendert']='Compensatory time was changed';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeloescht']='Compensatory time was deleted';
|
||||
$this->phrasen['urlaubstool/xHatZeitausgleichGeloescht']='Compensatory time was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='Vacation was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/UrlaubGeloescht']='Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Approved Vacation was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Vacation approval: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Confirmation mail to %s sent';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
|
||||
@@ -450,6 +450,13 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
|
||||
//**** Echter Dienstvertrag ohne Vertragsstunden
|
||||
$arrayEchterDV= array(103, 110);
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrayEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
$str_ba1codein = trim(array_reduce($arrayEchterDV, function($c, $i) { global $db; return $c .= $db->db_add_param($i, FHC_INTEGER) . ','; }), ',');
|
||||
|
||||
$qryall="
|
||||
SELECT
|
||||
distinct mitarbeiter_uid as uid, vorname, nachname
|
||||
@@ -461,7 +468,7 @@ $qryall="
|
||||
WHERE
|
||||
(beginn is null or beginn<".$db->db_add_param($bismeldedatum_ende).")
|
||||
and (ende is null or ende>=".$db->db_add_param($bismeldedatum_start).")
|
||||
and ba1code=103
|
||||
and ba1code IN (" . $str_ba1codein . ")
|
||||
and vertragsstunden is null
|
||||
and beschausmasscode!=5
|
||||
ORDER by nachname, vorname, mitarbeiter_uid;";
|
||||
|
||||
@@ -54,6 +54,13 @@ foreach ($stg_obj->result as $stg)
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
}
|
||||
|
||||
//Default BA1Codes für echte Dienstverträge aus Config Laden
|
||||
$arrEchterDV = [103, 110];
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
|
||||
$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'');
|
||||
$semester = (isset($_GET['semester'])?$_GET['semester']:'');
|
||||
$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:'');
|
||||
@@ -359,7 +366,7 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$lem_obj->stundensatz = '';
|
||||
break;
|
||||
|
||||
@@ -32,6 +32,7 @@ require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -59,6 +60,15 @@ $alle = (isset($_GET['alle'])?true:false);
|
||||
$errormsg='';
|
||||
$message='';
|
||||
$error=false;
|
||||
$mlAbgeschickt = '';
|
||||
|
||||
//prüfen, ob addon casetime aktiviert ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
if ($addoncasetime)
|
||||
{
|
||||
require_once('../../addons/casetime/include/functions.inc.php');
|
||||
}
|
||||
|
||||
//Kopfzeile
|
||||
echo '<html>
|
||||
@@ -78,6 +88,10 @@ echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker
|
||||
{
|
||||
return confirm("Wollen Sie diesen Eintrag wirklich loeschen: "+val);
|
||||
}
|
||||
function rejdel(val)
|
||||
{
|
||||
return confirm("ACHTUNG! Die Zeitsperre ("+val + ") wurde bereits in einer abgeschickten Monatsliste verarbeitet und kann nicht gelöscht werden.");
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#ma_name").autocomplete({
|
||||
@@ -249,8 +263,15 @@ if($uid!='')
|
||||
<th>Bezeichnung</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Vertretung</th>
|
||||
<th>Freigegeben von, am</th>
|
||||
<th>Vertretung</th>';
|
||||
|
||||
if($addoncasetime)
|
||||
{
|
||||
echo '<th>Status Monatsliste</th>';
|
||||
}
|
||||
|
||||
echo'
|
||||
<th>Freigegeben von, am</th>
|
||||
<th>Aktualisiert am</th>
|
||||
<th>Aktualisiert von</th>
|
||||
<th>Edit</th>
|
||||
@@ -268,12 +289,38 @@ if($uid!='')
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."</td>";
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."</td>";
|
||||
echo "<td>$row->vertretung_uid</td>";
|
||||
|
||||
if($addoncasetime)
|
||||
{
|
||||
echo "<td align='center'>";
|
||||
checkStatusMonatsliste($uid,$row->vondatum, $row->bisdatum) == '' ? $mlAbgeschickt = false : $mlAbgeschickt = true;
|
||||
|
||||
if($mlAbgeschickt)
|
||||
echo "abgeschickt";
|
||||
else
|
||||
echo "nicht abgeschickt";
|
||||
|
||||
echo '</td>';
|
||||
}
|
||||
echo "<td>$row->freigabevon ".$datum->formatDatum($row->freigabeamum,'d.m.Y')."</td>";
|
||||
echo "<td>".$datum->formatDatum($row->updateamum,'d.m.Y H:i:s')."</td>";
|
||||
echo "<td>$row->updatevon</td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=delete&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
|
||||
//nur Zeitsperren von noch nicht abgeschickten Monatlisten dürfen gelöscht werden
|
||||
if ( ($addoncasetime) && ($mlAbgeschickt && in_array($row->zeitsperretyp_kurzbz, zeitsperre::getBlockierendeZeitsperren())) )
|
||||
{
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='kopieren' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return rejdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y'). "" . "\") '><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='kopieren' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=delete&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
}
|
||||
|
||||
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
Reference in New Issue
Block a user