mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c4683f71db |
@@ -21,7 +21,7 @@ class zeitaufzeichnung_import {
|
||||
protected $project;
|
||||
protected $phase;
|
||||
protected $limitdate;
|
||||
|
||||
|
||||
protected $zeit;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class zeitaufzeichnung_import {
|
||||
|
||||
$this->zeit = new zeitaufzeichnung();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
@@ -64,7 +64,7 @@ class zeitaufzeichnung_import {
|
||||
public function hasInfos() {
|
||||
return !empty($this->infos);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -96,15 +96,15 @@ class zeitaufzeichnung_import {
|
||||
$html .= '<span style="color:green;"><b>' . $msg . '</b></span><br>' . "\n";
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function OutputToHTML() {
|
||||
return $this->InfosToHTML() . $this->WarningsToHTML() . $this->ErrorsToHTML();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -112,7 +112,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addError($msg) {
|
||||
$this->errors[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -120,7 +120,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addWarning($msg) {
|
||||
$this->warnings[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -134,7 +134,7 @@ class zeitaufzeichnung_import {
|
||||
* @param string $uid The user id
|
||||
* @param string $day "Y-m-d" formatted datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkZeitsperren($uid, $day) {
|
||||
@@ -150,25 +150,25 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ": " . $this->p->t("zeitaufzeichnung/zeitsperreVorhanden", [$zsdate, $zs->result[0]->zeitsperretyp_kurzbz]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $date datetimestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkLimitdatum($date) {
|
||||
if ($this->datum->formatDatum($date, 'Y-m-d H:i:s') > $this->limitdate) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich da (' . $date . ') zu weit in der Zukunft liegt.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @param string $aktivitaet_kurzbz
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkDienstreise($start, $end, $aktivitaet_kurzbz) {
|
||||
@@ -179,11 +179,11 @@ class zeitaufzeichnung_import {
|
||||
.': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $end timestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkTagesgenau($end) {
|
||||
@@ -193,13 +193,13 @@ class zeitaufzeichnung_import {
|
||||
.': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $projekt_kurzbz
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkProjectInterval($projekt_kurzbz, $start, $end) {
|
||||
@@ -207,13 +207,13 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: (' . $start . ') (' . $end . ')');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPhaseInterval($phase, $start, $end) {
|
||||
@@ -222,4 +222,84 @@ class zeitaufzeichnung_import {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start datetime
|
||||
* @param string $end datetime
|
||||
* @return void
|
||||
*/
|
||||
protected function processPause($start, $end) {
|
||||
if (isset($_POST['genPause'])) {
|
||||
$p_start = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
$p_end = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$this->checkPauseInArbeitszeit($p_start, $p_end);
|
||||
$this->checkPauseValid($p_start, $p_end);
|
||||
$this->savePauseGeneric($start, $end);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start "Y-m-d H:i:s" formatted datetime
|
||||
* @param string $end "Y-m-d H:i:s" formatted datetime
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPauseInArbeitszeit($start, $end) {
|
||||
if ($this->zeit->start > $start || $this->zeit->ende < $end) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Pause außerhalb der Arbeitszeit');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start "Y-m-d H:i:s" formatted datetime
|
||||
* @param string $end "Y-m-d H:i:s" formatted datetime
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPauseValid($start, $end) {
|
||||
if ($start > $end) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Fehlerhafte Pausenzeiten');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start datetime
|
||||
* @param string $end datetime
|
||||
* @return void
|
||||
*/
|
||||
protected function savePauseGeneric($start, $end) {
|
||||
//Eintrag Arbeit bis zur Pause
|
||||
$ende = $this->zeit->ende;
|
||||
$this->zeit->ende = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
if (!$this->zeit->save()) {
|
||||
$this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $this->zeit->errormsg);
|
||||
}
|
||||
//Eintrag für die Pause
|
||||
$pause = new zeitaufzeichnung();
|
||||
$pause->new = true;
|
||||
$pause->insertamum = date('Y-m-d H:i:s');
|
||||
$pause->updateamum = date('Y-m-d H:i:s');
|
||||
$pause->updatevon = $this->user;
|
||||
$pause->insertvon = $this->user;
|
||||
$pause->uid = $this->user;
|
||||
$pause->aktivitaet_kurzbz = 'Pause';
|
||||
$pause->homeoffice = $this->zeit->homeoffice;
|
||||
$pause->start = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
$pause->ende = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$pause->beschreibung = '';
|
||||
if (!$pause->save()) {
|
||||
$this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $pause->errormsg);
|
||||
}
|
||||
// Eintrag Arbeit ab der Pause
|
||||
if ($this->zeit->new == false) {
|
||||
$this->zeit->new = true;
|
||||
$this->zeit->insertamum = date('Y-m-d H:i:s');
|
||||
$this->zeit->insertvon = $this->user;
|
||||
}
|
||||
|
||||
$this->zeit->start = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$this->zeit->ende = $ende;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -176,6 +176,8 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
$this->mapLehreIntern($data);
|
||||
$this->prepareZeitaufzeichnung($data);
|
||||
$this->checkImporttage($data[self::STARTDT]);
|
||||
$this->checkPauseInArbeitszeit($data[self::STARTDT], $data[self::ENDEDT]);
|
||||
$this->checkPauseValid($data[self::STARTDT], $data[self::ENDEDT]);
|
||||
$this->saveZeit($data[self::STARTDT], $data[self::ENDEDT]);
|
||||
} catch (Exception $ex) {
|
||||
$this->addError($ex->getMessage(), true);
|
||||
@@ -383,6 +385,8 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function savePause() {
|
||||
$pause = new zeitaufzeichnung();
|
||||
@@ -399,7 +403,7 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
$pause->homeoffice = $this->zeit->homeoffice;
|
||||
if(!$pause->save())
|
||||
{
|
||||
$this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg, true);
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -407,6 +411,7 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
* @param string $start datetimestring
|
||||
* @param string $end datetimestring
|
||||
* @return void
|
||||
|
||||
*/
|
||||
protected function saveZeit($start, $end) {
|
||||
if ($start != $end) {
|
||||
@@ -418,6 +423,7 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
} else {
|
||||
$this->anzahl++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -126,86 +126,6 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import {
|
||||
$this->zeit->kunde_uid = $kunde_uid;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start datetime
|
||||
* @param string $end datetime
|
||||
* @return void
|
||||
*/
|
||||
protected function processPause($start, $end) {
|
||||
if (isset($_POST['genPause'])) {
|
||||
$p_start = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
$p_end = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$this->checkPauseInArbeitszeit($p_start, $p_end);
|
||||
$this->checkPauseValid($p_start, $p_end);
|
||||
$this->savePause($start, $end);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start "Y-m-d H:i:s" formatted datetime
|
||||
* @param string $end "Y-m-d H:i:s" formatted datetime
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPauseInArbeitszeit($start, $end) {
|
||||
if ($this->zeit->start > $start || $this->zeit->ende < $end) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Pause außerhalb der Arbeitszeit');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start "Y-m-d H:i:s" formatted datetime
|
||||
* @param string $end "Y-m-d H:i:s" formatted datetime
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPauseValid($start, $end) {
|
||||
if ($start > $end) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Fehlerhafte Pausenzeiten');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $start datetime
|
||||
* @param string $end datetime
|
||||
* @return void
|
||||
*/
|
||||
protected function savePause($start, $end) {
|
||||
//Eintrag Arbeit bis zur Pause
|
||||
$ende = $this->zeit->ende;
|
||||
$this->zeit->ende = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
if (!$this->zeit->save()) {
|
||||
$this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $this->zeit->errormsg);
|
||||
}
|
||||
//Eintrag für die Pause
|
||||
$pause = new zeitaufzeichnung();
|
||||
$pause->new = true;
|
||||
$pause->insertamum = date('Y-m-d H:i:s');
|
||||
$pause->updateamum = date('Y-m-d H:i:s');
|
||||
$pause->updatevon = $this->user;
|
||||
$pause->insertvon = $this->user;
|
||||
$pause->uid = $this->user;
|
||||
$pause->aktivitaet_kurzbz = 'Pause';
|
||||
$pause->homeoffice = $this->zeit->homeoffice;
|
||||
$pause->start = $this->datum->formatDatum($start, 'Y-m-d H:i:s');
|
||||
$pause->ende = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$pause->beschreibung = '';
|
||||
if (!$pause->save()) {
|
||||
$this->addError($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': ' . $pause->errormsg);
|
||||
}
|
||||
// Eintrag Arbeit ab der Pause
|
||||
if ($this->zeit->new == false) {
|
||||
$this->zeit->new = true;
|
||||
$this->zeit->insertamum = date('Y-m-d H:i:s');
|
||||
$this->zeit->insertvon = $this->user;
|
||||
}
|
||||
|
||||
$this->zeit->start = $this->datum->formatDatum($end, 'Y-m-d H:i:s');
|
||||
$this->zeit->ende = $ende;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user