mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Sperrdatum bei Zeitsperren, Erweiterte Zeiteintragungsfeatures wenn Projekte
zugeordnet sind
This commit is contained in:
@@ -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> </td>';
|
||||
else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </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> </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>";
|
||||
}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
@@ -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
@@ -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';
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user