diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php
index e4ecb884a1ce0..ce345a44a6830 100644
--- a/htdocs/core/lib/project.lib.php
+++ b/htdocs/core/lib/project.lib.php
@@ -443,16 +443,17 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
/**
* Output a task line
*
- * @param string &$inc ?
- * @param string $parent ?
- * @param Object $lines ?
- * @param int &$level ?
- * @param string &$projectsrole ?
- * @param string &$tasksrole ?
- * @param int $mytask 0 or 1 to enable only if task is a task i am affected to
+ * @param string &$inc ?
+ * @param string $parent ?
+ * @param Object $lines ?
+ * @param int &$level ?
+ * @param string &$projectsrole ?
+ * @param string &$tasksrole ?
+ * @param string $mine Show only task lines I am assigned to
+ * @param int $restricteditformytask 0=No restriction, 1=Enable add time only if task is a task i am affected to
* @return $inc
*/
-function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mytask=0)
+function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0)
{
global $user, $bc, $langs;
global $form, $projectstatic, $taskstatic;
@@ -475,99 +476,104 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr
$lastprojectid=$lines[$i]->fk_project;
}
- print "
\n";
-
- // Project
- print "";
- $projectstatic->id=$lines[$i]->fk_project;
- $projectstatic->ref=$lines[$i]->projectref;
- $projectstatic->public=$lines[$i]->public;
- $projectstatic->label=$langs->transnoentitiesnoconv("YourRole").': '.$projectsrole[$lines[$i]->fk_project];
- print $projectstatic->getNomUrl(1);
- print " ";
-
- // Ref
- print '';
- $taskstatic->id=$lines[$i]->id;
- $taskstatic->ref=$lines[$i]->id;
- print $taskstatic->getNomUrl(1);
- print ' ';
-
- // Label task
- print "";
- for ($k = 0 ; $k < $level ; $k++)
+ // If we want all or we have a role on task, we show it
+ if (empty($mine) || ! empty($tasksrole[$lines[$i]->id]))
{
- print " ";
- }
- $taskstatic->id=$lines[$i]->id;
- $taskstatic->ref=$lines[$i]->label;
- print $taskstatic->getNomUrl(0);
- print " \n";
-
- // Date start
- print '';
- print dol_print_date($lines[$i]->date_start,'dayhour');
- print ' ';
-
- // Date end
- print '';
- print dol_print_date($lines[$i]->date_end,'dayhour');
- print ' ';
-
- // Planned Workload
- print '';
- if ($lines[$i]->planned_workload) print convertSecondToTime($lines[$i]->planned_workload,'allhourmin');
- else print '--:--';
- print ' ';
-
- // Progress declared %
- print '';
- print $lines[$i]->progress.' %';
- print ' ';
-
- // Time spent
- print '';
- if ($lines[$i]->duration)
- {
- print '';
- print convertSecondToTime($lines[$i]->duration,'allhourmin');
- print ' ';
- }
- else print '--:--';
- print " \n";
-
- $disabledproject=1;$disabledtask=1;
- //print "x".$lines[$i]->fk_project;
- //var_dump($lines[$i]);
- //var_dump($projectsrole[$lines[$i]->fk_project]);
- // If at least one role for project
- if ($lines[$i]->public || ! empty($projectsrole[$lines[$i]->fk_project]) || $user->rights->projet->all->creer)
- {
- $disabledproject=0;
- $disabledtask=0;
- }
- // If mytask and no role on task
- if ($mytask && empty($tasksrole[$lines[$i]->id]))
- {
- $disabledtask=1;
+ print " \n";
+
+ // Project
+ print "";
+ $projectstatic->id=$lines[$i]->fk_project;
+ $projectstatic->ref=$lines[$i]->projectref;
+ $projectstatic->public=$lines[$i]->public;
+ $projectstatic->label=$langs->transnoentitiesnoconv("YourRole").': '.$projectsrole[$lines[$i]->fk_project];
+ print $projectstatic->getNomUrl(1);
+ print " ";
+
+ // Ref
+ print '';
+ $taskstatic->id=$lines[$i]->id;
+ $taskstatic->ref=$lines[$i]->id;
+ print $taskstatic->getNomUrl(1);
+ print ' ';
+
+ // Label task
+ print "";
+ for ($k = 0 ; $k < $level ; $k++)
+ {
+ print " ";
+ }
+ $taskstatic->id=$lines[$i]->id;
+ $taskstatic->ref=$lines[$i]->label;
+ print $taskstatic->getNomUrl(0);
+ print " \n";
+
+ // Date start
+ print '';
+ print dol_print_date($lines[$i]->date_start,'dayhour');
+ print ' ';
+
+ // Date end
+ print '';
+ print dol_print_date($lines[$i]->date_end,'dayhour');
+ print ' ';
+
+ // Planned Workload
+ print '';
+ if ($lines[$i]->planned_workload) print convertSecondToTime($lines[$i]->planned_workload,'allhourmin');
+ else print '--:--';
+ print ' ';
+
+ // Progress declared %
+ print '';
+ print $lines[$i]->progress.' %';
+ print ' ';
+
+ // Time spent
+ print '';
+ if ($lines[$i]->duration)
+ {
+ print '';
+ print convertSecondToTime($lines[$i]->duration,'allhourmin');
+ print ' ';
+ }
+ else print '--:--';
+ print " \n";
+
+ $disabledproject=1;$disabledtask=1;
+ //print "x".$lines[$i]->fk_project;
+ //var_dump($lines[$i]);
+ //var_dump($projectsrole[$lines[$i]->fk_project]);
+ // If at least one role for project
+ if ($lines[$i]->public || ! empty($projectsrole[$lines[$i]->fk_project]) || $user->rights->projet->all->creer)
+ {
+ $disabledproject=0;
+ $disabledtask=0;
+ }
+ // If $restricteditformytask is on and I have no role on task, i disable edit
+ if ($restricteditformytask && empty($tasksrole[$lines[$i]->id]))
+ {
+ $disabledtask=1;
+ }
+
+ print '';
+ $s =$form->select_date('',$lines[$i]->id,'','','',"addtime",1,0,1,$disabledtask);
+ $s.=' ';
+ $s.=$form->select_duration($lines[$i]->id,'',$disabledtask,'text');
+ $s.=' ';
+ print $s;
+ print ' ';
+ print '';
+ if ((! $lines[$i]->public) && $disabledproject) print $form->textwithpicto('',$langs->trans("YouAreNotContactOfProject"));
+ else if ($disabledtask) print $form->textwithpicto('',$langs->trans("TaskIsNotAffectedToYou"));
+ print ' ';
+
+ print " \n";
}
-
- print '';
- $s =$form->select_date('',$lines[$i]->id,'','','',"addtime",1,0,1,$disabledtask);
- $s.=' ';
- $s.=$form->select_duration($lines[$i]->id,'',$disabledtask,'text');
- $s.=' ';
- print $s;
- print ' ';
- print '';
- if ((! $lines[$i]->public) && $disabledproject) print $form->textwithpicto('',$langs->trans("YouAreNotContactOfProject"));
- else if ($disabledtask) print $form->textwithpicto('',$langs->trans("TaskIsNotAffectedToYou"));
- print ' ';
-
- print "\n";
+
$inc++;
$level++;
- if ($lines[$i]->id) projectLinesb($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mytask);
+ if ($lines[$i]->id) projectLinesb($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
$level--;
}
else
diff --git a/htdocs/projet/activity/list.php b/htdocs/projet/activity/list.php
index 719d178d0cef7..9eebe84bb8737 100644
--- a/htdocs/projet/activity/list.php
+++ b/htdocs/projet/activity/list.php
@@ -133,11 +133,14 @@
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num);
// Filter on user
-dol_fiche_head('');
-print ''.$langs->trans("User").' ';
-print ''.$user->getLoginUrl(1).' ';
-print '
';
-dol_fiche_end();
+/* dol_fiche_head('');
+ print ''.$langs->trans("User").' ';
+ print '';
+ if ($mine) print $user->getLoginUrl(1);
+ print ' ';
+ print '
';
+ dol_fiche_end();
+*/
print '