diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php
index 9507b0f89..46842aab8 100755
--- a/cis/private/tools/zeitaufzeichnung.php
+++ b/cis/private/tools/zeitaufzeichnung.php
@@ -91,12 +91,12 @@ $fieldheadings = array(
if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung'))
{
$za_simple = 0;
- $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'LehreIntern', 'LehreExtern', 'Arztbesuch', 'Dienstreise', 'Behoerde', 'Ersatzruhe');
+ $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'LehreIntern', 'LehreExtern', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe');
}
else
{
$za_simple = 1;
- $activities = array('Arbeit', 'Pause', 'LehreIntern', 'LehreExtern', 'Arztbesuch', 'Dienstreise', 'Behoerde', 'Ersatzruhe');
+ $activities = array('Arbeit', 'Pause', 'LehreIntern', 'LehreExtern', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe');
}
$activities_str = "'".implode("','", $activities)."'";
@@ -415,9 +415,13 @@ echo '
bisDatum=Jahr+\'\'+Monat+\'\'+Tag+\'\'+Stunde+\'\'+Minute;
diff=bisDatum-vonDatum;
+ a = document.getElementById("aktivitaet");
+ akt = a.options[a.selectedIndex].value;
+ //alert(akt);
+
if (bisDatum>vonDatum)
{
- if (diff>9999)
+ if (diff>9999 && akt != "DienstreiseMT")
{
Check = confirm("'.$p->t("zeitaufzeichnung/zeitraumAuffallendHoch").'");
document.getElementById("bis_datum").focus();
@@ -741,7 +745,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
// An der FHTW wird ins Moodle verlinkt
if (CAMPUS_NAME == 'FH Technikum Wien')
echo '
'.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'
';
- else
+ else
echo ''.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'
';
}
if ($p->t("dms_link/fiktiveNormalarbeitszeit")!='')
@@ -904,7 +908,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
// $qry = "SELECT * FROM fue.tbl_aktivitaet where sort != 5 or sort is null ORDER by sort,beschreibung";
if($result = $db->db_query($qry))
{
- echo '';
+ echo '';
if ($za_simple == 0)
echo '-- '.$p->t('zeitaufzeichnung/keineAuswahl').' -- ';
//else
@@ -1077,6 +1081,11 @@ if($projekt->getProjekteMitarbeiter($user, true))
}
$summe=0;
+ $dr = new zeitaufzeichnung();
+ $dr->getDienstreisenUser($user);
+ $dr_arr = $dr->result;
+
+ //var_dump($dr->result);
if(count($za->result)>0)
{
@@ -1108,6 +1117,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
$wochensaldo = '00:00';
$pflichtpause = false;
+
foreach($za->result as $row)
{
$datumtag = $datum_obj->formatDatum($row->datum, 'Y-m-d');
@@ -1119,6 +1129,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
$tag = $datumtag;
if($tag!=$datumtag)
{
+
//if ($row->uid)
//{
if ($datum->formatDatum($tag,'N') == '6' || $datum->formatDatum($tag,'N') == '7')
@@ -1188,9 +1199,11 @@ if($projekt->getProjekteMitarbeiter($user, true))
'.$tagessaldo.$erstr.' '.date('H:i', ($pausesumme-3600)).'
';
if ($tag > $sperrdatum)
- echo '<- ';
+ echo '<- ';
+
+ echo ' ';
+
- echo '';
$tag=$datumtag;
$tagessumme='00:00';
@@ -1207,6 +1220,9 @@ if($projekt->getProjekteMitarbeiter($user, true))
//{
// echo ''.$datum->formatDatum($row->datum,'D d.m.Y').' ';
//}
+
+
+
}
// Nach jeder Woche eine Summenzeile einfuegen und eine neue Tabelle beginnen
$datumwoche = $datum_obj->formatDatum($row->datum, 'W');
@@ -1251,6 +1267,37 @@ if($projekt->getProjekteMitarbeiter($user, true))
$ersumme = '00:00';
$ersumme_woche = '00:00';
}
+
+ // Diestreisen NEU
+ if (array_key_exists($datumtag, $dr_arr))
+ {
+ $colspan=($za_simple)?4:7;
+ echo ''.$p->t('zeitaufzeichnung/dienstreise');
+ if (array_key_exists('start', $dr_arr[$datumtag]) && !array_key_exists('ende', $dr_arr[$datumtag]))
+ echo ' '.$p->t('global/beginn');
+ if (array_key_exists('ende', $dr_arr[$datumtag]) && !array_key_exists('start', $dr_arr[$datumtag]))
+ echo ' '.$p->t('global/ende');
+ echo ' ';
+ echo '';
+ if (array_key_exists('start', $dr_arr[$datumtag]))
+ echo $dr_arr[$datumtag]['start'];
+ echo ' ';
+ if (array_key_exists('ende', $dr_arr[$datumtag]))
+ echo $dr_arr[$datumtag]['ende'];
+ echo ' ';
+ echo ' ';
+ echo '';
+ if(!isset($_GET['filter']) && ($datumtag > $sperrdatum))
+ echo ''.$p->t("global/bearbeiten").' ';
+ echo " \n";
+ echo "";
+ if(!isset($_GET['filter']) && ($datumtag > $sperrdatum))
+ echo ''.$p->t("global/loeschen").' ';
+ echo " \n";
+ echo ' ';
+ unset($dr_arr[$datumtag]);
+ }
+
if ($row->uid)
{
$wochensumme = $datum_obj->sumZeit($wochensumme, $row->diff);
@@ -1314,8 +1361,11 @@ if($projekt->getProjekteMitarbeiter($user, true))
if ($row->aktivitaet_kurzbz == 'LehreExtern')
$extlehrearr[] = array("start"=>$row->start, "ende"=>$row->ende, "diff"=>$row->diff);
}
+
}
echo '';
+
+
if ($alle===false)
{
echo '
diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php
index 07c87cf50..fdd0bcdc1 100755
--- a/include/zeitaufzeichnung.class.php
+++ b/include/zeitaufzeichnung.class.php
@@ -487,7 +487,7 @@ class zeitaufzeichnung extends basis_db
$where = "uid=".$this->db_add_param($user);
if ($days!='')
$where.= " AND ende>(now() - INTERVAL '".$days." days')";
- $where_join = "and z.uid=".$this->db_add_param($user);
+ $where_join = "and z.aktivitaet_kurzbz != 'DienstreiseMT' and z.uid=".$this->db_add_param($user);
if ($days!='')
$where_join.= " AND z.ende>(now() - INTERVAL '".$days." days')";
if ($days=='')
@@ -540,6 +540,64 @@ class zeitaufzeichnung extends basis_db
}
}
+ /**
+ * Laedt die Zeitaufzeichnungen eines Users aufgefüllt mit lehren Tagen.
+ * Default: Die letzten 40 Tage
+ * @param string $user
+ * @param integer $days deafult: 40 Tage
+ */
+ public function getDienstreisenUser($user, $days='40')
+ {
+ $where = "uid=".$this->db_add_param($user);
+ if ($days!='')
+ $where.= " AND ende>(now() - INTERVAL '".$days." days')";
+ $where .= " AND aktivitaet_kurzbz = 'DienstreiseMT'";
+ $qry = "SELECT
+ zeitaufzeichnung_id, start::date as starttag, TO_CHAR(start, 'HH24:MI') as startzeit, ende::date as endtag, TO_CHAR(ende, 'HH24:MI') as endzeit
+ FROM campus.tbl_zeitaufzeichnung
+ where $where
+ ORDER BY ende DESC
+ ";
+
+ if($result = $this->db_query($qry))
+ {
+ $dr_arr = array();
+ while($row = $this->db_fetch_object($result))
+ {
+ if (array_key_exists($row->starttag, $dr_arr))
+ {
+ $dr_arr[$row->starttag]['start'] = $row->startzeit;
+ $dr_arr[$row->starttag]['id'] = $row->zeitaufzeichnung_id;
+ }
+ else
+ {
+ $dr_arr[$row->starttag] = array();
+ $dr_arr[$row->starttag]['start'] = $row->startzeit;
+ $dr_arr[$row->starttag]['id'] = $row->zeitaufzeichnung_id;
+ }
+ if (array_key_exists($row->endtag, $dr_arr))
+ {
+ $dr_arr[$row->endtag]['ende'] = $row->endzeit;
+ $dr_arr[$row->endtag]['id'] = $row->zeitaufzeichnung_id;
+ }
+ else
+ {
+ $dr_arr[$row->endtag] = array();
+ $dr_arr[$row->endtag]['ende'] = $row->endzeit;
+ $dr_arr[$row->endtag]['id'] = $row->zeitaufzeichnung_id;
+ }
+
+ $this->result = $dr_arr;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
/**
* Löscht sämtliche Einträge eines Users für einen Tag
* @param string $user
diff --git a/locale/de-AT/zeitaufzeichnung.php b/locale/de-AT/zeitaufzeichnung.php
old mode 100644
new mode 100755
index 9a475bc1d..e3a156469
--- a/locale/de-AT/zeitaufzeichnung.php
+++ b/locale/de-AT/zeitaufzeichnung.php
@@ -57,4 +57,4 @@ $this->phrasen['zeitaufzeichnung/stunden']='Stunden';
$this->phrasen['zeitaufzeichnung/taetigkeit']='Tätigkeit';
$this->phrasen['zeitaufzeichnung/keineprojekte']='keine Projekte vorhanden';
$this->phrasen['zeitaufzeichnung/summe']='Summe:';
-?>
+$this->phrasen['zeitaufzeichnung/dienstreise']='Dienstreise';
diff --git a/locale/en-US/zeitaufzeichnung.php b/locale/en-US/zeitaufzeichnung.php
old mode 100644
new mode 100755
index e7e92fa11..692e4f5b1
--- a/locale/en-US/zeitaufzeichnung.php
+++ b/locale/en-US/zeitaufzeichnung.php
@@ -57,4 +57,4 @@ $this->phrasen['zeitaufzeichnung/stunden']='Hours';
$this->phrasen['zeitaufzeichnung/taetigkeit']='Activity';
$this->phrasen['zeitaufzeichnung/keineprojekte']='no projects exist';
$this->phrasen['zeitaufzeichnung/summe']='Sum:';
-?>
\ No newline at end of file
+$this->phrasen['zeitaufzeichnung/dienstreise']='Business Trip';