From 85c6aa08fc0ce9bd97efa29f59f619773179683a Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Wed, 23 Sep 2020 12:45:00 +0200 Subject: [PATCH] fix bug for empty projekt and projektphasen --- cis/private/tools/zeitaufzeichnung.php | 6 +++--- include/projekt.class.php | 7 +++++-- include/projektphase.class.php | 26 ++++++++++++++------------ 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 4802b08ab..c5aff4ef6 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -727,7 +727,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum ('.$data[2].')
'; elseif (!empty($data[6]) && !$projects_of_user->checkProjectInCorrectTime($data[6], $data[2], $data[3])) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; } elseif (checkVals($data[5],$data[6],$data[7],$data[8])) { @@ -869,12 +869,12 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $saveerror = 0; if (!$projects_of_user->checkProjectInCorrectTime($projekt_kurzbz, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; $saveerror = 1; } elseif (!$projectphase->checkProjectphaseInCorrectTime($projektphase_id, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt.
'; $saveerror = 1; } elseif (isset($_POST['genPause']) && (isset($_POST['save']) || isset($_POST['edit']))) diff --git a/include/projekt.class.php b/include/projekt.class.php index dc5144fb8..5cfa0ed9c 100644 --- a/include/projekt.class.php +++ b/include/projekt.class.php @@ -523,6 +523,8 @@ class projekt extends basis_db */ public function checkProjectInCorrectTime($projekt_kurzbz, $give_project_start, $give_projekt_ende) { + if(empty($projekt_kurzbz)) + return true; try { $projekt = $this->getProjectByKurzbz($projekt_kurzbz); @@ -546,7 +548,7 @@ class projekt extends basis_db } catch (Exception $e) { - error_log('Exception abgefangen: ', $e->getMessage(), "\n"); + error_log('Exception abgefangen: ', $e->getMessage(), "\n"); } } @@ -554,7 +556,8 @@ class projekt extends basis_db { $qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz); - if ($result = $this->db_query($qry)) { + if ($result = $this->db_query($qry)) + { $row = $this->db_fetch_object($result); $obj = new projekt(); diff --git a/include/projektphase.class.php b/include/projektphase.class.php index e12f2c458..a0e2b5c6b 100644 --- a/include/projektphase.class.php +++ b/include/projektphase.class.php @@ -581,25 +581,27 @@ public function getFortschritt($projektphase_id) public function checkProjectphaseInCorrectTime($projektphase_id, $given_projectphase_start, $given_projektphase_ende) { + if(empty($projektphase_id)) + return true; try { $projektphase = $this->getProjectphaseById($projektphase_id); if(strtotime($projektphase->start)) - { - $projektphase_start = date('Y-m-d', strtotime($projektphase->start)); - } + { + $projektphase_start = date('Y-m-d', strtotime($projektphase->start)); + } else - { - $projektphase_start = NULL; - } + { + $projektphase_start = NULL; + } if(strtotime($projektphase->ende)) - { - $projektphase_ende = date('Y-m-d', strtotime($projektphase->ende)); - } + { + $projektphase_ende = date('Y-m-d', strtotime($projektphase->ende)); + } else - { - $projektphase_ende = NULL; - } + { + $projektphase_ende = NULL; + } $given_start = date('Y-m-d', strtotime($given_projectphase_start)); $given_ende = date('Y-m-d', strtotime($given_projektphase_ende));