diff --git a/htdocs/projet/tasks/fiche.php b/htdocs/projet/tasks/fiche.php index d0e29e1c20a83c8745e9543ed9a315a740a56cec..683322653049cfbfdbc6ebfcde0c5cf31836fbb9 100644 --- a/htdocs/projet/tasks/fiche.php +++ b/htdocs/projet/tasks/fiche.php @@ -270,6 +270,8 @@ else $tasksarray=$task->getTasksArray(0, 0, $project->id, $socid, 0); // We load also tasks limited to a particular user $tasksrole=($_REQUEST["mode"]=='mine' ? $task->getUserRolesForProjectsOrTasks(0,$user,$project->id,0) : ''); + //var_dump($tasksarray); + //var_dump($tasksrole); print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; diff --git a/htdocs/projet/tasks/task.class.php b/htdocs/projet/tasks/task.class.php index 1b8f0613a025753f495f17b6b3739be6198d3555..e77a59cf2a608df8e7f69bbd067a1502c0e5e5ee 100644 --- a/htdocs/projet/tasks/task.class.php +++ b/htdocs/projet/tasks/task.class.php @@ -442,11 +442,12 @@ class Task extends CommonObject //print $usert.'-'.$userp.'-'.$projectid.'-'.$socid.'-'.$mode.'<br>'; // List of tasks (does not care about permissions. Filtering will be done later) - $sql = "SELECT p.rowid as projectid, p.ref, p.title as plabel, p.public,"; - $sql.= " t.rowid, t.label, t.fk_task_parent, t.duration_effective"; + $sql = "SELECT p.rowid as projectid, p.ref, p.title as plabel, p.public"; + $sql.= ", t.rowid as taskid, t.label, t.fk_task_parent, t.duration_effective"; if ($mode == 0) { - $sql.= " FROM (".MAIN_DB_PREFIX."projet as p, ".MAIN_DB_PREFIX."projet_task as t)"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; + $sql.= ", ".MAIN_DB_PREFIX."projet_task as t"; $sql.= " WHERE t.fk_projet = p.rowid"; $sql.= " AND p.entity = ".$conf->entity; if ($socid) $sql.= " AND p.fk_soc = ".$socid; @@ -476,9 +477,9 @@ class Task extends CommonObject $obj = $this->db->fetch_object($resql); - if ((! $obj->public) && ($userp || $usert)) // If not public and we ask a filter on user + if ((! $obj->public) && (is_object($userp) || is_object($usert))) // If not public and we ask a filter on user { - if (! $this->getUserRolesForProjectsOrTasks($userp, $usert, $obj->projectid, $obj->rowid)) + if (! $this->getUserRolesForProjectsOrTasks($userp, $usert, $obj->projectid, $obj->taskid)) { $error++; } @@ -486,7 +487,7 @@ class Task extends CommonObject if (! $error) { - $tasks[$i]->id = $obj->rowid; + $tasks[$i]->id = $obj->taskid; $tasks[$i]->projectid = $obj->projectid; $tasks[$i]->projectref = $obj->ref; $tasks[$i]->projectlabel = $obj->plabel; @@ -542,8 +543,8 @@ class Task extends CommonObject $sql.= " AND ec.statut = 4"; if ($projectid) { - if ($userp) $sql.= " AND pt.fk_projet = ".$projectid; - if ($usert) $sql.= " AND pt.rowid = ".$taskid; + if ($userp || $usert) $sql.= " AND pt.fk_projet = ".$projectid; + //if ($usert) $sql.= " AND pt.rowid = ".$taskid; } if ($taskid) {