Sperrdatum bei Zeitsperren, Erweiterte Zeiteintragungsfeatures wenn Projekte

zugeordnet sind
This commit is contained in:
Gerald Raab
2018-09-17 16:54:26 +02:00
parent 0898ad8c9e
commit 5ca09b8ddc
5 changed files with 39 additions and 6 deletions
+34 -3
View File
@@ -33,6 +33,7 @@ require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/mail.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/zeitaufzeichnung.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -44,6 +45,8 @@ $uid = get_uid();
$PHP_SELF = $_SERVER['PHP_SELF'];
$typen_arr = array("Urlaub", "PflegeU", "ZA", "Krank", "DienstF", "DienstV");
if(isset($_GET['type']))
$type=$_GET['type'];
@@ -65,6 +68,17 @@ if(isset($_GET['uid']))
$datum_obj = new datum();
$ma= new mitarbeiter();
// definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist
$zasperre = new zeitaufzeichnung();
if ($sperrdat = $zasperre->getEintragungGesperrtBisForUser($uid))
$gesperrt_bis = $sperrdat;
else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '')
$gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS;
else
$gesperrt_bis = '2015-08-31';
//echo $gesperrt_bis;
//Stundentabelleholen
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
die($db->db_last_error());
@@ -268,6 +282,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
{
$error=false;
$error_msg='';
//von-datum pruefen
if(isset($_POST['vondatum']) && !$datum_obj->checkDatum($_POST['vondatum']))
{
@@ -290,6 +306,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
if (@checkdate($date[1], $date[0], $date[2]))
{
$vondatum=$date[2].$date[1].$date[0];
$vondatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
}
else
{
@@ -327,7 +344,12 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
}
//von-datum pruefen TODO
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
{
$error=true;
$error_msg .= $p->t('zeitsperre/vorSperrdatum');
}
$zeitsperre = new zeitsperre();
@@ -448,7 +470,11 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
//besitzer dieses datensatzes ist
if($zeit->mitarbeiter_uid==$uid)
{
if($zeit->delete($_GET['id']))
if ($zeit->vondatum < $gesperrt_bis && in_array($zeit->zeitsperretyp_kurzbz,$typen_arr))
{
echo "<span class='error'>".$p->t('zeitsperre/vorSperrdatum')."</span>";
}
else if($zeit->delete($_GET['id']))
{
echo $p->t('global/erfolgreichgelöscht');
}
@@ -473,6 +499,7 @@ if($result = $db->db_query($qry))
$erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung;
}
}
//liste aller zeitsperren ausgeben
if(count($zeit->result)>0)
{
@@ -499,9 +526,13 @@ if(count($zeit->result)>0)
<td align='center'>".($row->freigabeamum!=''?'Ja':'')."</td>";
if ($row->zeitsperretyp_kurzbz == 'DienstV')
$content_table .= '<td>&nbsp;</td>';
else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
$content_table .= '<td>&nbsp;</td>';
else
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
$content_table .= '<td>&nbsp;</td>';
else if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
{
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
}
+1 -1
View File
@@ -987,7 +987,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
<input type="text" class="datepicker_datum" id="von_datum" name="von_datum" value="'.$db->convert_html_chars($datum->formatDatum($von, $format='d.m.Y')).'" size="9">
<input onchange="checkZeiten()" type="text" class="timepicker" id="von_uhrzeit" name="von_uhrzeit" value="'.$db->convert_html_chars($datum->formatDatum($von, $format='H:i')).'" size="4">
</td>';
if ($za_simple == 0)
if ($za_simple == 0 || $anzprojekte > 0)
{
echo '
<td align="center">
+2 -2
View File
@@ -754,7 +754,7 @@ or not exists
//check if addon casetime is installed
$qrytable = "
SELECT EXISTS(
SELECT *
SELECT 1
FROM information_schema.tables
WHERE
table_schema = 'addon' AND
@@ -763,7 +763,7 @@ or not exists
";
$res = $this->db_query($qrytable);
if ($this->db_fetch_row($res)[0]===true)
if ($this->db_fetch_row($res)[0] == 't')
{
//check if sent timesheets for the UID exist
$where = "uid=".$this->db_add_param($user);
Regular → Executable
+1
View File
@@ -42,4 +42,5 @@ $this->phrasen['zeitsperre/legendeErreichbarkeit']='E...Erreichbarkeit (n=nicht
$this->phrasen['zeitsperre/legendeVertretung']='V...Vertretung';
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Durchwahl';
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='Die angegebene Vertretung kann nicht gefunden werden. Bitte prüfen Sie die Vertretung und versuchen Sie es erneut.';
$this->phrasen['zeitsperre/vorSperrdatum']='Datum liegt vor dem Sperrdatum der Zeitliste';
?>
Regular → Executable
+1
View File
@@ -42,4 +42,5 @@ $this->phrasen['zeitsperre/legendeErreichbarkeit']='A...Availability (n=not avai
$this->phrasen['zeitsperre/legendeVertretung']='S...Substitute';
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Extension';
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='The selected substitute is invalid. Please check the substitute an try again.';
$this->phrasen['zeitsperre/vorSperrdatum']='Date is before last open timesheet date';
?>