Commit graph

152292 commits

Author SHA1 Message Date
Laurent Destailleur
189b762162 Debug 2026-02-28 11:51:01 +01:00
Laurent Destailleur
e30a4376af Debug 2026-02-28 11:49:49 +01:00
Laurent Destailleur
5322020005 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2026-02-28 11:31:19 +01:00
Laurent Destailleur
dc12e93f6e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-28 11:22:31 +01:00
Laurent Destailleur
ac5cf30583 Debug 2026-02-28 11:22:16 +01:00
Laurent Destailleur
2112d6a1b5 Add tool to make pull and cascading merges 2026-02-28 11:17:18 +01:00
minimexat
6e2da14e0e
fix(core): validate contact exists before inserting in add_contact() (#37308)
Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-27 17:20:36 +01:00
minimexat
2e02df9002
Fix external user 'Access Forbidden' on agenda event card (#37362)
External users (fk_soc set) were blocked from opening agenda events
because GETPOSTINT('socid') returns 0 when no socid param is in the URL
(ActionComm::getNomUrl() only generates ?id=XXXXX).

The condition 0 != $user->socid then triggers accessforbidden() for
every external user.

Fix: fall back to $user->socid when socid is not in the URL, consistent
with the pattern used in all other card pages (contracts, invoices,
orders, etc.).

The existing restrictedArea() check still validates that the event's
fk_soc matches the user's company, so security is preserved.

Fixes #37361

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-27 16:37:29 +01:00
VIAL-GOUTEYRON Quentin
23f9aeded0
NEW Add CSV/XLSX import mode to disable triggers execution (refactoring of import, while preserving legacy SQL compatibility) (#37367)
* Add support for optimized import trigger modes and bulk processing

Introduced new features and optimizations for the import module:
- **Trigger Modes**: Added `strict_line` (default, triggers per row) and `fast_bulk` (triggers aggregate events for bulk imports).
- **Simulation Mode**: Implemented a simulation flag to enable preview of imports without executing triggers.
- **Trigger Cache/Optimization**: Added caching for trigger objects and hook-resolved actions, enhancing performance during legacy SQL imports.
- **Bulk Trigger Stats**: Integrated stats tracking for bulk operations (insert/update) by table, facilitating analytical insight during bulk imports.
- **Extended Trigger Logic**: Enhanced trigger handling:
  - Dynamically resolved actions based on context (table, operation, object class).
  - Introduced hooks for custom import trigger actions.
  - Provided fallback mechanisms for unmapped table-element relationships.
- **Compatibility**: Maintained compatibility with legacy strict-line mode using object-based trigger execution.

These updates improve import performance, scalability, and flexibility while maintaining robust backward compatibility.

* fix

* fix

* refacto

* precommit

* retour

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-27 16:35:36 +01:00
Braito
bd3754dc8b
emailcollector: set IMAP timeouts in collector (#37334)
Co-authored-by: braito4 <1913498+braito4@users.noreply.github.com>
2026-02-27 15:43:51 +01:00
Charlène Benke
3beb29eb0a
remove link elements display on user (not used) (#37338) 2026-02-27 15:42:39 +01:00
github-actions[bot]
392badd940
PHPStan > Update baseline (#37341)
Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>
2026-02-27 15:40:24 +01:00
Milamber
7cfa8be4a5
Fix issue with amount in letters for French (soixante-dix+ and quatre-vingt dix+) (#37369)
Comments in EN
2026-02-27 15:22:47 +01:00
Laurent Destailleur
448f06fe5b ci 2026-02-27 15:09:53 +01:00
Laurent Destailleur
e72b89b117 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-27 15:05:43 +01:00
Laurent Destailleur
90e54882ef ci 2026-02-27 15:05:35 +01:00
Vincent Penel
07e0d4e992
Add endpoints link/unlink contacts on tickets (#37277)
* Avoid ( in sql

* Clean sql

* Fix spellcheck

* Debug v23

* TakePOS hook “AddAction” jamais exécuté (#35961) (#37113)

@defrance 
Adam Hocini

* Update modProduct.class.php (#37087)

Fix: allow import of sell_or_eat_by_mandatory for products

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Update modProduct.class.php (#37087)

Fix: allow import of sell_or_eat_by_mandatory for products

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Clean code

* Fix package debian

* NEW Use the js lib into htdocs/public/includes instead of htdocs/includes

* New LNE Collect of buisness informations (#37084)

* Working LNE ping

* remove GPDA

* Add of other informations

* remove testing var

* fix Ci

* fix Ci

* fix ci

* fix CI

* Fix Ci

* fix Ci

---------

Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>

* CI

* CI

* CI

* CI

* Clean code. File not used.

* CSS

* CSS

* Fix phpunit

* More legal info

* CI

* Fix CI

* Fix: IRPF tax not applied when creating invoice from project times (#37077)

* Remove 'supplier_invoice' from old path array

* Update module path in arrayforoldpath

Sorry Eldy, I was confused. You are absolutely right, it is already corrected.

* Replace localtax2 assignment with get_localtax function


Error when creating an invoice with personal income tax from project times. The rate does not apply

* Refactor localtax1 calculation using get_localtax

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix: IRPF tax not applied when creating invoice from project times (#37077)

* Remove 'supplier_invoice' from old path array

* Update module path in arrayforoldpath

Sorry Eldy, I was confused. You are absolutely right, it is already corrected.

* Replace localtax2 assignment with get_localtax function


Error when creating an invoice with personal income tax from project times. The rate does not apply

* Refactor localtax1 calculation using get_localtax

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Protect module

* Add currency

* CSS

* WIP LNE

* Fix navigation

* cs

* Debug registration process

* Debug setup navigation

* CI

* CI

* Factorize code

* Fix CI

* Fix CI

* Fix CI

* CI

* CI

* CI

* CI

* Disable phan on v23

* CI

* CI

* FIX: missing include for blockedlog lib (#37165)

* Debug CI

* fix ternary always true (#37161)

* fix ternary always true

* Update requests.php

* Update registration.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* CI

* FIX: missing include for blockedlog lib (#37165)

* FIX #37134 Use json_encode for IMAP search logging in EmailCollector (#37135)

var_export() produces multiline output that breaks log aggregators
(Loki, Splunk, Elasticsearch) as each line becomes a separate log entry.

Using json_encode() produces single-line structured output that works
correctly with all log aggregation tools.

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Populate syslog with placeholder (#37163)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Doc

* datamodel for user change password next time (#37155)

* Qual: Update phan baseline (#37172)

* Fix typo in file path (#37160)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix phpunit

* Complete call to setStatus so we have a trigy as 4th parameter (help to
fix the #37129)

* FIX Product - Warning on admin (#37157)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* FIX Product - Warning on admin + CSS (#37158)

* FIX Product - Warning on admin

* CSS

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* CI

* CI

* CI

* Avoid error if include fails

* More functions in blacklist (even if nw we use the whitelist by default)

* #37166 [SQL] add: email template for ticket admin creation (#37182)

* Replace var_export with new function formatLogObject (#37178)

* FIX BOM - Class product missing, column offset and information recording (form/input overlap) in admin (#37177)

* FIX BOM - Class product missing in admin

* Fix column offset and information recording (form/input overlap)

* ci

* ci

* FIX Intracommreport - Warning & link problem on tab (#37176)

* FIX Bank transfer admin - Warning & save 0 on constant PAYMENTBYBANKTRANSFER_ADDDAYS (#37175)

* Look and feel v24

* Update default time handling in index.php (#37150)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix file path comment in supplier invoice module (#37133)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix file path comment in supplier invoice module (#37133)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix CI

* Add template in migration

* fix phpdoc comment (#37184)

* fix phpdoc comment

* fix phpdoc comment

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* CI

* Fix phpstan

* Replace var_export by formatLogObject (continued) (#37188)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Debug amount suggested on membership public form

* Issue 36923 Fix session title handling in survey creation (#37105)

* Issue 36923 Fix session title handling in survey creation

* Change input field to use id attribute for title

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* fix phpstan errors blocking action baseline (#37189)

* fix phpstan errors blocking action baseline

* fix phpstan errors blocking action baseline

* fix phpstan errors blocking action baseline

* fix phpstan errors blocking action baseline

* fix phpstan errors blocking action baseline

* refresh baseline

* QUAL Replace var_export() with json_encode() in dol_syslog() calls (#37138)

var_export() produces multiline output that breaks log aggregators
(Loki, Splunk, Elasticsearch, Graylog) as each line becomes a separate
log entry.

json_encode() produces single-line structured output that works correctly
with all log aggregation tools. This pattern is already used elsewhere
in Dolibarr (accountancy, install modules).

Files changed:
- core/class/commoninvoice.class.php (payment intent logging)
- core/class/commonobject.class.php (payment terms logging)
- core/modules/mailings/advthirdparties.modules.php (mailing targets)
- core/modules/oauth/google_oauthcallback.php (userinfo logging)
- core/modules/oauth/generic_oauthcallback.php (userinfo logging)
- public/payment/newpayment.php (GET/POST debug logging)
- public/payment/paymentok.php (payment tag logging)
- public/stripe/ipn.php (Stripe event data logging)
- paypal/lib/paypal.lib.php (PayPal response logging)
- api/index.php (API debug logging)
- stripe/class/stripe.class.php (payment/setup intent logging)

Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix CI

* CI

* Check if upload_max_filesize is not empty

* clean code

* Debug v23

* CI

* Fix #33521 VAT total false (#36990)

* - Fix #33521 VAT total false
- Fix some warnings
- Fix : delete $this->vat_rate

* - Fix #33521 VAT total false
- Fix some warnings
- Fix  :delete $this->tva array (replaced by $this->tva_array)

* - Fix #33521 VAT total false
- Fix some warnings
- Fix  :delete $this->tva array (replaced by $this->tva_array)

* Update pdf_octopus.modules.php

* Update pdf_octopus.modules.php

* Update pdf_octopus.modules.php

* Update pdf_octopus.modules.php

* Update pdf_octopus.modules.php

---------

Co-authored-by: vmaury <vmaury@vmaury-Lafite-Pro-16-AMD>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* NEW #25829 Automatically send the invoice generated from a template (#36967)

* Update DB

* ADD email template

* Ajout d'une clé de trad

* Ajout des traductions

* Suppression des traductions, sauf en_US

* Add flag auto send

* Modif form + cron auto send

* Suppression auto_send

* correction loopError

* ajout du selected au model de mail

* Prise en compte default model

* Fix pre-commit

* ménage

* precommit

* Correction Phan

* Correction Phan

* Correction, double cal du trigger

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Develop force user change pass userclass (#37174)

* datamodel for user change password next time

* add force_pass_change in user object

* Initialize force_pass_change to 0

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Another step for #37171

* Qual: Partial phan run on PR's, complete run on integration branches (#37186)

* Qual: Partial phan run on PR's, complete on main

# Qual: Partial phan run on PR's, complete on main

The selection is based on the branch name.
To run a complete phan run in a PR, the branch name of the PR must include phan_full.
This can help to fix remaining phan issue before re-integrating to the develop branch.

* qual: Update workflow and pre-commit configurations

- Enable phan workflow by uncommenting the relevant lines
- Update actionlint version to v1.7.10
- Add manual stage to actionlint hook in pre-commit-config.yaml

* qual: Update Phan analysis conditions

The conditions for running Phan analysis have been updated to include an additional check for branches containing 'phan_full'.

* qual: Update Phan workflow

- Replace github.event.ref with github.ref_name
- Add FILE_CHANGE_LIST environment variable for better file handling
- Update file list creation and usage in the workflow

* qual: Update Phan workflow conditions

Fix the branch reference (head_ref in PR, ref_name otherwise)

* Add step for debug information

* Remove debug step

* Fix: Missing initialisations members/new.php

Following a suppression of assignments, the variables disabledphy and disabledmor were undefined.

* fix: Update budget selection dropdown arguments in member creation form

Correct the arguments in the member creation form.

* qual: Add cs2pr to phan workflow

- Add cs2pr to the tools list in the phan workflow
- Change the output mode of phan to checkstyle
- Add a step to add results to PR as Github notices
- Add a step to provide phan log as artifact

* qual: Update Phan workflow to use environment variable for file list

The change fixes the Phan workflow to use the environment variable `$FILE_CHANGED_LIST` to clear the file

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix phan

* Fix phan

* Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0

* Doc

* Qual: Fix ambigious redirect error on Phan workflow (#37200)

# Qual: Fix ambigious redirect error on Phan workflow

Rewrote the shell command that is supposed to suppress a file contents
but is flagged by the environment.

* PHPStan > Update baseline (#37197)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* Typo fix (#37195)

* Debug v23 - filters on agenda pages

* css

* css

* css

* qual: Update PHPStan workflow to run on all files in integration (#37207)

The PHPStan workflow has been updated to run on all files in integration branches.

* Fix CI

* Add hook in isEditable()

* Debug v23

* CLOSE #37190 ODT Templates for thirdparties - Birthday is returned in epoch format (#37198)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* fix: Remove HTML from accounting menu tooltips in eldy theme (#37203)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Qual: Update spelling (#37199)

* Qual: Update spelling for pre-select variants

# Qual: Update spelling for pre-select variants

In English, preselect is without the hyphen.  Update text and made some translations
related to preselect.

* Qual: Update composant to component and/or adequate translation.

# Qual: Update composant to component and/or adequate translation.

"Composant(s)" was mostly referenced in french file/class comments.
Updated

* Qual: Fix misspellings related to "criteria"

# Qual: Fix misspellings related to "criteria"

* Qual: Fix produt misspellings

# Qual: Fix produt misspellings

Change 'produt' to 'product'.

* Qual: Update French comments with "composants"

#Qual: Update French comments with "composants"

- Translating French comments to English (avoid codespell notice)

* Qual: Fixed typo 'bad practive' to 'bad practice'

# Qual: Fixed typo 'bad practive' to 'bad practice'

* Qual: Update phan.yml to exclude specific files from analysis

- Added file exclusion pattern to match phan configuration
- Added check for empty file list to avoid unnecessary phan execution

* Qual: Update file filtering in phan.yml workflow

The change updates the file filtering process in the phan.yml workflow to correctly redirect the output of the grep command to a temporary file.

* Qual: Ignore $systemfunction always exists

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Error handling methods for commonobject (#37201)

* Error handling methods for commonobject (#37201)

* NEW Can request and force user to change its password (#37196)

* force user to change password : redirect to user card on login

* force user to change password : redirect to user card on login

* redirect to a dedicated page

* bad old idea : self change passwd on user card + edit mode and rights: it makes a hole on security check

* only apply on dolibarr auth mode context

* only on dolibarr auth mode context

* Fix force_pass_change SQL assignment logic

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Doc

* Setup easier to understand between INVOICE_CHECK_POSTERIOR_DATE and
FAC_FORCE_DATE_VALIDATION

* Setup easier to understand between INVOICE_CHECK_POSTERIOR_DATE and
FAC_FORCE_DATE_VALIDATION

* Prepare 23.0

* Qual: Ignore exit code from `grep -v` in phan flow (#37213)

# Qual: Ignore exit code from `grep -v` in phan flow

`grep -v` returns 1 when the resulting filtered list is empty and would stop the execution.
This is fixed with `|| true` to have a final exit code that is 0.

* WIP LNE

* Debug v23

* Debug v23

* WIP LNE

* FIX Bad header name

* Fix CSP for ping

* Compatibility with multicompany

* Debug

* Fix include

* FIX phpdoc on createFixedAmountDiscount() (#37212)

* FIX phpdoc on createFixedAmountDiscount

* FIX phpdoc

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix in card css modal display (#36569)

* Fix display of cards in a modal

* fix php stan

* fix php stan

* Try a change to force CI

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* More complete data on pings.

* Debug v23

* Debug initdemo

* Debug initdemo

* Debug initdemo

* Debug v23

* Update initdemo

* Update initdemo

* Cleaner GET call

* Add id of perm in url

* Init demo for v24

* Fix translation of "various payment" (not english, not pro) with the
term used in english to mean "Opérations diverses (OD)"

* Sync transifex

* CSS

* Trans

* Doc

* Trans

* Debug v23

* Debug v23

* Trans

* Debug v24

* Debug v23

* Debug v23

* WIP

* Debug v23

* Debug v23

* Debug v24

* Work on LNE

* WIP LNE

* Debug v24

* Doc

* Translation

* Sync transifex

* Debug

* Debug

* Debug

* Responsive

* Dev control archive integrity

* Debug

* Update supplier_proposal.lang (#37238)

* add company name on dropdown contract list (#37245)

* Clean dump file

* Fix CI

* FIX #37246 Modifying resteapayer calculation for credit note (#37247)

* Add 'type' parameter to completeTabsHead hook (#37235)

* #37257 FIX for piesemicircle (#37258)

* Fix #37227 Fix #37233

* Fix #37227 Fix #37233

* QUAL French comment in English (#37225)

* Edit label of $fields

* QUAL French comment in English

* Bump actions/upload-artifact from 4 to 6 (#37250)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* UI/UX : Transfert feedback css from experimental to core (#37226)

* Transfert feedback css from experimental to core

* fix php phan

* Fix phan

* Fix phan

* Fix phan

* Missing label

* Debug

* Add method to chech if invoice can be replaced

* Fix return

* Debug v24

* Fix CI

* CI

* CI

* CI

* Fix CI

* Add endpoints link/unlink contacts on tickets

* Check source

* Typage

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: adamhocini <72007447+adamhocini@users.noreply.github.com>
Co-authored-by: Jarvis <94354305+Jarvis-69@users.noreply.github.com>
Co-authored-by: Lucas Marcouiller <45882981+Hystepik@users.noreply.github.com>
Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
Co-authored-by: Laurent Destailleur <eldy@users.sourceforge.net>
Co-authored-by: Yamil Esteban Garcia <120027058+developmentOYR@users.noreply.github.com>
Co-authored-by: Noé Cendrier <81741011+altairis-noe@users.noreply.github.com>
Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: minimexat <minimexat@gmail.com>
Co-authored-by: hansemschnokeloch <hansemschnokeloch@users.noreply.github.com>
Co-authored-by: Eric - CAP-REL <1468823+rycks@users.noreply.github.com>
Co-authored-by: MDW <mdeweerd@users.noreply.github.com>
Co-authored-by: Alexandre SPANGARO <alexandre.spangaro@gmail.com>
Co-authored-by: evarisk-kilyan <kilyan.evarisk@gmail.com>
Co-authored-by: Vanyo <vanyolai@gmail.com>
Co-authored-by: jeremydassaud <49372108+jeremydassaud@users.noreply.github.com>
Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Vincent Maury <artec.vm@arnac.net>
Co-authored-by: vmaury <vmaury@vmaury-Lafite-Pro-16-AMD>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>
Co-authored-by: Joris Le Blansch <jleblansch@gmail.com>
Co-authored-by: intelliking <tyleradams93226@gmail.com>
Co-authored-by: Benjamin Falière <121813548+BenjaminFlr@users.noreply.github.com>
Co-authored-by: John BOTELLA <68917336+thersane-john@users.noreply.github.com>
Co-authored-by: Charlène Benke <1179011+defrance@users.noreply.github.com>
Co-authored-by: demiton <fabien.cisse@gmail.com>
Co-authored-by: Jyhere <jyhere@gmail.com>
Co-authored-by: Delthair <41671350+Delthair@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 14:49:57 +01:00
Laurent Destailleur
fce2f218f5 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-27 14:46:41 +01:00
John BOTELLA
6e73f627d6
Fix missing trans no entities (#37344) 2026-02-27 14:45:59 +01:00
Vincent de Grandpré
4817b4e235
fix for #37357 (#37358)
* fix for #37357

* copyright

* phpstan
2026-02-27 14:45:14 +01:00
Laurent Destailleur
37cc867537 CI 2026-02-27 14:43:58 +01:00
Laurent Destailleur
edbd58b102 Doc 2026-02-27 14:19:50 +01:00
Laurent Destailleur
cd1c327173 FIX Doc and log 2026-02-27 13:49:09 +01:00
Laurent Destailleur
b2b079fc5b Trans 2026-02-27 12:23:51 +01:00
Laurent Destailleur
a25a60ad55 NEW Add lifetime amount on the list of blockedlog 2026-02-27 12:08:16 +01:00
Laurent Destailleur
4108515fc6 NEW Add lifetime amount on the list of blockedlog 2026-02-27 11:36:41 +01:00
Laurent Destailleur
e30cffc425 CSS 2026-02-26 22:46:02 +01:00
Laurent Destailleur
2e7a691371 Doc 2026-02-26 18:44:06 +01:00
Laurent Destailleur
b7e2749312 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-26 15:47:36 +01:00
Laurent Destailleur
3c0c7af552 Debug v23 - Update of price in proposals 2026-02-26 15:47:15 +01:00
Laurent Destailleur
6b0e63f9e5 CSS 2026-02-26 15:33:49 +01:00
Laurent Destailleur
5879acbedf Fix label of button 2026-02-26 14:45:34 +01:00
Laurent Destailleur
000c855038 Debug v23 2026-02-26 14:42:38 +01:00
Laurent Destailleur
0b920df95a Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-02-26 11:55:45 +01:00
Laurent Destailleur
57451d9970 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-02-26 11:51:50 +01:00
Laurent Destailleur
486f5ad65e FIX #37350 2026-02-26 11:51:19 +01:00
Alexandre SPANGARO
c1dcded268
FIX Warning - Remove two declaration of DOL_VERSION (#37350) 2026-02-26 11:49:37 +01:00
Laurent Destailleur
9cd7af2648 Trans 2026-02-26 09:23:51 +01:00
Laurent Destailleur
f92d77cea5 Standardize code for cash control closing 2026-02-26 09:17:40 +01:00
Laurent Destailleur
8540a02561 Fix data saved with generic oauth 2026-02-25 22:50:39 +01:00
Laurent Destailleur
2cc352cacd Fix data saved with generic oauth 2026-02-25 22:46:27 +01:00
Laurent Destailleur
5fdf0f8094 Fix error management in oauth handlers 2026-02-25 21:49:13 +01:00
Laurent Destailleur
2796ffa9af Fix error management in oauth handlers 2026-02-25 21:48:27 +01:00
Laurent Destailleur
bde08e0868 Merge v23 2026-02-25 19:18:10 +01:00
Laurent Destailleur
9459d72590 Fix packaging 2026-02-25 19:16:10 +01:00
Laurent Destailleur
b93a2cbf04 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-02-25 19:07:38 +01:00
Laurent Destailleur
82af80d411 Prepare 23.0.0 2026-02-25 19:07:24 +01:00
Laurent Destailleur
3d1491d312 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-25 11:17:20 +01:00
Laurent Destailleur
9fc1076361 Add new properties on website pages. 2026-02-25 11:17:08 +01:00
minimexat
28563cd261
fix: bank line tags/categories not displayed on record view (#37311)
* Add POST /supplierorders/{id}/line endpoint to REST API (#35286)

* ✏️ Fix spelling

* ✨ Add postLine endpoint to supplier_orders

* 🐛 Fix accessing this->commande instead of this->order

* PHPStan > Update baseline (#35285)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* clean code bookcal class (#35279)

* clean code bookcal class

* clean code bookcal class

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* feat: Subtotal module (#35290)

* clean code contact class (#35260)

* clean code contact class

* clean code contact class

* clean code

* clean code

* clean code

* clean code

* clean code

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* Clean code

* Clean code

* Clean code

* Fix trans in list of technical services of a module

* Fix do not show value of last activation module if na

* Add "__EVENT_DESCRIPTION__" variable (#35302)

To be able to add the event's description in reminder emails.

* Remove old lang files that are too small (moved into other lang files)

* Sync transifex

* Fix size of popup

* Fix missing field migration, fix select2

* Clean code

* NEW public and private note can be shown on contact list

* FIX Edit of email in emailing. Property messtype not set.

* PHPStan > Update baseline (#35305)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* fix missing translation (#35314)

* fix translation missing (#35316)

* fix translation missing

* fix translation missing

* fix missing translations (#35315)

* fix missing translations

* fix missing translations

* makepack : exit if filelist fail (#35312)

* Fix exclusion of files is not consistent

* exit code must be >= 0 (#35311)

* NEW add fields usage_opportunity, usage_task, usage_bill_time for project import (#35301)

* 🐛 Use reception email templates for receptions (#35310)

* fix fatal error (#35284)

* fix fatal error

* Update card.php

* Update product.class.php

* clean code adherent (member) class (#35259)

* clean code adherent (member) class

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* FIX: setShippingMethod tigger throwing error (#35320)

* FIX: setShippingMethod tigger throwing error

* Update commonobject.class.php

---------

Co-authored-by: brad <brad@endurotags.com.au>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Prepare ci for tag check

* Prepare code for Loi Finance

* clean code (#35317)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* NEW Feature to merge duplicate members (#35308)

* New merge members

* fix fields

* add trans

* fix CI

* fix Ci

* fix Ci

* fix CI

* Fix CI

---------

Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* fix CI (#35328)

* fix CI

* Update interfaces.class.php

* Update interfaces.class.php

* Update interfaces.class.php

* Update interfaces.class.php

* Update interfaces.class.php

* fix

* fix

* FIX: Update order line (#35321)

Co-authored-by: brad <brad@endurotags.com.au>

* Fix missing translation (#35322)

* fix missing translation

* fix missing translation

* fix missing translation

* fix missing translation

* NEW : Add hooks in webportal (#35326)

* fix missing translation (#35323)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* add picto (#35329)

* add picto

* fix padding

* clean code (#35333)

* clean code

* clean code

* clean code

* fix pictos (#35334)

* PHPStan > Update baseline (#35336)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* fix pictos (#35335)

* fix pictos (#35337)

* clean code (#35338)

* clean code

* clean code

* clean code

* clean code

* clean code

* fix civility_id for webportal member (#35339)

* fix civility_id for webportal member

* Update html.formcardwebportal.class.php

* fix

* fix

* fix

* fix date

* fix translation

* add doc

* clean code (#35340)

* clean code

* clean code

* clean code

* add check in dolibarr phpinfo page (#35332)

* add check in phpinfo page

* Update phpinfo.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Clean code

* FIX Debug bad path used into webportal. Missing http headers in login.

* bcmath is used by swiftmail authent, not implemented.

* Fix date update

* CSS

* FIX webportal must not use resources out public dir neither external
files.

* Clean code. Removed octicons directory.

* css

* css

* Fix bad tab underlined in display setup

* Fix bad recording of custom CSS in webportal

* Debug webportal

* Fix css

* css

* clean code (#35341)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code expedition class (#35327)

* clean code expedition class

* clean code expedition class

* clean code expedition class

* clean code expedition class

* clean code expedition class

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* clean code

* clean code (#35343)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code (#35344)

* clean code

* clean code

* clean code

* clean code

* clean code

* NEW add private and public note on ticket (#35303)

* Update copyright and add note fields in SQL

* Add note_public and note_private columns to llx_ticket

* Implement notes tab in ticket details

* Add fk_user_modif column to llx_ticket table

* Add fk_user_modif column to llx_ticket table

* Add files via upload

* Add private and public note fields to ticket class

* Update ticket.class.php

* Update ticket.class.php

* Update note.php

* Update note.php

* Update note.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* PHPStan > Update baseline (#35342)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* add doc (#35345)

* clean code

* clean code

* clean code (#35346)

* clean code

* clean code

* added tag mass action (#35347)

* Error: When creating an invoice for a supplier order with a negative value #30516

Error: When creating an invoice for a supplier order with a negative value #30516

* Update html.form.class.php

Modifications made related to the issue
Search for variants by EAN #34567

* Update html.form.class.php

I change :

if(getDolGlobalString('SEARCH_VARIANTS_OF_EAN13')){
with
if (getDolGlobalString('SEARCH_VARIANTS_OF_EAN13')) {

and 

SEARCH_VARIANTS_OF_EAN13
into
PRODUIT_ATTRIBUTES_HIDECHILD_BUT_ALLOW_SEARCH_IN_EAN13

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* added tag mass action

added tag mass action

* Update list.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* NEW dol_sort_array can be used with 2 sorting criteria.

* Fix warning

* CSS

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

* CSS

* fix CI (#35353)

* fix CI

* Update header.tpl.php

* Update style.css.php

* Update webportal.main.inc.php

* Update files.lib.php

* Clean code

* clean code (#35350)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code (#35355)

* Debug v23

* Fix warning

* Fix phan

* fix CI (#35359)

* fix CI

* Update card.php

* QUAL: The library timepicker.js has been removed. Was not used by
Dolibarr.

* Fix changelog

* Try git commit

* CSS

* Fix warnings

* Fix try to work on multientity even if cron disable don entity 1.

* Debug v23

* clean code (#35365)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code (#35352)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* Clean code

* Clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* fix CI (#35361)

* fix CI

* Update msg-commit

* Update ruleset.xml

* Debug script

* New develop import export product customer price (#35349)

* NEW import/export product customer price

* back travis and more

* back travis 2

* Fix syntax error

* clean code (#35358)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* FIX The write_file function should return -1 if an error exists (#35368)

* Error: When creating an invoice for a supplier order with a negative value #30516

Error: When creating an invoice for a supplier order with a negative value #30516

* Update html.form.class.php

Modifications made related to the issue
Search for variants by EAN #34567

* Update html.form.class.php

I change :

if(getDolGlobalString('SEARCH_VARIANTS_OF_EAN13')){
with
if (getDolGlobalString('SEARCH_VARIANTS_OF_EAN13')) {

and 

SEARCH_VARIANTS_OF_EAN13
into
PRODUIT_ATTRIBUTES_HIDECHILD_BUT_ALLOW_SEARCH_IN_EAN13

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* added tag mass action

added tag mass action

* Update list.php

* Update pdf_crabe.modules.php

The write_file function as its own documentation describes returns 1 0 a value minus 0 if an error exists. Therefore, if there is an error in the hook more than saving the error, it must return 0 since an error occurred

* Update pdf_crabe.modules.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix complete #35368

* Fix:prevent handling update action by  generic include of actions_addupdatedelete.inc.php (#35369)

* Fix:prevent handling update action by  generic include of actions_addupdatedelete.inc.php

Fix:
To prevent handling update action by generic post update action in inventories at /core/actions_addupdatedelete.inc.php, we need to unset $action variable, otherwise $object fileds are filled with with empty values.

* Update inventory.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* clean code (#35367)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* CSS

* Allowed commit

* fix missing translation (#35378)

* clean code (#35379)

* clean code

* clean code

* clean code

* clean code

* Clean code

* add filter by invoice categories in the statistics module (#35388)

add filter by invoice categories in the statistics module

* Clean code

* FIX delivery triggers and mail templates: correct inconsistencies in email triggers and templates` (#35264)

* `fix(delivery): correct inconsistencies in email triggers and templates`

**Body:**
- Adjusted email trigger names from `RECEPTION_*` to `SHIPPING_*`.
- Updated parameters and placeholders for shipment email tracking.
- Removed redundant `reception_send` entry in mail templates for shipping.

* `fix(delivery): update email triggers and templates for deliveries`

**Body:**
- Replaced email trigger `SHIPPING_SENTBYMAIL` with `DELIVERY_SENTBYMAIL`.
- Updated template references from `shipping_*` to `delivery_*` for consistency.
- Modified tracking ID format from `shi` to `del` in `card.php`.
- Added `MailToSendDelivery` language entry for email labels.
- Adjusted mail templates to include `delivery_send` entries.

* FIX CI

* Clean code

* Clean code

* Clean code

* Clean code

* Test

* Clean code with rector

* Fix bad var

* Add constant MAIN_USE_TITLE_FOR_USER to show a property that is not used

* Clean corrupted data

* Doc

* Fix trans

* fix CI 🐛 (#35392)

* add picto

* fix padding

* fix CI

* Update user.class.php

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* Refactor VAT array handling in PDF generation (#35395)

$this->tva_array[$vatrate.($vatcode ? ' ('.$vatcode.')' : '')]['amount'] is present on 2 part of the if

* fix Objectlink api (#35402)

* fix objectlink api

* fix objectlink api

* fix objectlink api

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* feat: add contact list parameter to ticket API endpoints to control contact data retrieval (#35404)

* Qual: Update phan baseline (#35405)

* NEW add supplier invoice, order and supplier order tag filter and bulk insert and statistics order and supplier order (#35399)

* add own supplier invoice tag filter and bulk insert

add own supplier invoice tag filter and bulk insert

* Update list.php

change format

* Bulk edit commande tags

Bulk edit commande tags

* Label filter orders and supplier order statistics

Label filter orders and supplier order statistics

* Supplier Order Label Filter and Mass Action for Supplier Order Labels

Supplier Order Label Filter and Mass Action for Supplier Order Labels

* Update index.php

change format

* Update list.php

change format

* Update index.php

change format

* Update index.php

change format

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Repair recalculateinvoicetotal (#35381)

* PHPStan > Update baseline

* FIX#33963 - Enabling foreign key field to allow mandatory parameter saving

* Added author to copyright

* Correction calcul du total des taxes

* Travis

* code format

* espaces superflus

* bis

* Update repair.php

* Update repair.php

* PHPStan > Update baseline

* set paid = 1 when total_ttc equals sum of payments

* current upstream file

---------

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix sub BOM quantities (#35371)

* FIX: reqursive bom quantities

Correctly handle quantities on BOM recursion. Current behavior is that
sub BOM total quantity is multiplied by parent quantity for that line,
the expected behaviour is that the parent BOM would be including sub BOM
on a per unit base.

* Simplified code

* Update objectline_view.tpl.php

* Update bom.class.php

* Update bom.class.php

* Update bom.class.php

* Update bom.class.php

---------

Co-authored-by: brad <brad@endurotags.com.au>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix roundind using stock accuracy ('MS')

* Cehojac/issue35362 (#35364)

* intervencions api call dont show the objects relations
Fixes #35362

* feat: add loadlinkedobjects parameter to control linked object loading in interventions API

thank you for the recomendarion @eldy !!!!

* Clean code for PDF invoices

* Trans

* Move doc for git commit template

* Clean code

* Clean code

* Enhance AI setup and log report

* Enhance AI setup and log report

* FIX Bad management of carriage return when requesting IA API.

* Trans

* fix CI (#35409)

* fix CI

* fix

* Qual: Fix phan notices (#35406)

* fix CI

* fix

* Qual: Fix newly appeard phan notices

# Qual: Fix newly appeard phan notices

Fix notices that appearce sin a previous phan report - some of these
notices are masked by the current baseline.

---------

Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: Frédéric FRANCE <frederic.france@free.fr>

* Fix syntax

* Problem in Gantt view. Tasks in project (#35412)

Fixes #35411

* fix reminders sms (#35398)

* fix reminders sms

* fix reminders sms

* fix reminders sms

* fix reminders sms

* fix durations

* fix durations

* fix durations

* fix durations

* fix durations

* fix durations

* fix durations

* fix durations

* fix

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix default mode is edit

* NEW More webportal fonctions - Can add shared files and thirdparty documents (#35391)

* Create documentlist.controller.class.php

Intégration de mon portail client personnalisé avec GED
attention 
class/sontext.class.php devra aussi être modifier.

* Update context.class.php

ajout du ged 
pour les fichiers joints par tiers.

* Update context.class.php

ajout d'accès à fichiers joints du tiers.

* Update menu.tpl.php

ajout du menu accès au GED

* Update README.md

* Update README.md

* Update README.md

* Add files via upload

document utile sert a partager via le GED de dolibarr des fichiers avec tous les clients utilisateur du webportal.

* Update context.class.php

ajout dans le menu de deux controleur suplémentaire.

* Update menu.tpl.php

ajoute des deux chapitre dans le menu

* Update README.md

* Update README.md

* Update menu.tpl.php

document format change

* Add files via upload

mises à jour et normalisation fichiers

* Add files via upload

ajout webportal.lang

* Update README.md

* Delete htdocs/webportal/documentutile.controller.class.php

* Update menu.tpl.php

* Update README.md

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update README.md

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update README.md

* Create webportal.lang

* Update webportal.lang

* Update webportal.lang

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update website.lang

* Delete htdocs/langs/fr_FR/webportal.lang

* Delete htdocs/langs/en_US/webportal.lang

* Update README.md

* Update README.md

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Create abstractdocument.controller.class.php

* Update website.lang

* Update website.lang

* Update website.lang

* Update README.md

* Update README.md

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update abstractdocument.controller.class.php

* Update abstractdocument.controller.class.php

* Update README.md

* Update context.class.php

* Update README.md

* Update abstractdocument.controller.class.php

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update menu.tpl.php

* Update documentlist.controller.class.php

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update README.md

* Update context.class.php

* Update documentlist.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update context.class.php

* Update documentlist.controller.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Debug v23

* Debug setup reminders v23

* clean code (#35396)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* clean code (#35387)

* clean code

* clean code

* clean code

* clean code

* clean code

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* fix translation member (#35415)

* Complete parameter for api hook

* add getTimespent on api task (#35263)

* add getTimespent on api task

* Fix return statement in api_tasks.class.php

* Fix return statement in api_tasks.class.php

* Fix formatting and spacing in getTimespent method

* Fix formatting of if statement in getTimespent method

* Update api_tasks.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Clean code. Replace property with local variable.

* Clean code

* QUAL: Removed deprecated properties user_valid, user->creation,
user_modification replaced with user_ceation_id, user_validation_id and
user_modification_id.

* Removed deprecated property ->projet (replace with ->project)

* Fix hack to avoid infinite loop in restler when xdebug is on

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

* clean code (#35419)

* clean code

* clean code

* PHPStan > Update baseline (#35420)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* Fix CI

* Fix color of status

* Update recap-fourn.php (#35417)

* Update recap-fourn.php

The key improvement is that now the balance calculation works correctly with descending order of movements. The balance will show the most recent transaction with the cumulative total of all transactions, and older transactions will show their respective balances as of that time.
This implementation now matches the behavior of compta\recap-compta.php where the balance is calculated from bottom to top when the movements are displayed in descending order.

* Update recap-fourn.php

The key improvement is that now the balance calculation works correctly with descending order of movements. The balance will show the most recent transaction with the cumulative total of all transactions, and older transactions will show their respective balances as of that time.
This implementation now matches the behavior of compta\recap-compta.php where the balance is calculated from bottom to top when the movements are displayed in descending order.

* Update recap-fourn.php

fix reordering by date column

* Update recap-fourn.php

* Update recap-fourn.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* CSS

* Fix CI

* clean code (#35423)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* NEW Add hook initialization for interventions API (#35203)

* NEW Add hook initialization for interventions API

the goal is to enhance the search function on the api (by sample add linked contact or user name)

* Clean up whitespace in api_interventions.class.php

* Fix parameter reference in executeHooks call

* Update api_interventions.class.php

* Update action name in API intervention hooks

* Add 'apimethod' to parameters in API hook

* Update api_interventions.class.php

* Update api_interventions.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Fix 34301 Project selector on supplier proposal filters incorrectly by thirdparty, ignoring global constant (#34498)

* Fix 34301

* Fix issue #34301

* Fix issue #34301

* Update card.php

* Update card.php

---------

Co-authored-by: vmaury <vmaury@vmaury-ThinkPad-X240>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* QUAL replace $conf->XXX->dir_output by getMultidiroutput (#34446)

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

* replace $conf->XXX->dir output by GetMultidir0utput

---------

Co-authored-by: Theobald <f.moreau@theobald-groupe.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Code comment

* FIX - MRP MO Product to Consume (#35424)

* FIX - MRP MO Product to Consume

Fixes MO Product to Consume when recursive BOM's are used, the product
to consume only includes the BOM line items instead of BOM product

* fix php-stan errors

* fix phan analysis errors

* fix phan analysis errors take 2

---------

Co-authored-by: brad <brad@endurotags.com.au>

* spellcheck war

* Fix select technical id

* fix usage of recipient translation (#35437)

* fix usage of recipient translation

* fix usage of recipient translation

* fix usage of recipient translation

* PHPStan > Update baseline (#35433)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* clean code (#35442)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* Add intuitive table selection (#35444)

Add intuitive table selection with class .row-with-select
Added to propal, order and invoice list

* clean code (#35427)

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Debug v23

* PHPStan > Update baseline (#35452)

Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>

* new: add otherCurlOptions to getURLContent (#35454)

* clean code (#35447)

* clean code

* clean code

* clean code

* contact deletion in api_orders class for internal and external (#35455)

* contact deletion in api_orders class for internal and external

* Update api_orders.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Add check for invoice status before line deletion (#35456)

* Add check for invoice status before line deletion

* Change invoice status check from fk_statut to status

* Test CI

* NEW Make the public contact form with experimental status

* NEW Make the public contact form with experimental status

* NEW API User - Remove user from group (#35453)

* NEW API User - Remove user from group

* Update api_users.class.php

* Update api_users.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* clean code (#35451)

* clean code

apiroute is interventions

* Update api_interventions.class.php

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* fix bad condition

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* clean code (#35462)

* clean code

* clean code

* clean code

* clean code

* clean code

* Add fields for actioncomm to fix #35422

* Use fields into the list of events

* Debug v23

* FIX: Error on add contact (#35460)

* FIX: Error on add contact

Trigger COMMANDE_ADD_CONTACT causing error when adding a contact to and
order, this fix updates the COMMANDE prefix to ORDER

* FIX: delete contact

This fixes the trigger call for delete contact on orders

* FIX: Update patch

Updated to reflect recent PR to add TRIGGER_PREFIX to commande class

* Update commonobject.class.php

Reduce risk of regression

---------

Co-authored-by: brad <brad@endurotags.com.au>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Clean code

* Doc

* Fix CI

* Fix link to ref of salary payment

* Fix MRP: Add hook calculateCostsBomAfter to alter BOM costs (#35465)

* fix doc (#35416)

* fix doc

* Update commonobject.class.php

* Update mo.class.php

* FIX missing entity filter (#35461)

* Add post-processing hook `calculateCostsBomAfter` in BOM cost calculations

---------

Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: Regis Houssin <regis.houssin@inodbox.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* FIX price.php (#32181)

* FIX price.php

https://github.com/Dolibarr/dolibarr/issues/32180

* Update price.php

* Update price.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* NEW: extrafields: add field to link a field to a module (#34416)

* NEW: extrafields: add field to link a field to a module

* Update 22.0.0-23.0.0.sql

* Update llx_extrafields.sql

* Update 22.0.0-23.0.0.sql

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* add current date link on Date Delivery Planned (#29876)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* fix(bank): fetch bank line object before view to display categories correctly

---------

Co-authored-by: Fabian Volkers <33686912+FabianVolkers@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>
Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: ldestailleur <eldy@destailleur.fr>
Co-authored-by: Liammer <104431491+Liammer@users.noreply.github.com>
Co-authored-by: Eric - CAP-REL <1468823+rycks@users.noreply.github.com>
Co-authored-by: Laurent Destailleur <eldy@users.sourceforge.net>
Co-authored-by: ThomasNgr-OpenDSI <tnegre@open-dsi.fr>
Co-authored-by: Bradley Jarvis <brad@pocketinnovations.com.au>
Co-authored-by: brad <brad@endurotags.com.au>
Co-authored-by: Lucas Marcouiller <45882981+Hystepik@users.noreply.github.com>
Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
Co-authored-by: kkhelifa-opendsi <kkhelifa@open-dsi.fr>
Co-authored-by: Charlène Benke <1179011+defrance@users.noreply.github.com>
Co-authored-by: Yamil Esteban Garcia <120027058+developmentOYR@users.noreply.github.com>
Co-authored-by: atm-GregM <85485123+atm-GregM@users.noreply.github.com>
Co-authored-by: Bahfir Abbes <bafbes@gmail.com>
Co-authored-by: VIAL-GOUTEYRON Quentin <quentin.vial-gouteyron@atm-consulting.fr>
Co-authored-by: Carlos Herrera <cehojac@gmail.com>
Co-authored-by: MDW <mdeweerd@users.noreply.github.com>
Co-authored-by: Vincent de Grandpré <vincent@de-grandpre.quebec>
Co-authored-by: Frédéric FRANCE <frederic.france@free.fr>
Co-authored-by: webmaster67 <46778677+bigbears67@users.noreply.github.com>
Co-authored-by: ChristosK. <99069049+christoskaterini@users.noreply.github.com>
Co-authored-by: Vincent Maury <artec.vm@arnac.net>
Co-authored-by: vmaury <vmaury@vmaury-ThinkPad-X240>
Co-authored-by: Chloe-Moreau-2009 <chloe.moreau2009@gmail.com>
Co-authored-by: Theobald <f.moreau@theobald-groupe.com>
Co-authored-by: Anthony Damhet <73399671+EchoLoGeek@users.noreply.github.com>
Co-authored-by: kaantopkaya <kaan.topkaya@koesio.com>
Co-authored-by: Alexandre SPANGARO <alexandre.spangaro@gmail.com>
Co-authored-by: Regis Houssin <regis.houssin@inodbox.com>
Co-authored-by: Norbert Penel <homer8173@gmail.com>
Co-authored-by: Marc de Lima Lucio <68746600+marc-dll@users.noreply.github.com>
Co-authored-by: Florian Hödl <27991923+f-hoedl@users.noreply.github.com>
Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
2026-02-25 00:32:39 +01:00