Merge branch 'master' into feature-6329/NotenfreigabeMailAufNoReplyAendern

This commit is contained in:
Andreas Österreicher
2023-03-13 15:50:38 +01:00
153 changed files with 7133 additions and 1035 deletions
+3 -2
View File
@@ -180,7 +180,8 @@ $qry = 'SELECT DISTINCT ON
tbl_person.matr_nr,
tbl_person.geschlecht,
tbl_person.foto,
tbl_person.foto_sperre
tbl_person.foto_sperre,
(tbl_bisio.bis::timestamp - tbl_bisio.von::timestamp) as daysout
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
@@ -200,7 +201,7 @@ $qry = 'SELECT DISTINCT ON
if ($lehreinheit != '')
$qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER);
$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$qry .= ' ORDER BY nachname, vorname, person_id, daysout DESC';
$stsem_obj = new studiensemester();
$stsem_obj->load($studiensemester);
+248 -206
View File
@@ -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&auml;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">&nbsp;
<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 '&nbsp;<INPUT name="rechts" type="image" src="../../../skin/images/right_lvplan.png" style="vertical-align: middle;" alt="rechts">';
echo '&nbsp;<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
+140 -22
View File
@@ -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>&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>";
}
@@ -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>'; ?>
+37 -3
View File
@@ -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;
}
}