* WIP LNE
* Default value
* Fix trans and warning
* Doc
* Debug v23
* Debug v23
* Debug v23
* Doc
* New import Leave Balance (Datastructure) (#37001)
* New import Leave Balance (Datastructure)
* fix
---------
Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
* Qual: Update Phan baseline.txt with reduced issue counts (#36996)
This commit updates the Phan baseline.txt file.
* Better log
* Log
* Better error management
* Doc
* Fix error message
* CI
* Try to fix CI
* fix phan (#37007)
* CI
* fix phan (#37008)
PhanTypeMismatchArgumentNullable Argument 3 ($txt) is $productlot->batch of type ?string but \TCPDF::MultiCell() takes string defined at htdocs/includes/tecnickcom/tcpdf/tcpdf.php:5871 (expected type to be non-nullable)
* CI
* NEW Add new EUID number (#36997)
* Doc
* ci
* Fix CI
* Improve OAuth HTTP error details (#36951)
Keep throwing TokenResponseException on HTTP 4xx/5xx while also capturing the response body (ignore_errors) to include a short snippet for admins.
Co-authored-by: caminotravelcenter <caminotravelcenter@localhost>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW add import of leave balance (Implementation) (#37011)
* New add import Leave Balance
* add eof
* Update modHoliday.class.php
---------
Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW add image format avif (#37014)
* add format avif
* Update functions.lib.php
* Exclude non interesting warning
* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
* CI
* CI
* CI
* Trans
* CI
* CI
* CI
* Fix typo in phpstan.neon.dist for isset() rule (#37018)
See https://github.com/Dolibarr/dolibarr/actions/runs/21444577128/job/61756970301?pr=37017
* Remove jstz.min.js from JavaScript array (#37017)
jstz.min.js was deleted in 5599ac733b
* Remove jstz.min.js from JavaScript array (#37017)
jstz.min.js was deleted in 5599ac733b
* prevent ST_AsWKT() (#37013)
* prevent ST_AsWKT()
* Update commonobject.class.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* prevent ST_AsWKT() (#37013)
* prevent ST_AsWKT()
* Update commonobject.class.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Try to fix phan
* CI
* CI
* ci
* ci
* css
* qual: Update french texts (comments) to english (#37009)
* qual: Update french texts (comments) to english
* Qual: Update comment to english in card-rec.php and card.php
Translation of comments in the files card-rec.php and card.php.
* Qual: Translate comments to English
* Qual: Translate comments to English
* Fix space into tab
* Fix spelling
* Qual: Translate comments to English
* Update website.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* ci
* Clean code
* Fix test
* Debug v23
* Merge manually changes from #37012 that seems good.
* Log
* More robust phpunit
* Populate openid data from wellknow url (#37023)
* Delete inexistant file
File jstz.min.js was deleted in
5599ac733b
* Populate openid parameters from wellknow url
* CI
* Debug v23 - fix code for rounding
* MCP server sql part (#37025)
* Create llx_ai_request_log.sql
* Create llx_ai_request_log.key.sql
* Update 23.0.0-24.0.0.sql
* Update llx_ai_request_log.sql
* Update 23.0.0-24.0.0.sql
* Remove foreign key constraint from llx_ai_request_log
Removed foreign key constraint for fk_user in llx_ai_request_log.
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Debug v24
* Fix syntax error
* NEW allow to disable freezone product on takepos (#37004)
* allow to disable freezone product on takepos
* Conditionally add FreeZone product to menus
* Add NoFreeZoneProduct language entry
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix label of dispute
* [database] Minimum amount and subscription's amount formula description (#37021)
* Remove jstz.min.js from JavaScript array (#37017)
jstz.min.js was deleted in 5599ac733b
* prevent ST_AsWKT() (#37013)
* prevent ST_AsWKT()
* Update commonobject.class.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* css
* Update llx_adherent_type.sql
add minimumamount and amountformuladescription rows
* Update 22.0.0-23.0.0.sql
add minimumamount and amountformuladescription column
---------
Co-authored-by: hansemschnokeloch <hansemschnokeloch@users.noreply.github.com>
Co-authored-by: atm-jonathan <146709163+atm-jonathan@users.noreply.github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW: Display thirdparty name with ref in supplier orders linked objects (#36952)
Co-authored-by: Zakaria Boushaba <z.boushaba@vold.africa>
* css
* Debug v23
* Fix type
* CI
* CI
* Test without file list
* CI
* Add api document management for holiday (#36915)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW Invoice - List - use select2 multiselect for status (#36834)
* NEW Invoice - List - use select2 multiselect for status
* Optimize
* CI
* CI
* Review
* Duplicate line and last problem
* CI
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FIX Pb in total price of line when adding the discount of a down payment
when unit price was using a high accuracy.
* Clean code
* try to fix phan
* Fix phan
* Clean code
* Clean code
* Debug v23
* Fix LDAP
* fix facture.class.php (#37031)
* Debug v23
* Qual: Update french comments with 'nombre' (#37032)
Update french comments with 'nombre' in their phrasing
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* fix phan (#37029)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* fix phan (#37030)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Doc
* Doc comment
* FIX When bank direct debit SEPA ref is > 99
* Fix when there is more than 99 direct debit in same month
* Debug v24
* Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0
* CSS
* Fix when there is more than 99 direct debit in same month
* Debug v24
* FIX Division by zero
* FIX Division by zero
* More log
* More log
* More log
* More Log
* Fix IPN payment
* Fix IPN
* Log
* Clean code
* Debug v23 - Fix ipn for dispute and withdraw funds.
* fix CI (#37033)
* fix CI (#37033)
* CI
* fix french doc (#36897)
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix
* fix
* fix
* fix
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* Update html.form.class.php
* Update html.form.class.php
* Update index.php
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* Update modules_facture.php
* Update phpstan.neon.dist
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Translate French comments to English (#37044)
* Qual: Translate French comments to English
* Qual: Translate French comments to English
* Qual: Translate French comments to English ("niveau") (#37041)
Translate French comments to English (comments with "niveau")
* fix french doc (#37040)
* warning error if no societe->id defined (#37039)
* fix french doc (#37037)
* fix french doc
* Update dispatch.php
* Update dispatch.php
* Update graph.php
* fix french doc (#37047)
* fix french doc
* Update index.php
* Update index.php
* Fix CI
* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
* CI
* Fix CI
* Minimum amount and subscription's amount formula description (#37006)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Warning on export/import - Add isset() protection in Export::load_arrays() & Import::load_arrays() (#37043)
* Warning on export - Add isset() protection in Export::load_arrays()
* Warning on import - Add isset() protection in Import::load_arrays()
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Clean comment
* Warning on account model (#37042)
* Error on account model
* Simplify rowid assignment in accountmodel.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix#35394 Display public note on first page (#36993)
* Display public note (an incoterms and sales rep signat) only on real first page
* Display public note (an incoterms and sales rep signat) only on real first page
---------
Co-authored-by: vmaury <vmaury@vmaury-Lafite-Pro-16-AMD>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FIX: Add htmlname and selectedrate to parameters array for hook (#36998)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FIX: Add htmlname and selectedrate to parameters array for hook (#36998)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix CI
* Fix CI
* Fix CI
* Fix ci
* Qual: Translate French comments to English (#37052)
* Qual: Translate French 'valeur' in comments to English (#37051)
* NEW Accountancy - Select between accrual accounting and cash accounting (#37050)
* Qual: Translate french 'avec' comments to English (#37049)
# Qual: Translate french 'avec' comments to English
* FIX divisa rate indirect to direct because Dolibarr use indirect for default (#37046)
* FIX rate_indirect to rate_direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect : 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* FIX divisa rate indirect to direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect: 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* FIX divisa rate indirect to direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect: 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* FIX divisa rate indirect to direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect: 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* FIX divisa rate indirect to direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect: 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* Divisa rate direct
Direct : 1 Divisa Currency = X Currency Main.
Indirect: 1 Currency Main = X Divisa Currency.
Then for Dolibarr use is Indirect for default
* Add col rate_direct because Dolibarr use for.default rate indirect
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* CI
* Add thumbnails for avif (#37045)
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* vignette for avif
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FIX#36892
* NEW : Manage discount for all lines for supplier elements. (#36954)
* NEW : Manage remise for all lines for supplier elements.
* Cast remise_percent to float in updateline call
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix Signature position (#37048)
Move up the position of the signature to fix its explosion on 3 pages
* remove french doc and fix travis migration missing (#37053)
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* Clean up comments in card.php
Removed unnecessary comments from card.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Debug v23
* Fix CSS
* Fix CSS
* Fix sql syntax error
* Fix sql syntax error
* Add optionnal img to openid login (#37060)
* fix french doc (#37056)
* fix french doc
* fix french doc
* fix french doc
* doc translation
* doc translation
* doc translation
* doc translation
* doc translation
* load tables in init for create categorie table associated (#37059)
* Fix situation invoice
* Fix situation invoice
* Debug v23
* Link and filter on ountry for holiday types
* Link and filter on ountry for holiday types
* Trans
* Debug v23
* css
* CSS on current day
* Debug v23
* css
* More complete message
* Make array of dispute status a shared constant
* Debug v23
* Debug v23
* bad link on sql in fichinter list (#37081)
* bad link on sql in fichinter list (#37081)
* FIX: TakePOS, webapp-hardware-bridge and TakePOS-Connector for modern weighing scales (#37078)
* feat: CustomerDisplay through Webapp-Hardware-Bridge
* feat: WeighingScale through Webapp-Hardware-Bridge
* feat: WeighingScale through Webapp-Hardware-Bridge
* fix: looks like a typo
* feat: for small screens
* fix: attribut contenant le prix du produit ajouté
* feat: ajout d'un callback de gestion d'erreur
* Clean code for Takepos
* Debug v23
* Fix new path of dolreceiptprinter.class.php
* Adjust signature appearance position in PDF generation (#37076)
* EmailCollector: exclude sender emails/domains (#37075)
# Conflicts:
# htdocs/langs/en_US/admin.lang
Co-authored-by: braito4 <braito4@users.noreply.github.com>
* fix: dev/examples/zapier/package.json to reduce vulnerabilities (#37071)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-LODASH-15053838
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* translate french doc to english (#37064)
* fix french doc
* fix french doc
* fix french doc
* fix french doc
* fix
* fix
* fix
* fix
* Trans
* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
* Change translation function to transnoentities (#37065)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Change translation function to transnoentities (#37065)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW Show total multicurrency on payment (#37070)
* Total multicurrency
* Total multicurrency paiment
* total result multicurrency
* show total multicurrency
* Fix CI
* CLOSE#37085 - Popup notif is just under the menu bar
* fix: add missing geturl lib (#37088)
* Fix CI
* Restrict to modiied files
* #36843 Update card-rec.php (#37062)
The item desc is already added into the line when selecting the Item. No Need to concat it again when clicking the "add" button.
* Clean code
* Fix CI
* Doc
* Fix CI
* family assignment logic on user perms of external modules (#36456)
* family assignment logic on user perms of external modules
Updated family assignment logic to default to 'other' if family does not exist in $familyinfo.
* Update copyright year for Charlene Benke
* family assignment logic on user perms of external modules (#36456)
* family assignment logic on user perms of external modules
Updated family assignment logic to default to 'other' if family does not exist in $familyinfo.
* Update copyright year for Charlene Benke
* Fix comment and keep external modules out of core modules
* Close#36975
* Close#36975
* css
* NEW : hide remise_except unit price on invoice lines (#37066)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW(API): create fixed amount discount (#37091)
* NEW(API): create fixed amount discount
* FIX CI
* FIX CI
---------
Co-authored-by: Benjamin Falière <benjamin.faliere@altairis.fr>
* Fix phan
* CI
* FIX
* FIX
* NEW - Add substitution for deposit
---------
Co-authored-by: Laurent Destailleur <eldy@users.sourceforge.net>
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: MDW <mdeweerd@users.noreply.github.com>
Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: Alexandre SPANGARO <alexandre.spangaro@gmail.com>
Co-authored-by: Braito <braito4@hotmail.com>
Co-authored-by: caminotravelcenter <caminotravelcenter@localhost>
Co-authored-by: hansemschnokeloch <hansemschnokeloch@users.noreply.github.com>
Co-authored-by: atm-jonathan <146709163+atm-jonathan@users.noreply.github.com>
Co-authored-by: sonikf <93765174+sonikf@users.noreply.github.com>
Co-authored-by: Charlène Benke <1179011+defrance@users.noreply.github.com>
Co-authored-by: Thatoo <Thatoo@users.noreply.github.com>
Co-authored-by: Zakaria Boushaba <48571684+Boushabazakaria@users.noreply.github.com>
Co-authored-by: Zakaria Boushaba <z.boushaba@vold.africa>
Co-authored-by: Vincent Maury <artec.vm@arnac.net>
Co-authored-by: vmaury <vmaury@vmaury-Lafite-Pro-16-AMD>
Co-authored-by: Jyhere <jyhere@gmail.com>
Co-authored-by: Lenin Rivas <53640168+leninrivas@users.noreply.github.com>
Co-authored-by: ThomasNgr-OpenDSI <tnegre@open-dsi.fr>
Co-authored-by: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com>
Co-authored-by: LePat <patrick.muscat@gmail.com>
Co-authored-by: braito4 <braito4@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Vanyo <vanyolai@gmail.com>
Co-authored-by: AWeerWolf <74211972+AWeerWolf@users.noreply.github.com>
Co-authored-by: Benjamin Falière <121813548+BenjaminFlr@users.noreply.github.com>
Co-authored-by: Benjamin Falière <benjamin.faliere@altairis.fr>
Co-authored-by: Anthony Berton <anthony.berton@bb2a.fr>
* Fix mandatory fields JS: use name selector instead of id, fix undefined buttonName on create, fix HTML entities in alert message
* Update alert message for empty field validation
---------
Co-authored-by: Zakaria Boushaba <z.boushaba@vold.africa>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Implement external download option for supplier invoices
Added a new option to allow external downloads for supplier invoices, enhancing user flexibility.
* Add option for external download in supplier order
* Enable external download for supplier orders and invoices
Added conditions to enable external download for supplier orders and invoices based on configuration settings.
* Add direct download URLs for supplier orders and invoices
* Update copyright information in supplier_invoice.php
Added copyright notice for Pierre Ardoin for 2026.
* Update supplier_order.php
* Cast thirdparty ID to integer in fetch call
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* fix: use ob_end_clean() instead of ob_end_flush() in readfileLowMemory() (fixes#37239)
* fix: use robust ob level cleanup loop per hregis review
---------
Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Clean filenames with double spaces
If a filename contains double spaces, it can get uploaded in Dolibarr exactly as it is.
When listing the file or trying to download it, the dolibarr functions clear double spaces in the filename. In particular the alpha parameter for GETPOST.
This results in files being uploaded (e.g. attachments for invoices) than can get listed but remain inaccessible and even cannot get deleted via UI.
We either need to fix all these places to accept double spaces or we change a single location, when we sanitize filenames.
* removed white space
* FIX wrong $param parameter position
* FIX ok it's good ! ;-)
* Qual: Change field name to let phan warn about argument order
# Qual: Change field name to let phan warn about argument order
Most of the time print_liste_field_titre() is called with $param instead of $moreparam.
By changing the argument name, phan will warn if the position is likely incorrect when '$param' is used - it will not warn for cases where $option or another
name is used.
---------
Co-authored-by: Regis Houssin <regis.houssin@inodbox.com>