From df7f9d926a84b052ad47c9580a85d80af89e3de9 Mon Sep 17 00:00:00 2001 From: Andreas Oesterreicher Date: Thu, 20 Jul 2017 10:40:43 +0200 Subject: [PATCH] =?UTF-8?q?Beim=20Eintragen=20des=20Urlaubs=20wird=20vor?= =?UTF-8?q?=20dem=20Speichern=20gepr=C3=BCft=20ob=20eine=20g=C3=BCltige=20?= =?UTF-8?q?Vertretung=20eingetragen=20wurde=20und=20ggf=20eine=20Fehlermel?= =?UTF-8?q?dung=20angezeigt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/profile/urlaubstool.php | 447 ++++++++++++++-------------- locale/de-AT/zeitsperre.php | 1 + locale/en-US/zeitsperre.php | 1 + 3 files changed, 221 insertions(+), 228 deletions(-) diff --git a/cis/private/profile/urlaubstool.php b/cis/private/profile/urlaubstool.php index ceecff68c..f5e3643d3 100755 --- a/cis/private/profile/urlaubstool.php +++ b/cis/private/profile/urlaubstool.php @@ -36,8 +36,8 @@ require_once('../../../include/globals.inc.php'); require_once('../../../include/sprache.class.php'); -$sprache = getSprache(); -$lang = new sprache(); +$sprache = getSprache(); +$lang = new sprache(); $lang->load($sprache); $p = new phrasen($sprache); @@ -45,7 +45,6 @@ if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); $content_resturlaub = ''; -$content = ''; $resturlaubstage = '0'; $mehrarbeitsstunden = '0'; $anspruch = '25'; @@ -177,52 +176,62 @@ if((isset($_GET['delete']) || isset($_POST['delete']))) //Eintragung speichern if(isset($_GET['speichern']) && isset($_GET['wtag'])) { - $vertretung=$_GET['vertretung_uid']; - $erreichbar=$_GET['erreichbar']; - if($erreichbar=='') + $vertretung = $_GET['vertretung_uid']; + + $bn = new benutzer(); + if($vertretung != '' && !$bn->load($vertretung)) { - $erreichbar='n'; + $vgmail.='
'.$p->t('zeitsperre/vertretungNichtKorrekt').''; + $error = true; } - $wtag=$_GET['wtag']; - $akette[0]=$wtag[0]; - $ekette[0]=$wtag[0]; - for($i=1,$j=0;$iUrlaubEingetragen($uid, $akette[$i], $ekette[$i])) + //Pruefen ob bereits ein Urlaub in den markierten Bereichen vorhanden ist und ggf Abbrechen + //Das Problem sollte nur beim manuellen Refresh der Seite auftreten + $error=false; + for($i=0;$it('zeitsperre/urlaubBereitsEingetragen').''; - $error=true; - break; + $zeitsperre = new zeitsperre(); + + if($zeitsperre->UrlaubEingetragen($uid, $akette[$i], $ekette[$i])) + { + $vgmail.='
'.$p->t('zeitsperre/urlaubBereitsEingetragen').''; + $error=true; + break; + } } } - + if(!$error) { for($i=0;$inew = true; $zeitsperre->zeitsperretyp_kurzbz='Urlaub'; $zeitsperre->mitarbeiter_uid=$uid; @@ -239,98 +248,71 @@ if(isset($_GET['speichern']) && isset($_GET['wtag'])) $zeitsperre->erreichbarkeit=$erreichbar; $zeitsperre->freigabeamum=''; $zeitsperre->freigabevon=''; - + if(!$zeitsperre->save()) + { + $error = true; echo $zeitsperre->errormsg; - + } + } - //Mail an Vorgesetzten - $vorgesetzter = $ma->getVorgesetzte($uid); - if($vorgesetzter) + if(!$error) { - $to=''; - foreach($ma->vorgesetzte as $vg) + //Mail an Vorgesetzten + $vorgesetzter = $ma->getVorgesetzte($uid); + if($vorgesetzter) { - if($to!='') + $to=''; + foreach($ma->vorgesetzte as $vg) { - $to.=', '.$vg.'@'.DOMAIN; + if($to!='') + { + $to.=', '.$vg.'@'.DOMAIN; + } + else + { + $to.=$vg.'@'.DOMAIN; + } } - else + + $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;$it('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n"; + } + + //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])); + + $message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n". + APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr; + + $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message); + if($mail->send()) + { + $vgmail="".$p->t('urlaubstool/freigabemailWurdeVersandt',array($to)).""; + } + else + { + $vgmail="
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!"; } - } - //$to = 'oesi@technikum-wien.at'; - $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;$it('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n"; - } - - //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])); - - $message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n". - APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr; - - $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message); - if($mail->send()) - { - $vgmail="".$p->t('urlaubstool/freigabemailWurdeVersandt',array($to)).""; } else { - $vgmail="
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!"; + $vgmail="
".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden').""; } - } - else - { - $vgmail="
".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden').""; - } - //Mail an Vertretung. Wird derzeit nicht gewuenscht. - /* - if($vertretung!='') - { - $to = $vertretung.'@'.DOMAIN; - - $benutzer = new benutzer(); - $benutzer->load($uid); - $datumsbereich = ''; - - for($i=0;$it('urlaubstool/keineVertretungEingetragen').""; } - - $message = $p->t('urlaubstool/mailtextVertretung', array ($benutzer->nachname,$benutzer->vorname,$datumsbereich)); - //"Dies ist eine automatische Mail. \n". - // "$benutzer->nachname $benutzer->vorname hat neuen Urlaub eingetragen und sie wurden als Vertretung angegeben:\n"; - - - $mail = new mail($to, 'vilesci@'.DOMAIN,'Urlaubsvertretung für '.$benutzer->nachname.' '.$benutzer->vorname.'', $message); - if($mail->send()) - { - $vtmail="".$p->t('urlaubstool/vertretungsmailWurdeVersandt',$to)."!"; - } - else - { - $vtmail="
".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',$to)."!"; - } - } - else - { - $vtmail="
".$p->t('urlaubstool/keineVertretungEingetragen').""; - }*/ - if($vertretung=='') - { - $vtmail="
".$p->t('urlaubstool/keineVertretungEingetragen').""; } } @@ -363,7 +345,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) { $wvon=date("Y-m-d",mktime(0, 0, 0, 12 , $mendev-($wotag-1), ($jahre[$wjahr])-1)); } - else + else { $wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat) , $mendev-($wotag-1), ($jahre[$wjahr]))); } @@ -371,7 +353,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) { $wbis=date("Y-m-d",mktime(0, 0, 0, 1 , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1)); } - else + else { $wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+2) , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr])); } @@ -433,16 +415,14 @@ $PHP_SELF = $_SERVER['PHP_SELF']; $datum_obj = new datum(); ?> - + - + - loadAddons(); foreach($addon_obj->result as $addon) { if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) - echo ''; + { + echo ' + '; + } } // Wenn Seite fertig geladen ist Addons aufrufen echo ' -'; + if(typeof addon !== \'undefined\') + { + for(i in addon) + { + addon[i].init("cis/private/profile/urlaubstool.php", {uid:\''.$uid.'\'}); + } + } + }); + '; ?>