Adaptierungen Zeiterfassungen von Sprint177

This commit is contained in:
ma0068
2022-02-03 14:49:29 +01:00
parent 06408ba66e
commit 615a55eccc
4 changed files with 129 additions and 31 deletions
+76 -10
View File
@@ -651,7 +651,6 @@ echo '
}
projphasenhtml += "<\/option>";
}
$("#projektphase").append(projphasenhtml);
$("#projektphaseformgroup").show();
}
@@ -785,7 +784,9 @@ echo '
{
$.ajax
({
type: "GET",
url: "zeitaufzeichnung_zeitsperren.php",
dataType: "json",
data:
{
day: day,
@@ -793,15 +794,25 @@ echo '
},
success: function (json)
{
if (json.length > 1)
if (json.length > 0)
{
var output = "";
for (var i = 0; i < json.length; i++)
{
$("#buttonSave").hide();
output = "Für den Tag " + json[i].day + " ist bereits eine Zeitsperre vom Typ " + json[i].typ + " eingetragen!";
alert("'.$p->t("zeitaufzeichnung/zeitsperreVorhanden1").'");
$("#buttonSave").attr("disabled","disabled");
$("#triggerPhasenReset").hide();
}
else
{
$("#buttonSave").show();
}
$("#outputZs").html(json);
}
else
{
$("#buttonSave").prop("disabled",false);
output = "";
}
$("#outputZeitsperren").html(output);
}
});
}
@@ -811,8 +822,17 @@ echo '
<body>
';
echo '<h1>'.$p->t("zeitaufzeichnung/zeitaufzeichnungVon").' '.$db->convert_html_chars($bn->vorname).' '.$db->convert_html_chars($bn->nachname).'</h1>';
echo '
<tr>
<td colspan="1">
<p id="outputZeitsperren" style="color:red; font-weight:bold;" >
</p>
</td>
</tr>
';
// Wenn Kartennummer übergeben wurde dann hole uid von Karteninhaber
if($kartennummer != '')
{
@@ -1772,6 +1792,54 @@ if ($projekt->getProjekteMitarbeiter($user, true))
echo '<a href="?alle" style="text-decoration:none"><input type="button" value="'.$p->t('zeitaufzeichnung/alleAnzeigen').'"></a>';
//echo '<input type="submit" value="'.($alle===true?$p->t('zeitaufzeichnung/xTageAnsicht', array(fehlt!)):$p->t('zeitaufzeichnung/alleAnzeigen')).'" name="'.($alle===true?'normal':'alle').'">';
// $test = '2022-02-01';
// echo "hello " . $test . "<br>";
//
// $zs = new zeitsperre();
// $sperreVorhanden = false;
// $stunde = '09';
// $zs->getSperreByDate($user, $test, $stunde);
//var_dump($zs->result);
// foreach ($zs->result as $z)
// {
// if ($z->zeitsperretyp_kurzbz)
// {
// $sperreVorhanden = true;
// echo "zeitsperre vorhanden: ". $z->zeitsperretyp_kurzbz . " am: " . $test;
// }
// else {
// echo "zeitsperre nicht vorhanden";
// }
// }
//Testausgaben
// echo '
// <tr>
// <td>&nbsp;</td>
// <td colspan="1">
// <span id="testausgaben">
// TESTAUSGABEN
// </span>
// </td>
// </tr>
//
// ';
//
// echo '
// <tr>
// <td>&nbsp;</td>
// <td colspan="1">
// <span id="outputTest" style="color:red" >
// TESTAUSGABEN
// </span>
// </td>
// </tr>
// ';
$za = new zeitaufzeichnung();
if(isset($_GET['filter']))
$za->getListeProjekt($_GET['filter']);
@@ -1788,8 +1856,6 @@ if ($projekt->getProjekteMitarbeiter($user, true))
$dr->getDienstreisenUser($user, 180);
$dr_arr = $dr->result;
//var_dump($dr->result);
if(count($za->result)>0)
{
//Uebersichtstabelle
@@ -26,14 +26,16 @@
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/globals.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/Excel/excel.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/zeitaufzeichnung.class.php');
require_once('../../../include/projekt.class.php');
require_once('../../../include/zeitsperre.class.php');
//require_once('../../../include/datum.class.php');
// require_once('../../../include/Excel/excel.php');
//require_once('../../../include/benutzer.class.php');
// require_once('../../../include/mitarbeiter.class.php');
//require_once('../../../include/zeitaufzeichnung.class.php');
// require_once('../../../include/projekt.class.php');
$sprache = getSprache();
@@ -44,16 +46,42 @@ if ((isset($_GET['uid'])) && (isset($_GET['day'])))
$uid = $_GET['uid'];
$day = $_GET['day'];
$zs = new zeitsperre();
$zs->getZeitsperrenForZeitaufzeichnung($uid, '180');
$zeitsperren = $zs->result;
//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitaufzeichnung
//des uebergebenen Users anzeigen
if (isset($_GET['uid']) && $_GET['uid'] != $uid)
{
$p = new phrasen();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (array_key_exists($day, $zeitsperren))
{
echo '<span style="color:red"><b>'.$p->t('zeitaufzeichnung/zeitsperreVorhanden', [$day, $zeitsperren[$day]]).'</b></span><br>';
if ($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
}
else
{
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
}
}
else
$zs = new zeitsperre();
$sperreVorhanden = false;
$typ = '';
$zs->getSperreByDate($uid, $day, null);
$result_obj = array();
$now = new DateTime($day);
$now = $now->format('d.m.Y');
foreach ($zs->result as $z)
{
echo "";
if ($z->zeitsperretyp_kurzbz)
{
$item['typ'] = $z->zeitsperretyp_kurzbz;
$item['day'] = $now;
$item['sperreVorhanden'] = true;
$result_obj[] = $item;
}
}
//var_dump($result_obj);
echo json_encode($result_obj);
}
+10 -7
View File
@@ -368,10 +368,10 @@ class zeitsperre extends basis_db
*
* @param $user
* @param $datum
* @param $stunde
* @param $stunde optional, wird nur abgefragt, wenn != null
* @return true wenn ok, false im Fehlerfall
*/
public function getSperreByDate($user, $datum, $stunde)
public function getSperreByDate($user, $datum, $stunde=null)
{
$qry = "
SELECT
@@ -380,16 +380,19 @@ class zeitsperre extends basis_db
campus.tbl_zeitsperre
WHERE
vondatum<=".$this->db_add_param($datum)."
AND bisdatum>=".$this->db_add_param($datum)." AND
((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).") AND
mitarbeiter_uid=".$this->db_add_param($user);
AND bisdatum>=".$this->db_add_param($datum);
if(!is_null($stunde))
$qry.=" AND
((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).")";
$qry .= "AND mitarbeiter_uid=".$this->db_add_param($user);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new zeitsperre();
$obj->zeitsperre_id = $row->zeitsperre_id;
+1
View File
@@ -66,3 +66,4 @@ $this->phrasen['zeitaufzeichnung/zeitraumZuKurz']='Zeitraum zu kurz für automat
$this->phrasen['zeitaufzeichnung/supportAnfragen']='<p><hr>Supportanfragen unter<br><a href="mailto:zeiterfassung@technikum-wien.at">zeiterfassung@technikum-wien.at</a></p>';
$this->phrasen['zeitaufzeichnung/homeofficeNichtErlaubt']='Homeoffice für den Tag %s nicht erlaubt';
$this->phrasen['zeitaufzeichnung/zeitsperreVorhanden']='<p>Achtung: Für den Tag %s existiert eine ganztägige Zeitsperre vom Typ %s!</p>';
$this->phrasen['zeitaufzeichnung/zeitsperreVorhanden1']='Für diesen Tag ist bereits eine ganztägige Zeitsperre eingetragen!';