diff --git a/ChangeLog b/ChangeLog index f716768589a..2da9d45364d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,7 +15,9 @@ Fix: [ bug #1528 ] Leopard Services numeration module description is not transla Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas Fix: [ bug #1534 ] Unknown error when deleting a product photo under special circumstances Fix: Update impayees.php -Fix: Fix Link product, In list view and label product +Fix: Link product, In list view and label product +Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to. +Fix: When disabled, all fields to add time into task line must be disabled. ***** ChangeLog for 3.5.4 compared to 3.5.3 ***** Fix: Hide title of event when agenda module disabled. diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 43148045e81..b596ba911ae 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2755,7 +2755,7 @@ class Form * Show a form to select a project * * @param int $page Page - * @param int $socid Id third party + * @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id) * @param int $selected Id pre-selected project * @param string $htmlname Name of select field * @return void @@ -3713,7 +3713,7 @@ class Form } elseif ($typehour=='text') { - print ''; + print ''; } print $langs->trans('Hours'). " "; print ''; + 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/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index f8b991969e1..086d44254c8 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -1287,18 +1287,8 @@ if ($action == 'create') $form->select_types_paiements(isset($_POST['mode_reglement_id'])?$_POST['mode_reglement_id']:$mode_reglement_id,'mode_reglement_id'); print ''; - // Project - if (! empty($conf->projet->enabled)) - { - $formproject=new FormProjets($db); - - $langs->load('projects'); - print ''.$langs->trans('Project').''; - $formproject->select_projects(-1, $projectid, 'projectid'); - print ''; - } - - print ''.$langs->trans('NotePublic').''; + // Public note + print ''.$langs->trans('NotePublic').''; print ''; $doleditor = new DolEditor('note_public', GETPOST('note_public'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); @@ -1822,11 +1812,11 @@ else print ''; if ($action == 'classify') { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,'projectid'); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:'-1', $object->fk_project, 'projectid'); } else { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,'none'); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none'); } print ''; print ''; diff --git a/htdocs/projet/activity/list.php b/htdocs/projet/activity/list.php index e9cb8568b65..61683aa18b4 100644 --- a/htdocs/projet/activity/list.php +++ b/htdocs/projet/activity/list.php @@ -114,8 +114,6 @@ $title=$langs->trans("TimeSpent"); if ($mine) $title=$langs->trans("MyTimeSpent"); -llxHeader("",$title,""); - //$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,$mine,1); $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); // Return all project i have permission on. I want my tasks and some of my task may be on a public projet that is not my project @@ -133,6 +131,9 @@ $tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0,$user,($project->id?$pr //var_dump($taskrole); + +llxHeader("",$title,""); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num); @@ -156,8 +157,18 @@ print ''.$langs->trans("Progress").''; print ''.$langs->trans("TimeSpent").''; print ''.$langs->trans("AddDuration").''; print "\n"; -projectLinesb($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine); +// By default, we can edit only tasks we are assigned to +$restricteditformytask=(empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS)?1:0); + +if (count($tasksarray) > 0) +{ + projectLinesb($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); +} +else +{ + print ''.$langs->trans("NoTasks").''; +} print ""; print ''; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index b9ebc7ae5de..36a8e26cf38 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -65,7 +65,8 @@ if ($action == 'addtimespent' && $user->rights->projet->creer) } if (empty($_POST["userid"])) { - setEventMessage($langs->trans('ErrorUserNotAffectedToTask'),'errors'); + $langs->load("errors"); + setEventMessage($langs->trans('ErrorUserNotAssignedToTask'),'errors'); $error++; } @@ -327,9 +328,13 @@ if ($id > 0 || ! empty($ref)) // Contributor print ''; - $contactoftask=$object->getListContactId('internal'); + $restrictaddtimetocontactoftask=0; + if (empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS)) + { + $restrictaddtimetocontactoftask=$object->getListContactId('internal'); + } print img_object('','user'); - print $form->select_dolusers($_POST["userid"]?$_POST["userid"]:$user->id,'userid',0,'',0,'',$contactoftask); + print $form->select_dolusers($_POST["userid"]?$_POST["userid"]:$user->id,'userid',0,'',0,'',$restrictaddtimetocontactoftask); // Note: If user is not allowed it will be disabled into combo list and userid not posted print ''; // Note