freigabevon!='' && $row->vondatum<=date("Y-m-d",time()))
{
$hgfarbe[$i]='#bbb';
}
+ elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time()))
+ {
+ $hgfarbe[$i]='#CDDDEE';
+ }
else
{
$hgfarbe[$i]='#FFFC7F';
@@ -389,7 +462,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
}
else
{
- if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb')
+ if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb' && $hgfarbe[$i]!='#CDDDEE')
{
$hgfarbe[$i]='#E9ECEE';
@@ -696,7 +769,7 @@ for ($i=0;$i<6;$i++)
}
if($tage[$j+7*$i]!='')
{
- if($hgfarbe[$j+7*$i]=='#FFFC7F')
+ if($hgfarbe[$j+7*$i]=='#FFFC7F' )//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
{
echo 't('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'
';;
$k=$j+7*$i;
@@ -724,7 +797,13 @@ for ($i=0;$i<6;$i++)
}
elseif(isset($freigabeamum[$j+7*$i]))
{
- echo '
';
+ echo '
';
+ if($hgfarbe[$j+7*$i]=='#CDDDEE')
+ {
+ $k=$j+7*$i;
+ echo "";
+ echo '
';
+ }
}
else
{
diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php
index 66cb4a6e1..c6dca2adb 100644
--- a/cis/private/profile/zeitsperre_resturlaub.php
+++ b/cis/private/profile/zeitsperre_resturlaub.php
@@ -413,15 +413,23 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
{
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
- $vorgesetzter = $ma->getVorgesetzte($uid);
+ $prsn = new person();
+
+ $vorgesetzter = $ma->getVorgesetzte($uid);
if($vorgesetzter)
{
$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();
@@ -440,11 +448,11 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$mail = new mail($to, $from, 'Freigabeansuchen', $message);
if($mail->send())
{
- echo "
".$p->t('urlaubstool/freigabemailWurdeVersandt',array($to))."";
+ echo "
".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."";
}
else
{
- echo "
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."";
+ echo "
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."";
}
}
else
@@ -461,8 +469,69 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
echo "$error_msg";
}
+//loeschen eines bereits freigegebenen Urlaubs
+if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['informSupervisor'])))
+{
+ $zeitsperre = new zeitsperre();
+ $zeitsperre->load($_GET['id']);
+
+ $vondatum = $zeitsperre->getVonDatum();
+ $bisdatum = $zeitsperre->getBisDatum();
+
+ if(!$zeitsperre->delete($_GET['id']))
+ 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())
+ {
+ echo "
".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."";
+ }
+ else
+ {
+ echo "
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!";
+ }
+ }
+ else
+ {
+ $vgmail="
".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."";
+ }
+}
+
//loeschen einer zeitsperre
-if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
+if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['informSupervisor']) )
{
$zeit = new zeitsperre();
$zeit->load($_GET['id']);
@@ -532,10 +601,14 @@ if(count($zeit->result)>0)
$content_table.="".$p->t('zeitsperre/edit')." | ";
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
$content_table .= ' | ';
- else if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
+ else if($row->vondatum>=date("Y-m-d",time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
{
- $content_table.="\n".$p->t('zeitsperre/loeschen')." | ";
+ $content_table.="\n".$p->t('zeitsperre/loeschen')." | ";
}
+ elseif($row->zeitsperretyp_kurzbz!='Urlaub')
+ {
+ $content_table.="\n".$p->t('zeitsperre/loeschen')." | ";
+ }
else
$content_table .= ' | ';
$content_table.="";
diff --git a/include/person.class.php b/include/person.class.php
index edfa0ec7f..b220bb55b 100644
--- a/include/person.class.php
+++ b/include/person.class.php
@@ -1018,4 +1018,33 @@ class person extends basis_db
return false;
}
}
+
+ public function getFullNameFromBenutzer($uid)
+ {
+ $qry = "SELECT
+ *
+ FROM
+ public.tbl_person
+ JOIN public.tbl_benutzer USING(person_id)
+ WHERE
+ uid=".$this->db_add_param($uid, FHC_STRING);
+
+ if ($this->db_query($qry))
+ {
+ if ($row = $this->db_fetch_object())
+ {
+ return (string)$row->vorname.' '.$row->nachname;
+ }
+ else
+ {
+ $this->errormsg = 'Keine Personendaten zu dieser UID gefunden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = "Fehler beim Laden der Personendaten";
+ return false;
+ }
+ }
}
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index ce310451a..936a8d32f 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -510,6 +510,15 @@ class zeitsperre extends basis_db
}
}
+ public function getVonDatum()
+ {
+ return $this->vondatum;
+ }
+
+ public function getBisDatum()
+ {
+ return $this->bisdatum;
+ }
}
?>
diff --git a/locale/de-AT/urlaubstool.php b/locale/de-AT/urlaubstool.php
index 9ab612826..cd34be0da 100644
--- a/locale/de-AT/urlaubstool.php
+++ b/locale/de-AT/urlaubstool.php
@@ -36,4 +36,8 @@ $this->phrasen['urlaubstool/meineZeitsperren']='Meine Zeitsperren';
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben';
$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/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';
?>