diff --git a/htdocs/lib/project.lib.php b/htdocs/lib/project.lib.php
index dfd595fff8e..f48c9484116 100644
--- a/htdocs/lib/project.lib.php
+++ b/htdocs/lib/project.lib.php
@@ -215,6 +215,8 @@ function PLinesb(&$inc, $parent, $lines, &$level, &$projectsrole)
{
global $user, $bc, $langs;
global $form;
+
+ $lastprojectid=0;
$projectstatic = new Project($db);
$taskstatic = new Task($db);
@@ -223,12 +225,17 @@ function PLinesb(&$inc, $parent, $lines, &$level, &$projectsrole)
for ($i = 0 ; $i < sizeof($lines) ; $i++)
{
- if ($parent == 0)
- $level = 0;
+ if ($parent == 0) $level = 0;
if ($lines[$i]->fk_parent == $parent)
{
- $var = !$var;
+ // Break on a new project
+ if ($parent == 0 && $lines[$i]->projectid != $lastprojectid)
+ {
+ $var = !$var;
+ $lastprojectid=$lines[$i]->projectid;
+ }
+
print "
\n";
// Project
diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php
index d4c1f50e4a4..9b88fa1e4b0 100644
--- a/htdocs/projet/tasks/contact.php
+++ b/htdocs/projet/tasks/contact.php
@@ -158,7 +158,7 @@ llxHeader('', $langs->trans("Task"));
$html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic = new Contact($db);
-$project = new Project($db);
+$projectstatic = new Project($db);
/* *************************************************************************** */
@@ -176,8 +176,11 @@ if ($id > 0 || ! empty($ref))
if ( $task->fetch($id,$ref) > 0)
{
- $result=$project->fetch($task->fk_project);
- if (! empty($project->socid)) $project->societe->fetch($project->socid);
+ $result=$projectstatic->fetch($task->fk_project);
+ if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
+
+ // To verify role of users
+ $userAccess = $projectstatic->restrictedProjectArea($user);
$head = task_prepare_head($task);
dol_fiche_head($head, 'contact', $langs->trans("Task"), 0, 'projecttask');
@@ -200,13 +203,13 @@ if ($id > 0 || ! empty($ref))
// Project
print ' '.$langs->trans("Project").' ';
- print $project->getNomUrl(1);
+ print $projectstatic->getNomUrl(1);
print ' ';
// Customer
print "".$langs->trans("Company")." ";
print '';
- if ($project->societe->id > 0) print $project->societe->getNomUrl(1);
+ if ($projectstatic->societe->id > 0) print $projectstatic->societe->getNomUrl(1);
else print ' ';
print ' ';
@@ -271,7 +274,7 @@ if ($id > 0 || ! empty($ref))
print ' ';
// Line to add an external contact. Only if project linked to a third party.
- if ($project->socid)
+ if ($projectstatic->socid)
{
$var=!$var;
print "";
@@ -281,7 +284,7 @@ if ($id > 0 || ! empty($ref))
print '';
print '';
- $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$project->societe->id;
+ $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$projectstatic->societe->id;
$selectedCompany = $formcompany->selectCompaniesForNewContact($task, 'id', $selectedCompany, 'newcompany');
print ' ';
diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php
index e2a893726f4..8903d98183f 100644
--- a/htdocs/projet/tasks/task.php
+++ b/htdocs/projet/tasks/task.php
@@ -122,6 +122,9 @@ if ($taskid)
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
+
+ // To verify role of users
+ $userAccess = $projectstatic->restrictedProjectArea($user);
if ($mesg) print $mesg;