Commit Graph

152275 Commits

Author SHA1 Message Date
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
David Beniamine
a2397ff88b Improve user card performance by avoid mysql OR (#37125)
* Improve user card performance by avoid mysql OR

* Negate first condition to avoid duplicates in UNION

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-24 19:27:40 +01:00
Alexandre SPANGARO
a94c77edd0 NEW Accountancy - Multi reports system (#37248)
* 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>

* NEW Accountancy - Multi reports system

* Button style

* CI

* CI

* CI

* CI

* CI

* CI

* CI

* 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

* fix commoninvoice.class.php (#37267)

* fix commoninvoice.class.php

* Update commoninvoice.class.php

* CI

* CI

* Debug v23

* CI

* Fix CI

* Debug v23

* clean code pdf.lib.php (#37265)

* clean code pdf.lib.php

* Update pdf.lib.php

* Update pdf.lib.php

---------

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

* FixCI

* FIX: linktoref should be able to receive more than 255 chars (#37262)

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
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: 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: Vincent Penel <vincent.penel@atm-consulting.fr>
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-24 18:57:35 +01:00
MDW
e773d3bb81 Qual: Fix hurl installation instructions, upgrade beautysh hook (#37218)
* Qual: Update beautysh hook version to v6.4.2

Update the beautysh hook version from v6.2.1 to v6.4.2 to allow running it on trixie / python 3.13.

* Fix: Installation instructions for hurl

# Fix: Installation instructions for hurl

Variable expansions were not quoted as needed and resulted in undesired expansions.
Fixed in echo commands by using single quotes.

* Qual: Add .sh file type to .editorconfig

Adds support for .sh file type in .editorconfig to ensure tab indentation style.
2026-02-24 18:41:51 +01:00
Laurent Destailleur
90070c8c7e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2026-02-24 18:18:15 +01:00
Laurent Destailleur
374d609ce8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-24 18:12:05 +01:00
Lucky
db3df89ee2 New options for withdraw control (#37179)
* New options for withdraw control

Add a new option "WITHDRAW_STRICT_CHECK_AMOUNT"
Transfer request control is based solely on the supplier invoice amount:
By default, once a request is made, even if its amount is less than the invoice amount, no additional requests can be made until the original request is validated (integrated into a transfer slip).
With this option, the control is applied to the sum of all requests, even if they are not integrated into a SEPA transfer slip.
The control verifies that the total sum of the requests never exceeds the invoice total.
By default, one or more requests exceeding the invoice amount can be entered; this option prevents this behavior.

This behavior is more logical and user-friendly, especially when transfer requests are made by technicians or buyers and the SEPA files are created by the accounting department.

* fix

* Update commoninvoice.class.php

* fichier lang

* Cast remaining amounts to float for precision

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-24 18:06:31 +01:00
Pierre Ardoin
df352dfbb3 NEW Support for __AUTHOREMAIL__ in fixed notifications (#37285)
* Update notification.php

* Update notify.class.php

* Update mails.lang

* Update mails.lang

* Update notify.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-24 17:53:24 +01:00
Alexandre SPANGARO
a7a5e211c2 NEW Accountancy - Transaction template system (#37286)
* NEW Accountancy - Transaction template system

* CI

* CI

* CI

* CI

* CI

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-24 17:50:20 +01:00
ATM-NicolasV
11e25b25fb New/add support microsoft exchange oauth (#37329)
* backport de la liste des ressources v23

* fix oauth api conexion

* fix oauth api conexion

* fix oauth api conexion

* Fix CI

* fix: in some case on create invoice when create PDF the lang is not correcly defined because ->thirdparty is not set (#37287)

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

* add microsoft exchange oauth

* add microsoft exchange oauth

* add microsoft exchange oauth

* add microsoft exchange oauth

* add microsoft exchange oauth

* Revert unintended changes to resource list

* Tidy OAuth logging and consent prompt

* Fix PHPCS blank line warnings

---------

Co-authored-by: ATM-Lucas <lucas.mantegari@atm-consulting.fr>
Co-authored-by: VIAL-GOUTEYRON Quentin <quentin.vial-gouteyron@atm-consulting.fr>
Co-authored-by: Laurent Destailleur <eldy@users.sourceforge.net>
Co-authored-by: HENRY Florian <florian.henry@open-concept.pro>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-24 17:48:29 +01:00
Charlène Benke
65516a3f99 Refactor notification type handling in card.php (#37321)
* Refactor notification type handling in card.php

we have email and sms feature
but it seems that sms is not well manager

Furthermore, it's not possible to manage other notifications (on a smartphone app, for example).

Ideally, this should be put in a dictionary.

* Initialize num variable before query execution

* Update card.php
2026-02-24 17:41:12 +01:00
MDW
84e509394c Fix: CI (#37324)
* Fix: key is never 'PAYMENT_CUSTOMER_CREATE'

* Fix: Update include path and formatting

- Update include path for versionmod.inc.php
- Apply code formatting

* Qual: Ignore phpstan notice

# Qual: Ignore phpstan notice

- Country code is already FR, but test can be useful in the future, so ignoring the notice.
- Code formatting

* Qual: Try exact match to suppress phpstan notice

# Qual: Try exact match to suppress phpstan notice
2026-02-24 17:35:35 +01:00
Ahmed Galadima
bb8285cb4d Fix recruitment API candidature creation validation (#37331)
Signed-off-by: Ahmed Galadima <ahmed.galadima@hotmail.com>
Co-authored-by: Ahmed Galadima <ahmed.galadima@hotmail.com>
2026-02-24 17:32:46 +01:00
Alexandre SPANGARO
36b07475dc Typo (#37326) 2026-02-24 17:30:44 +01:00
Laurent Destailleur
06d1b2bc14 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-24 14:16:44 +01:00
Laurent Destailleur
a705472811 Add usleep 2026-02-24 14:16:34 +01:00
Eric - CAP-REL
ff146c4713 handle race condition user with no right - prevent infinite loop (#37220) 2026-02-23 20:12:44 +01:00
John BOTELLA
3d88e03c88 UIUX : Dolibarr js context from experimental to core (#37228)
* 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

* Transfert feedback css from experimental to core

* Dolibarr JS context Tools from experiemntal to Core

* Fix lang public mode

* fix php phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix phan

* Fix multi instance of Dolibarr on same Domain

* remove french comment

* FIX phpdoc on createFixedAmountDiscount() (#37212)

* FIX phpdoc on createFixedAmountDiscount

* FIX phpdoc

---------

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

* Fix path

* 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

* Debug savedemo

* Fix mention

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
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: Vincent Penel <vincent.penel@atm-consulting.fr>
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: 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-23 20:11:39 +01:00