15814 Commits

Author SHA1 Message Date
kkhelifa-opendsi
5475df50bf NEW: add new hook in BonPrelevement::EnregDestinataireSEPA() function (#37419)
* NEW: add new hook in BonPrelevement::EnregDestinataireSEPA() function

* Fix test CI

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-12 22:53:58 +01:00
Guido Schratzer
95579849dc FIX: filling of field amount_main_currency for foreign m… (#37439)
* FIX: Issue #37425 filling of field amount_main_currency for foreign money accounts

The parameter amount_main_currency (argument #13 of addline()) was previously
filled even when the bank account was already using the company main currency.

This caused the field amount_main_currency to be populated incorrectly for
transactions that were not foreign currency operations.

The logic has been updated so that amount_main_currency is only filled when the
transaction involves a foreign currency account. For accounts already using the
company main currency, the value is now left NULL as expected.

This aligns the behavior with the intended usage of addline() and prevents
incorrect data in bank transaction records.

* FIX: Issue #37425 filling of field amount_main_currency for foreign money accounts
transfer.php: PhanTypeMismatchArgument: Argument 4 ($amount) is price2num((-1 * (float)($amount[$n]))) of type string but \Account::addline() takes float defined at htdocs/compta/bank/class/account.class.php:611
CI-PULL-REQUEST / phan / Run phan
Check warning on line R189
Check warning:
transfer.php: PhanTypeMismatchArgument: Argument 13 ($amount_main_currency) is $amount_main_currency_from of type ?string but \Account::addline() takes ?float defined at htdocs/compta/bank/class/account.class.php:611
CI-PULL-REQUEST / phan / Run phan

* declare dateo

* declare of variables before action script

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-12 14:58:58 +01:00
nateogroup-antoine
e62d193997 FIX deprecated statut variable and reload object (#37449)
* Fixed a bug that initialized the deprecated status variable without initializing the new status variable.

Upon quote approval, the interface is based on “status” rather than “statut.” The approved quote still had the edit button visible.

* Fix reload object if not MAIN_DISABLE_PDF_AUTOUPDATE after addline or updateline

Fix reload object if not MAIN_DISABLE_PDF_AUTOUPDATE after addline or updateline

* Update card.php
2026-03-12 14:04:59 +01:00
Juan Pablo Farber
5e8bb7be8e QUAL Replace $_REQUEST superglobals with GETPOST() in projet and compta/tva (#37456)
* Fix: replace $_REQUEST with GETPOST() in projet/note.php

Use GETPOST('mode', 'alpha') instead of direct $_REQUEST['mode']
access to follow Dolibarr coding conventions for input sanitization.

* Fix: replace $_REQUEST with GETPOSTINT() in compta/tva/clients.php

Use GETPOSTINT('extra_report') instead of direct $_REQUEST access
to follow Dolibarr coding conventions for input sanitization.
2026-03-12 13:50:58 +01:00
Laurent Destailleur
2176229ffb Look and feel v24 2026-03-12 01:18:10 +01:00
Vincent de Grandpré
5079e49023 Fix #37465 (#37466) 2026-03-12 00:03:05 +01:00
Vincent de Grandpré
89eb9115b3 Fix #37465 (#37466) 2026-03-12 00:02:49 +01:00
Laurent Destailleur
59f2abede8 Look and feel v24
Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-11 20:47:00 +01:00
Laurent Destailleur
4522f558df Look and feel v24
Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-11 20:40:45 +01:00
Laurent Destailleur
a8b4e5d141 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-10 19:56:16 +01:00
Laurent Destailleur
7e203114eb Disable featureof rule for lines date too buggied.
Substitution date are corrupted by bad date values and feature speak
about payments/prepayments when this is just related to date!
2026-03-09 10:38:56 +01:00
Laurent Destailleur
4ad6d1b5b3 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2026-03-09 09:55:09 +01:00
Laurent Destailleur
baa1359021 FIX Bad value when entering price with multicurrency included tax.
Debug option PRODUCT_USE_CUSTOMER_PACKAGING not completely implemented
2026-03-06 01:21:04 +01:00
Laurent Destailleur
bc44247cd1 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-05 23:59:06 +01:00
Laurent Destailleur
c449bcf9f4 Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-03-05 23:55:56 +01:00
sonikf
015c9859cc fix broken label and its tooltip in Social or fiscal taxes table (#37401)
* fix label tooltip

* fix broken label and tooltip

* Update chargesociales.class.php

* Update index.php
2026-03-05 22:31:39 +01:00
Laurent Destailleur
3dfce11ae8 Merge 2026-03-05 00:42:13 +01:00
Laurent Destailleur
a0b7852d65 Fix missing link to list of events 2026-03-04 14:16:40 +01:00
Laurent Destailleur
6a12f5c6d5 Clean code 2026-03-03 20:13:58 +01:00
Laurent Destailleur
6fb8b21471 css 2026-03-03 17:17:01 +01:00
minimexat
175e677f2a fix: use client language for recurring invoice PDF generation (#37377)
When generating PDF for recurring invoices via cron, the system was
using the global $langs (system language) instead of the client's
configured default language.

Now uses the thirdparty's default_lang when MAIN_MULTILANGS is enabled,
matching the same behavior used in manual invoice PDF generation.

Fixes Dolibarr/dolibarr#27022
2026-03-02 05:57:28 +01:00
Laurent Destailleur
19f8fe8e63 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-02 03:14:24 +01:00
Laurent Destailleur
7c2e2f4c82 Add a protection against typo error of user. 2026-03-02 02:53:29 +01:00
Laurent Destailleur
3aaa626fd6 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-02-28 17:42:49 +01:00
Laurent Destailleur
97f1bbc219 Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-02-28 17:42:25 +01:00
Laurent Destailleur
c99e556ba8 FIX #36907 Close #37100 2026-02-28 16:50:41 +01:00
Laurent Destailleur
dbcac5bb33 css 2026-02-28 16:20:02 +01:00
Laurent Destailleur
a9c85c78e2 Automated merge from 23.0 to develop 2026-02-28 12:17:11 +01:00
Laurent Destailleur
6a458223b1 Automated merge from 22.0 by tool pullmerge.sh 2026-02-28 11:31:01 +01:00
Anthony Berton
ce02010542 FIX - Show POS in Order and Invoice list (#37364)
* FIX - Show POS in Order and Invoice list

* Update list.php

* Change $showpos value type from int to string

* Refactor POS fields visibility logic

---------

Co-authored-by: Anthony Berton <anthony.berton@bb2a.fr>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-27 17:15:41 +01:00
Laurent Destailleur
37cc867537 CI 2026-02-27 14:43:58 +01:00
Laurent Destailleur
7acb0e0d4d Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-02-27 14:36:22 +01:00
Laurent Destailleur
77ba059635 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 22.0 2026-02-27 14:35:48 +01:00
atm-jonathan
82ed704060 FIX duplicate str_replace() (#37355)
* duplcate str_replace()

* update addline and updateline logic TVA NPR
2026-02-27 14:30:06 +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
bde08e0868 Merge v23 2026-02-25 19:18:10 +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
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
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
Laurent Destailleur
65490c00c9 CI 2026-02-23 02:19:30 +01:00
HENRY Florian
d6f4bf8f03 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>
2026-02-23 02:10:32 +01:00
William Mead
9560eb00bd Updated PHPDoc with since tag (#37299)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-23 00:40:39 +01:00
MDW
1a8f540dc8 Fix: CI (#37320)
* Fix: http_response_code type

# Fix: http_response_code type

- Fixed http_response_code type

* Fix: Initialize refcashcontrol variable

Initialize refcashcontrol variable to 0 to ensure it is defined before use in the invoice.php script.

* Fix: Remove redundant check for BILL_SENTBYMAIL & $object type

# Fix: Remove redundant check for BILL_SENTBYMAIL & $object type

- Removed redundant check for BILL_SENTBYMAIL

* Fix: Correct date calculation for full year cash control

# Fix: Correct date calculation for full year cash control

Calculates the start date by subtracting one year from the end date.

* Qual: Add default batch value for invoice processing

# Qual: Add default batch value for invoice processing

Adds default empty string for the batch variable.

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-23 00:35:33 +01:00
Laurent Destailleur
9a9784238c Debug 2026-02-20 16:50:53 +01:00
Laurent Destailleur
bff98ad817 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 22.0 2026-02-16 21:11:20 +01:00
Laurent Destailleur
7ccd12e865 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2026-02-16 21:08:22 +01:00
Laurent Destailleur
e64ab3c751 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2026-02-16 20:51:44 +01:00
Laurent Destailleur
6adc5dc78d Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2026-02-16 20:47:21 +01:00
Laurent Destailleur
1a83124ca6 FIX closing an deposit invoice when payment was too high. 2026-02-12 00:38:04 +01:00