From 9554ea00a818977d6923b86e4347b9090fb857d0 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 27 Jan 2025 08:53:00 +0100 Subject: [PATCH 1/4] FIX can not delete files in task card --- htdocs/projet/tasks/task.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index fbf8fdc1e45..264462594f2 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -72,7 +72,10 @@ if ($reshook < 0) { } if ($id > 0 || $ref) { - $object->fetch($id, $ref); + $ret = $object->fetch($id, $ref); + if ($ret > 0) { + $projectstatic->fetch($object->fk_project); + } } // Security check @@ -235,7 +238,7 @@ if ($action == 'remove_file' && $user->hasRight('projet', 'creer')) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $langs->load("other"); - $upload_dir = $conf->project->dir_output; + $upload_dir = $conf->project->dir_output."/".dol_sanitizeFileName($projectstatic->ref)."/".dol_sanitizeFileName($object->ref); $file = $upload_dir.'/'.dol_sanitizeFileName(GETPOST('file')); $ret = dol_delete_file($file); @@ -254,7 +257,6 @@ $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); $formproject = new FormProjets($db); -$result = $projectstatic->fetch($object->fk_project); $title = $object->ref; if (!empty($withproject)) { @@ -739,7 +741,7 @@ if ($id > 0 || !empty($ref)) { /* * Generated documents */ - $filename = dol_sanitizeFileName($projectstatic->ref)."/".dol_sanitizeFileName($object->ref); + $filename = ''; $filedir = $conf->project->dir_output."/".dol_sanitizeFileName($projectstatic->ref)."/".dol_sanitizeFileName($object->ref); $urlsource = $_SERVER["PHP_SELF"]."?id=".$object->id; $genallowed = ($user->hasRight('projet', 'lire')); From 5e88f9b415975e573c94ec6310a2e927aa681338 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 27 Jan 2025 09:48:29 +0100 Subject: [PATCH 2/4] FIX avoid php warnings --- htdocs/core/lib/project.lib.php | 1 + htdocs/projet/class/project.class.php | 3 +++ 2 files changed, 4 insertions(+) diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 4776907192f..23ae5d8b032 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -2743,6 +2743,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks } print ''; + $alttext = ''; if ($objp->opp_percent && $objp->opp_amount) { $opp_weighted_amount = $objp->opp_percent * $objp->opp_amount / 100; $alttext = $langs->trans("OpportunityWeightedAmount").' '.price($opp_weighted_amount, 0, '', 1, -1, 0, $conf->currency); diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index cf7cc5558a4..a7b99b90df0 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -2197,6 +2197,9 @@ class Project extends CommonObject $date = explode('-', $obj->element_date); $week_number = getWeekNumber($date[2], $date[1], $date[0]); } + if (!isset($this->monthWorkLoadPerTask[$week_number][$obj->fk_element])) { + $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = 0; + } '@phan-var-force int $week_number'; // Needed because phan considers it might be null if (empty($weekalreadyfound[$week_number])) { $this->monthWorkLoad[$week_number] = $obj->element_duration; From 25ab0e7f9b9d1e83ee68a5a61ee22baa2a297d0b Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 27 Jan 2025 10:03:02 +0100 Subject: [PATCH 3/4] FIX wrong type --- htdocs/projet/class/project.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index a7b99b90df0..a3bdd034b9d 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -2197,15 +2197,15 @@ class Project extends CommonObject $date = explode('-', $obj->element_date); $week_number = getWeekNumber($date[2], $date[1], $date[0]); } - if (!isset($this->monthWorkLoadPerTask[$week_number][$obj->fk_element])) { - $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = 0; - } '@phan-var-force int $week_number'; // Needed because phan considers it might be null if (empty($weekalreadyfound[$week_number])) { $this->monthWorkLoad[$week_number] = $obj->element_duration; $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = $obj->element_duration; } else { $this->monthWorkLoad[$week_number] += $obj->element_duration; + if (!isset($this->monthWorkLoadPerTask[$week_number][$obj->fk_element])) { + $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = array(); + } $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] += $obj->element_duration; } $weekalreadyfound[$week_number] = 1; From 968f3dbaa1d0c734e64f9d5dc9a431d29fc5ec18 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 27 Jan 2025 10:04:35 +0100 Subject: [PATCH 4/4] FIX phpstan tu me soules ! --- htdocs/projet/class/project.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index a3bdd034b9d..a8f684acf22 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -2204,7 +2204,7 @@ class Project extends CommonObject } else { $this->monthWorkLoad[$week_number] += $obj->element_duration; if (!isset($this->monthWorkLoadPerTask[$week_number][$obj->fk_element])) { - $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = array(); + $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] = 0; } $this->monthWorkLoadPerTask[$week_number][$obj->fk_element] += $obj->element_duration; }