From f532f85d8ca5c48877fde1efc0806f98f15f6d02 Mon Sep 17 00:00:00 2001 From: HENRY Florian Date: Fri, 26 Sep 2025 20:54:21 +0200 Subject: [PATCH 01/14] fix: remove space in global conf test (#35484) --- htdocs/compta/facture/class/facture.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 81d90568684..1cf2eb63f87 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -3240,7 +3240,7 @@ class Facture extends CommonInvoice $this->date = dol_now(); $this->date_lim_reglement = $this->calculate_date_lim_reglement(); } - if (!empty($conf->global-> INVOICE_CHECK_POSTERIOR_DATE)) { + if (!empty($conf->global->INVOICE_CHECK_POSTERIOR_DATE)) { $last_of_type = $this->willBeLastOfSameType(true); if (!$last_of_type[0]) { $this->error = $langs->transnoentities("ErrorInvoiceIsNotLastOfSameType", $this->ref, dol_print_date($this->date, 'day'), dol_print_date($last_of_type[1], 'day')); From 8bb63c596365626d7fcc5a22b1cd4ecff5d4f7af Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Sat, 27 Sep 2025 12:06:40 +0200 Subject: [PATCH 02/14] Test on autoassign --- .github/workflows/pr-18.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 47fb32ac8ea..7281f43278e 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -38,4 +38,5 @@ jobs: run: | gh pr edit "$url" --add-reviewer rycks gh pr edit "$url" --add-reviewer lvessiller-opendsi + gh pr edit "$url" --add-reviewer eldy From acf5e30b30d889ea90e371edeaaece4cd0968467 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 27 Sep 2025 12:07:43 +0200 Subject: [PATCH 03/14] FIX missing entity filter (#35517) --- htdocs/holiday/month_report.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/holiday/month_report.php b/htdocs/holiday/month_report.php index ab1cd83ee0b..3ec2ef666b4 100644 --- a/htdocs/holiday/month_report.php +++ b/htdocs/holiday/month_report.php @@ -156,7 +156,7 @@ $year_month = sprintf("%04d", $search_year).'-'.sprintf("%02d", $search_month); $sql = "SELECT cp.rowid, cp.ref, cp.fk_user, cp.date_debut, cp.date_fin, cp.fk_type, cp.description, cp.halfday, cp.statut as status"; $sql .= " FROM ".MAIN_DB_PREFIX."holiday cp"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."user u ON cp.fk_user = u.rowid"; -$sql .= " WHERE cp.rowid > 0"; +$sql .= " WHERE cp.entity IN (".getEntity('holiday').") AND cp.rowid > 0"; $sql .= " AND cp.statut = ".Holiday::STATUS_APPROVED; $sql .= " AND ("; $sql .= " (date_format(cp.date_debut, '%Y-%m') = '".$db->escape($year_month)."' OR date_format(cp.date_fin, '%Y-%m') = '".$db->escape($year_month)."')"; From 4d5d72cdb5d11a2525fe935044680b0d09df749b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 1 Oct 2025 01:02:21 +0200 Subject: [PATCH 04/14] Fix download of zip should be ok if no installmodule.lock file exists --- htdocs/admin/modulehelp.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/admin/modulehelp.php b/htdocs/admin/modulehelp.php index c097fa1e843..3175d49ad1f 100644 --- a/htdocs/admin/modulehelp.php +++ b/htdocs/admin/modulehelp.php @@ -364,8 +364,9 @@ if ($mode == 'desc') { $tmpdirofmoduletoshow = preg_replace('/^'.preg_quote(DOL_DOCUMENT_ROOT, '/').'/', '', (string) $dirofmodule); $textexternal .= '
'.$langs->trans("Origin").': '.$langs->trans("ExternalModule").' - '.$langs->trans("InstalledInto", $tmpdirofmoduletoshow); + $installmoduleslock = DOL_DATA_ROOT.'/installmodules.lock'; global $dolibarr_allow_download_external_modules; - if (!empty($dolibarr_allow_download_external_modules) && preg_match('/\/custom\//', (string) $dirofmodule)) { + if ((!file_exists($installmoduleslock) || !empty($dolibarr_allow_download_external_modules)) && preg_match('/\/custom\//', (string) $dirofmodule)) { // Add a link to download a zip of the module $textexternal .= ' '.img_picto('', 'download').''; } From faf2971ff7fe70bd1d9835b87663fd4cb1ad9499 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 13:54:11 +0200 Subject: [PATCH 05/14] Try to fix Ci 18 --- .github/workflows/pr-18.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 7281f43278e..4643b902997 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -34,7 +34,7 @@ jobs: - name: Assign reviewer env: GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} - url: ${{ github.event.pull_request.html_url }} + url: ${{ github.event.pull_request_target.html_url }} run: | gh pr edit "$url" --add-reviewer rycks gh pr edit "$url" --add-reviewer lvessiller-opendsi From 283efbbffe002589abf89fd819c3525b422ae4fd Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 13:57:10 +0200 Subject: [PATCH 06/14] Test CI --- .github/workflows/pr-18.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 4643b902997..b11003676d2 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -34,8 +34,10 @@ jobs: - name: Assign reviewer env: GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} - url: ${{ github.event.pull_request_target.html_url }} + url: ${{ github.event.pull_request.html_url }} run: | + echo "url=$url"" + echo "env.url=${{env.url}}" gh pr edit "$url" --add-reviewer rycks gh pr edit "$url" --add-reviewer lvessiller-opendsi gh pr edit "$url" --add-reviewer eldy From d25847602b4dc6e4b5befadeea629ab1a0adec90 Mon Sep 17 00:00:00 2001 From: Eric - CAP-REL <1468823+rycks@users.noreply.github.com> Date: Wed, 1 Oct 2025 13:59:27 +0200 Subject: [PATCH 07/14] missing fk_user_creat value (#35576) --- htdocs/compta/cashcontrol/class/cashcontrol.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/compta/cashcontrol/class/cashcontrol.class.php b/htdocs/compta/cashcontrol/class/cashcontrol.class.php index fd4b38b5f66..e03758aa6f9 100644 --- a/htdocs/compta/cashcontrol/class/cashcontrol.class.php +++ b/htdocs/compta/cashcontrol/class/cashcontrol.class.php @@ -196,6 +196,7 @@ class CashControl extends CommonObject $sql .= ", cash"; $sql .= ", cheque"; $sql .= ", card"; + $sql .= ", fk_user_creat"; $sql .= ") VALUES ("; //$sql .= "'(PROV)', "; $sql .= ((int) $conf->entity); @@ -210,6 +211,7 @@ class CashControl extends CommonObject $sql .= ", ".price2num($this->cash, 'MT'); $sql .= ", ".price2num($this->cheque, 'MT'); $sql .= ", ".price2num($this->card, 'MT'); + $sql .= ", ".((int) $user->id); $sql .= ")"; $this->db->begin(); From 80494870c0eb5507b707878489bf7592d199269d Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 14:33:56 +0200 Subject: [PATCH 08/14] Try to fix CI 18 --- .github/workflows/pr-18.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index b11003676d2..9ca068bd9c5 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -36,9 +36,8 @@ jobs: GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} url: ${{ github.event.pull_request.html_url }} run: | - echo "url=$url"" echo "env.url=${{env.url}}" - gh pr edit "$url" --add-reviewer rycks - gh pr edit "$url" --add-reviewer lvessiller-opendsi - gh pr edit "$url" --add-reviewer eldy + gh pr edit "${{env.url}}" --add-reviewer rycks + gh pr edit "${{env.url}}" --add-reviewer lvessiller-opendsi + gh pr edit "${{env.url}}" --add-reviewer eldy From d9563ac0ed8700d472564adeee5e953d236e7d2a Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 1 Oct 2025 14:49:29 +0200 Subject: [PATCH 09/14] Update pr-18.yaml (#35577) Co-authored-by: Laurent Destailleur From a3969c1d2cca5a7402d36fa5c6474170ae32f449 Mon Sep 17 00:00:00 2001 From: Marc de Lima Lucio <68746600+marc-dll@users.noreply.github.com> Date: Wed, 1 Oct 2025 16:21:05 +0200 Subject: [PATCH 10/14] FIX: php 8+ warnings when creating deposits (#35582) --- htdocs/compta/facture/card.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index bb96c2c2f81..cce03935d69 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -1507,6 +1507,9 @@ if (empty($reshook)) { } foreach ($TTotalByTva as $tva => &$total) { + if (empty($amountdeposit[$tva])) { + $amountdeposit[$tva] = 0; + } $coef = $total / $srcobject->total_ttc; // Calc coef $am = $amount * $coef; $amount_ttc_diff += $am; @@ -1531,6 +1534,9 @@ if (empty($reshook)) { if ($qualified) { $totalamount += $lines[$i]->total_ht; // Fixme : is it not for the customer ? Shouldn't we take total_ttc ? $tva_tx = $lines[$i]->tva_tx; + if (empty($amountdeposit[$tva_tx])) { + $amountdeposit[$tva_tx] = 0; + } $amountdeposit[$tva_tx] += ($lines[$i]->total_ht * $valuedeposit) / 100; } } From 6c207f78d867a4b776622a6951cd5db4f1a92fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 1 Oct 2025 16:24:54 +0200 Subject: [PATCH 11/14] fix llx_actioncomm.sql (#35583) --- htdocs/install/mysql/tables/llx_actioncomm.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index 54eac887362..f7dc71f178f 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -80,9 +80,9 @@ create table llx_actioncomm fk_element integer DEFAULT NULL, -- For link to an element (proposal, invoice, order, ...) elementtype varchar(255) DEFAULT NULL, -- For link to an element (proposal, invoice, order, ...) - ip varchar(250), --ip used to create record (for public submission page) + ip varchar(250), -- ip used to create record (for public submission page) - fk_bookcal_calendar integer DEFAULT NULL, --fk_bookcal_calendar used to link booking to bookcal calendar + fk_bookcal_calendar integer DEFAULT NULL, -- fk_bookcal_calendar used to link booking to bookcal calendar import_key varchar(14), extraparams varchar(255) -- for other parameters with json format From 64cf2513bdd82aaf8f858ac5c129a5ecab5662ed Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 16:54:52 +0200 Subject: [PATCH 12/14] Clean CI --- .github/workflows/pr-18.yaml | 3 +-- .github/workflows/test.yaml | 28 ---------------------------- 2 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 .github/workflows/test.yaml diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 9ca068bd9c5..467e071487f 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -39,5 +39,4 @@ jobs: echo "env.url=${{env.url}}" gh pr edit "${{env.url}}" --add-reviewer rycks gh pr edit "${{env.url}}" --add-reviewer lvessiller-opendsi - gh pr edit "${{env.url}}" --add-reviewer eldy - + #gh pr edit "${{env.url}}" --add-reviewer eldy diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml deleted file mode 100644 index 97f218fce4d..00000000000 --- a/.github/workflows/test.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: Test github actions -on: - workflow_dispatch: - pull_request: - types: [opened, reopened, synchronize] - push: - -env: - ENVGHT: ${{ secrets.GITHUB_TOKEN }} - ENVGHU: ${{ github.token }} - TEST_ACCESS_KEY: ${{ secrets.TEST_ACCESS_KEY }} - TEST_VAR_REPO: ${{ vars.TEST_VAR_REPO }} - ENVLOCAL: "varenvlocal" - -jobs: - testjob: - runs-on: ubuntu-latest - steps: - - name: Log - run: | - echo "Run action by ${{ github.actor }}" - echo "github.token=${{ github.token }}" - echo "secrets.GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" - echo "GITHUB_EVENT_PATH=$GITHUB_EVENT_PATH" - echo "repo-token: ${{secrets.GITHUB_TOKEN}}" - echo "secret repository TEST_ACCESS_KEY: ${{secrets.TEST_ACCESS_KEY}}" - echo "variable repository : ${{vars.TEST_VAR_REPO}}" - echo "ENVLOCAL: ${{env.ENVLOCAL}}" From 52ae202affd0e99c6dc02770718a3a645f0d1c66 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 16:59:49 +0200 Subject: [PATCH 13/14] Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 --- .github/workflows/pr-18.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 467e071487f..45b5507f870 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -16,6 +16,11 @@ on: branches: - "18.0" + +permissions: + pull-requests: write + + jobs: pr18: runs-on: ubuntu-latest From e9869bb5da53e21e02124a8629ef10bcf85a584c Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Wed, 1 Oct 2025 17:19:57 +0200 Subject: [PATCH 14/14] Fix yml --- .github/workflows/exakat.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/exakat.yml b/.github/workflows/exakat.yml index 0b33ede5f4f..7bf7a5e16e5 100644 --- a/.github/workflows/exakat.yml +++ b/.github/workflows/exakat.yml @@ -6,8 +6,7 @@ on: schedule: - cron: "0 20 1 * *" workflow_dispatch: - branches: - - develop + permissions: contents: read @@ -22,7 +21,7 @@ jobs: - name: Exakat uses: docker://exakat/exakat-ga with: - ignore_rules: 'Classes/UseInstanceof,Performances/PrePostIncrement,Functions/UndefinedFunctions,Functions/WrongNumberOfArguments,Functions/WrongTypeWithCall,Variables/UndefinedVariable,Classes/DontUnsetProperties,Classes/NonPpp,Classes/StaticMethodsCalledFromObject,Classes/UseClassOperator,Functions/UsesDefaultArguments,Php/NoClassInGlobal,Php/ShouldUseCoalesce,Php/WrongTypeForNativeFunction,Structures/AddZero,Structures/DropElseAfterReturn,Structures/IfWithSameConditions,Structures/MergeIfThen,Structures/NestedTernary,Structures/ElseIfElseif,Structures/ExitUsage,Structures/RepeatedPrint,Structures/RepeatedRegex,Structures/SameConditions,Structures/SwitchWithoutDefault,Structures/ShouldMakeTernary,Structures/UselessParenthesis,Structures/UseConstant' + ignore_rules: 'Classes/UseInstanceof,Performances/PrePostIncrement,Functions/UndefinedFunctions,Functions/WrongNumberOfArguments,Functions/WrongTypeWithCall,Variables/UndefinedVariable,Classes/DontUnsetProperties,Classes/NonPpp,Classes/StaticMethodsCalledFromObject,Classes/UseClassOperator,Functions/UsesDefaultArguments,Php/NoClassInGlobal,Php/ShouldUseCoalesce,Php/WrongTypeForNativeFunction,Structures/AddZero,Structures/DropElseAfterReturn,Structures/IfWithSameConditions,Structures/MergeIfThen,Structures/NestedTernary,Structures/ElseIfElseif,Structures/ExitUsage,Structures/RepeatedPrint,Structures/RepeatedRegex,Structures/SameConditions,Structures/SwitchWithoutDefault,Structures/ShouldMakeTernary,Structures/UselessParenthesis,Structures/UseConstant' ignore_dirs: '/htdocs/includes/,/htdocs/install/doctemplates/,/build/,/dev/,/doc/,/scripts/,/test/' - file_extensions: php - project_reports: Perfile \ No newline at end of file + file_extensions: php + project_reports: Perfile