From 4a9e86a74cd9cd9bf299a4383b5b2a64e8829867 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 15 May 2015 11:21:33 +0200 Subject: [PATCH] getProjekteMitarbeiter um Phasen erweitert Die funktion getProjekteMitarbeiter liefert nun auch optional die Projekte, wenn ein Mitarbeiter zu einer Projektphase zugeteilt ist --- cis/private/tools/zeitaufzeichnung.php | 4 ++-- include/projekt.class.php | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index b46371df7..0fa793395 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -471,11 +471,11 @@ if(isset($_GET['type']) && $_GET['type']=='edit') } } -//Projekte holen fuer zu denen der Benutzer zugeteilt ist +//Projekte holen zu denen der Benutzer zugeteilt ist $projekt = new projekt(); -if($projekt->getProjekteMitarbeiter($user)) +if($projekt->getProjekteMitarbeiter($user, true)) { //if(count($projekt->result)>0) //{ diff --git a/include/projekt.class.php b/include/projekt.class.php index b449fbe80..322b32966 100755 --- a/include/projekt.class.php +++ b/include/projekt.class.php @@ -343,13 +343,15 @@ class projekt extends basis_db } /** - * Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist + * Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist. + * Optional auch mit den Zuteilungen zu Projektphasen. * @param $mitarbeiter_uid + * @param $projektphasen boolean Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert. */ - function getProjekteMitarbeiter($mitarbeiter_uid) + function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen=false) { - $qry = "SELECT - distinct tbl_projekt.* + $qry = "SELECT DISTINCT + tbl_projekt.* FROM fue.tbl_ressource JOIN fue.tbl_projekt_ressource USING(ressource_id) @@ -357,6 +359,20 @@ class projekt extends basis_db WHERE (beginn<=now() or beginn is null) AND (ende>=now() OR ende is null) AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); + + if ($projektphasen==true) + $qry.= "UNION + + SELECT DISTINCT + tbl_projekt.* + FROM + fue.tbl_projektphase + JOIN fue.tbl_projekt USING (projekt_kurzbz) + JOIN fue.tbl_projekt_ressource USING (projektphase_id) + JOIN fue.tbl_ressource USING (ressource_id) + WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null) + AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null) + AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); if($result = $this->db_query($qry)) {