mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'bug-33290/ZeitsperreEndeDatumFehlenderMaxwert'
This commit is contained in:
@@ -79,7 +79,12 @@ else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GE
|
||||
else
|
||||
$gesperrt_bis = '2015-08-31';
|
||||
|
||||
//echo $gesperrt_bis;
|
||||
//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
|
||||
$maxDauerZS = 730;
|
||||
|
||||
if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
|
||||
$maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
|
||||
}
|
||||
|
||||
//Stundentabelleholen
|
||||
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
|
||||
@@ -216,7 +221,7 @@ function checkdatum()
|
||||
return false;
|
||||
}
|
||||
|
||||
var Datum, Tag, Monat,Jahr,vonDatum,bisDatum, diff;
|
||||
var Datum, Tag, Monat, Jahr, vonDatum, bisDatum, vonDatumDate, bisDatumDate, diff, diffTime, diffmax;
|
||||
|
||||
Datum = document.getElementById('vondatum').value;
|
||||
Tag = Datum.substring(0, 2);
|
||||
@@ -231,39 +236,45 @@ function checkdatum()
|
||||
Jahr = Datum.substring(6, 10);
|
||||
|
||||
vonDatum = Jahr + '' + Monat + '' + Tag;
|
||||
vonDatumDate = Jahr + '-' + Monat + '-' + Tag;
|
||||
|
||||
Datum = document.getElementById('bisdatum').value;
|
||||
Tag = Datum.substring(0, 2);
|
||||
Monat = Datum.substring(3, 5);
|
||||
if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
|
||||
{
|
||||
if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12) {
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumMonat');?>' + document.getElementById('bisdatum').value + ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
|
||||
document.getElementById('bisdatum').focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
Jahr = Datum.substring(6, 10);
|
||||
|
||||
bisDatum = Jahr + '' + Monat + '' + Tag;
|
||||
bisDatumDate = Jahr + '-' + Monat + '-' + Tag;
|
||||
|
||||
diff=bisDatum-vonDatum;
|
||||
bisDatumDate = new Date(bisDatumDate);
|
||||
vonDatumDate = new Date(vonDatumDate);
|
||||
|
||||
if (vonDatum>bisDatum)
|
||||
{
|
||||
diffTime = bisDatumDate.getTime() - vonDatumDate.getTime();
|
||||
diff = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
||||
diffmax = <?php echo $maxDauerZS ;?>
|
||||
|
||||
if (vonDatum > bisDatum) {
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatum');?> ' + document.getElementById('vondatum').value + ' <?php echo $p->t('zeitsperre/istGroesserAlsBisDatum');?> ' + document.getElementById('bisdatum').value);
|
||||
document.getElementById('vondatum').focus();
|
||||
return false;
|
||||
}
|
||||
else if (diff>14)
|
||||
{
|
||||
else if (diff > 14 && diff < diffmax) {
|
||||
Check = confirm('<?php echo $p->t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
|
||||
document.getElementById('bisdatum').focus();
|
||||
if (Check == false)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
} else if (diff >= diffmax) {
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumGroesserMax');?> ');
|
||||
document.getElementById('bisdatum').focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -446,6 +457,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
if (@checkdate($date[1], $date[0], $date[2]))
|
||||
{
|
||||
$bisdatum=$date[2].$date[1].$date[0];
|
||||
$bisdatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -464,6 +476,17 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
|
||||
}
|
||||
|
||||
//check if bis-Datum zu weit in der Zukunft
|
||||
$bis = new DateTime($bisdatum);
|
||||
$von = new DateTime($vondatum);
|
||||
|
||||
$intervall = $bis->diff($von);
|
||||
if ($intervall->days >= $maxDauerZS)
|
||||
{
|
||||
$error=true;
|
||||
$error_msg = $p->t('zeitsperre/bisDatumGroesserMax');
|
||||
}
|
||||
|
||||
//von-datum pruefen TODO
|
||||
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
|
||||
{
|
||||
|
||||
@@ -294,5 +294,4 @@ define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -47,6 +47,9 @@ define('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN',true);
|
||||
// Zeitaufzeichnung gesperrt_bis Datum YYYY-MM-DD
|
||||
define('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS','');
|
||||
|
||||
// maximale Dauer einer Zeitsperre in Tagen
|
||||
define('CIS_ZEITSPERREN_MAX_DAUER', 730);
|
||||
|
||||
// Anzeige des Links zur Noteneingabe in der LVA Uebersicht
|
||||
define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ $this->phrasen['zeitsperre/vonDatumMonat']='Von-Datum Monat';
|
||||
$this->phrasen['zeitsperre/bisDatumMonat']='Bis-Datum Monat';
|
||||
$this->phrasen['zeitsperre/istGroesserAlsBisDatum']='ist größer als das Bis-Datum';
|
||||
$this->phrasen['zeitsperre/vonDatum']='Von-Datum';
|
||||
$this->phrasen['zeitsperre/bisDatumGroesserMax']='BisDatum liegt zu weit in der Zukunft, nicht zulässig!';
|
||||
|
||||
$this->phrasen['zeitsperre/resturlaubstage']='Resturlaubstage';
|
||||
$this->phrasen['zeitsperre/aktuellerStand']='aktueller Stand';
|
||||
|
||||
@@ -26,6 +26,7 @@ $this->phrasen['zeitsperre/vonDatumMonat']='From-date month';
|
||||
$this->phrasen['zeitsperre/bisDatumMonat']='To-date month';
|
||||
$this->phrasen['zeitsperre/istGroesserAlsBisDatum']='is later than To-date';
|
||||
$this->phrasen['zeitsperre/vonDatum']='From-date';
|
||||
$this->phrasen['zeitsperre/bisDatumGroesserMax']='TO-Date value is too far in the future, action not permitted';
|
||||
|
||||
$this->phrasen['zeitsperre/resturlaubstage']='Carry-over days';
|
||||
$this->phrasen['zeitsperre/aktuellerStand']='Available vacation';
|
||||
|
||||
@@ -34,6 +34,7 @@ require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/phrasen.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -63,6 +64,16 @@ $message='';
|
||||
$error=false;
|
||||
$mlAbgeschickt = '';
|
||||
|
||||
//Phrasen
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
|
||||
$maxDauerZS = 730;
|
||||
|
||||
if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
|
||||
$maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
|
||||
}
|
||||
//prüfen, ob addon casetime aktiviert ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
@@ -205,6 +216,24 @@ if(isset($_POST['save']))
|
||||
if(!$berechtigt)
|
||||
die('Sie haben keine Berechtigung für diese Aktion');
|
||||
|
||||
//Validierungen Felder Bis-Datum und Von-Datum
|
||||
if($vondatum > $bisdatum)
|
||||
{
|
||||
$errormsg = $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
|
||||
$error=true;
|
||||
}
|
||||
|
||||
//Check if Bisdatum zu weit in der Zukunft
|
||||
$von = new DateTime($vondatum);
|
||||
$bis = new DateTime($bisdatum);
|
||||
|
||||
$intervall = $bis->diff($von);
|
||||
if ($intervall->days > $maxDauerZS)
|
||||
{
|
||||
$error=true;
|
||||
$errormsg = $p->t('zeitsperre/bisDatumGroesserMax');
|
||||
}
|
||||
|
||||
//Speichern der Daten
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
@@ -225,6 +254,8 @@ if(isset($_POST['save']))
|
||||
$zeitsperre->mitarbeiter_uid=$uid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$zeitsperre->zeitsperretyp_kurzbz=$zeitsperretyp_kurzbz;
|
||||
|
||||
Reference in New Issue
Block a user