Merge branch 'feature-19041/ZeitausgleichSanchoMail' into feature-25177/ZeiterfassungMergedBrancheDeploy1

This commit is contained in:
ma0068
2022-10-07 09:09:54 +02:00
5 changed files with 260 additions and 50 deletions
+68 -25
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <[email protected]>, * Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and * Andreas Oesterreicher <[email protected]>,
* Rudolf Hangl <[email protected]>. * Rudolf Hangl <[email protected]>,
* Manuela Thamer <[email protected]>
*/ */
/** /**
* Seite zum Eintragen von Urlaubstagen * Seite zum Eintragen von Urlaubstagen
@@ -30,11 +31,13 @@ require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php'); require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/mail.class.php'); require_once('../../../include/mail.class.php');
require_once('../../../include/sancho.inc.php');
require_once('../../../include/phrasen.class.php'); require_once('../../../include/phrasen.class.php');
require_once('../../../include/globals.inc.php'); require_once('../../../include/globals.inc.php');
require_once('../../../include/sprache.class.php'); require_once('../../../include/sprache.class.php');
require_once('../../../include/zeitaufzeichnung.class.php'); require_once('../../../include/zeitaufzeichnung.class.php');
$datum_obj = new datum();
$sprache = getSprache(); $sprache = getSprache();
$lang = new sprache(); $lang = new sprache();
$lang->load($sprache); $lang->load($sprache);
@@ -174,6 +177,8 @@ if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POS
$vondatum = $zeitsperre->getVonDatum(); $vondatum = $zeitsperre->getVonDatum();
$bisdatum = $zeitsperre->getBisDatum(); $bisdatum = $zeitsperre->getBisDatum();
$vondatum = $datum_obj->formatDatum($vondatum ,'d.m.Y');
$bisdatum = $datum_obj->formatDatum($bisdatum,'d.m.Y');
if(!$zeitsperre->delete($_GET['delete'])) if(!$zeitsperre->delete($_GET['delete']))
echo $zeitsperre->errormsg; echo $zeitsperre->errormsg;
@@ -204,13 +209,25 @@ if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POS
$benutzer = new benutzer(); $benutzer = new benutzer();
$benutzer->load($uid); $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";
//new sanchomail
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
$beschreibung = $zeitsperre->bezeichnung;
$subject = "Urlaub wurde gelöscht";
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message); $from='vilesci@'.DOMAIN;
if($mail->send())
//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>"; $vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
} }
@@ -384,25 +401,61 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
$benutzer = new benutzer(); $benutzer = new benutzer();
$benutzer->load($uid); $benutzer->load($uid);
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
$p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n"; $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++) 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 //Ab September wird das neue Jahr uebergeben
if(date("m",strtotime($akette[0]))>=9) if(date("m",strtotime($akette[0]))>=9)
$jahr = date("Y", strtotime($akette[0]))+1; $jahr = date("Y", strtotime($akette[0]))+1;
else else
$jahr = date("Y", strtotime($akette[0])); $jahr = date("Y", strtotime($akette[0]));
$message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n". $link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message); $subject = "Freigabeansuchen Urlaub";
if($mail->send()) $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)
{
require_once('../../../addons/casetime/config.inc.php');
require_once('../../../addons/casetime/include/functions.inc.php');
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
$urlaubssaldo = "Aktueller Urlaubssaldo: ". $urlaubssaldo->{'AktuellerStand'} . " Tage";
}
//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>"; $vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
} }
@@ -541,17 +594,6 @@ $datum_obj = new datum();
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script> <script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script> <script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<?php <?php
// ADDONS laden
$addon_obj = new addon();
$addon_obj->loadAddons();
foreach($addon_obj->result as $addon)
{
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
{
echo '
<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
}
}
// Wenn Seite fertig geladen ist Addons aufrufen // Wenn Seite fertig geladen ist Addons aufrufen
echo ' echo '
@@ -567,6 +609,7 @@ echo '
} }
}); });
</script>'; </script>';
?> ?>
<script language="Javascript"> <script language="Javascript">
function conf_del() function conf_del()
+134 -20
View File
@@ -31,6 +31,7 @@ require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php'); require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/mail.class.php'); require_once('../../../include/mail.class.php');
require_once('../../../include/sancho.inc.php');
require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/phrasen.class.php'); require_once('../../../include/phrasen.class.php');
require_once('../../../include/zeitaufzeichnung.class.php'); require_once('../../../include/zeitaufzeichnung.class.php');
@@ -65,6 +66,7 @@ if(isset($_GET['uid']))
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte')); die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
} }
} }
$datum_obj = new datum(); $datum_obj = new datum();
$ma= new mitarbeiter(); $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="../../../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"> <link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<?php <?php
// ADDONS laden // ADDONS laden
$addon_obj = new addon(); $addon_obj = new addon();
$addon_obj->loadAddons(); $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>'; 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 // Wenn Seite fertig geladen ist Addons aufrufen
echo ' echo '
<script> <script>
@@ -119,7 +125,8 @@ $( document ).ready(function()
{ {
for(i in addon) 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, ""]; return [true, ""];
} }
</script>'; </script>';
?> ?>
@@ -339,6 +347,17 @@ function showHideStudeDropDown()
<?php <?php
$zeitsaldo = "";
$urlaubssaldo = "";
if($addoncasetime)
{
require_once('../../../addons/casetime/config.inc.php');
require_once('../../../addons/casetime/include/functions.inc.php');
$zeitsaldo = getCaseTimeZeitsaldo($uid);
$zeitsaldo = "Aktueller Zeitsaldo: ". $zeitsaldo . " (".formatZeitsaldo($zeitsaldo).")";
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
$urlaubssaldo = "Aktueller Urlaubssaldo: ". $urlaubssaldo->{'AktuellerStand'} . " Tage";
}
//Zeitsperre Speichern //Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre')) if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
@@ -502,17 +521,24 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$zeitsperre->updateamum = date('Y-m-d H:i:s'); $zeitsperre->updateamum = date('Y-m-d H:i:s');
$zeitsperre->updatevon = $uid; $zeitsperre->updatevon = $uid;
// Zeitsperretyp Beschreibung
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
if($zeitsperre->save()) if($zeitsperre->save())
{ {
echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>"; echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>";
if(URLAUB_TOOLS) 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 //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
$prsn = new person(); $prsn = new person();
$vorgesetzter = $ma->getVorgesetzte($uid); $vorgesetzter = $ma->getVorgesetzte($uid);
if($vorgesetzter) if($vorgesetzter)
{ {
$to=''; $to='';
@@ -531,21 +557,75 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$benutzer = new benutzer(); $benutzer = new benutzer();
$benutzer->load($uid); $benutzer->load($uid);
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9) if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1; $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
else else
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y'); $jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
$message = "Dies ist eine automatische Mail! \n". $von = $datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y');
"$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n". $bis = $datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y');
"$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". // Wenn ein neuer Urlaub eingetragen wurde, Freigabemail-Text
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr; if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
$from='vilesci@'.DOMAIN;
$mail = new mail($to, $from, 'Freigabeansuchen', $message);
if($mail->send())
{ {
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 else
{ {
@@ -572,8 +652,15 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
$zeitsperre = new zeitsperre(); $zeitsperre = new zeitsperre();
$zeitsperre->load($_GET['id']); $zeitsperre->load($_GET['id']);
$vondatum = $zeitsperre->getVonDatum(); $zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
$bisdatum = $zeitsperre->getBisDatum(); $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'])) if(!$zeitsperre->delete($_GET['id']))
echo $zeitsperre->errormsg; echo $zeitsperre->errormsg;
@@ -604,16 +691,32 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
$benutzer = new benutzer(); $benutzer = new benutzer();
$benutzer->load($uid); $benutzer->load($uid);
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n". $nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n"; $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 (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
if($mail->send())
{ {
echo "<b>" . $p->t('global/erfolgreichgelöscht') . '</b><br>';
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>"; echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
} }
else else
@@ -621,6 +724,7 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>"; echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
} }
} }
else else
{ {
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>"; $vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
@@ -632,6 +736,7 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['infor
{ {
$zeit = new zeitsperre(); $zeit = new zeitsperre();
$zeit->load($_GET['id']); $zeit->load($_GET['id']);
//pruefen ob die person die den datensatz loeschen will auch der //pruefen ob die person die den datensatz loeschen will auch der
//besitzer dieses datensatzes ist //besitzer dieses datensatzes ist
if($zeit->mitarbeiter_uid==$uid) if($zeit->mitarbeiter_uid==$uid)
@@ -698,7 +803,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>"; $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)) if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
$content_table .= '<td>&nbsp;</td>'; $content_table .= '<td>&nbsp;</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>"; $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>";
} }
@@ -836,6 +941,10 @@ if($result = $db->db_query($qry))
} }
$content_form.= '</SELECT></td></tr>'; $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'>"; $content_form.= "<tr><td>".$p->t('urlaubstool/erreichbarkeit')."</td><td><SELECT name='erreichbarkeit'>";
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung) foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
{ {
@@ -847,8 +956,12 @@ foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibun
$content_form.= '</SELECT></td>'; $content_form.= '</SELECT></td>';
$content_form.= '<td style="text-align:right;">'; $content_form.= '<td style="text-align:right;">';
if(isset($_GET['type']) && $_GET['type']=='edit') if(isset($_GET['type']) && $_GET['type']=='edit')
$content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>"; $content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>";
@@ -875,6 +988,7 @@ echo '</table>';
?> ?>
</td></tr></table> </td></tr></table>
</div> </div>
<body> <body>
</html> </html>
<?php echo '<script>showHideStudeDropDown();</script>'; ?> <?php echo '<script>showHideStudeDropDown();</script>'; ?>
+41
View File
@@ -592,5 +592,46 @@ class zeitsperre extends basis_db
return true; 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;
}
} }
?> ?>
+6 -1
View File
@@ -37,9 +37,14 @@ $this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Si
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub'; $this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub';
$this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben'; $this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben';
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Bereits Freigegebener Urlaub wurde gelöscht'; $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/VorgesetzteInformiert']='Email wurde an %s versandt';
$this->phrasen['urlaubstool/konnteKeinInformationsemailVersendetWerden']='Es konnte kein Email versendet werden, da kein Vorgesetzter eingetragen ist!'; $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/urlaubsfreigabe']='Freigabe Urlaub: ';
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Bestätigungsmail an %s versandt'; $this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Bestätigungsmail an %s versandt';
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von'; $this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von';
+7
View File
@@ -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/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/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/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/urlaubsfreigabe']='Vacation approval: ';
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Confirmation mail to %s sent'; $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 $this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll