From 615a55eccc7cff90c0f0a93d15174560c4a06a96 Mon Sep 17 00:00:00 2001
From: ma0068
+ '.$p->t("zeitaufzeichnung/zeitaufzeichnungVon").' '.$db->convert_html_chars($bn->vorname).' '.$db->convert_html_chars($bn->nachname).'
';
+echo '
+
+
+';
// Wenn Kartennummer übergeben wurde dann hole uid von Karteninhaber
if($kartennummer != '')
{
@@ -1772,6 +1792,54 @@ if ($projekt->getProjekteMitarbeiter($user, true))
echo '';
//echo '';
+ // $test = '2022-02-01';
+ // echo "hello " . $test . "
+
+
";
+ //
+ // $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 '
+ //
+ //
+ //
+ // ';
+ //
+ // echo '
+ //
+ //
+ //
+ // TESTAUSGABEN
+ //
+ //
+ //
+ //
+ // ';
+
+
+
+
$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
diff --git a/cis/private/tools/zeitaufzeichnung_zeitsperren.php b/cis/private/tools/zeitaufzeichnung_zeitsperren.php
index 2ab602c29..eb52bb84e 100644
--- a/cis/private/tools/zeitaufzeichnung_zeitsperren.php
+++ b/cis/private/tools/zeitaufzeichnung_zeitsperren.php
@@ -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 ''.$p->t('zeitaufzeichnung/zeitsperreVorhanden', [$day, $zeitsperren[$day]]).'
+ //
+ //
+ // TESTAUSGABEN
+ //
+ //
+ //
';
+ 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);
}
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index 681916c26..b28a305f8 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -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;
diff --git a/locale/de-AT/zeitaufzeichnung.php b/locale/de-AT/zeitaufzeichnung.php
index 22bf69918..af7d15b58 100644
--- a/locale/de-AT/zeitaufzeichnung.php
+++ b/locale/de-AT/zeitaufzeichnung.php
@@ -66,3 +66,4 @@ $this->phrasen['zeitaufzeichnung/zeitraumZuKurz']='Zeitraum zu kurz für automat
$this->phrasen['zeitaufzeichnung/supportAnfragen']='
Supportanfragen unter
zeiterfassung@technikum-wien.at
Achtung: Für den Tag %s existiert eine ganztägige Zeitsperre vom Typ %s!
'; +$this->phrasen['zeitaufzeichnung/zeitsperreVorhanden1']='Für diesen Tag ist bereits eine ganztägige Zeitsperre eingetragen!';