Commit graph

748 commits

Author SHA1 Message Date
MDW
d418a0a54c
Qual: More specific typing for setEventMessage(s) (#39383) 2026-08-05 10:19:17 +02:00
Frédéric FRANCE
0ace4d500b
FIX: Remove always-true error checks in mysql dump export (#39339)
$errormsg is initialized to '' just above and nothing sets it before
these checks in the mysql branch, so PHPStan correctly flags both
negated conditions as always true (booleanNot.alwaysTrue). Unlike the
postgresql branch below, this is the first $what branch evaluated, so
there is no earlier code path that could have set $errormsg yet.

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-07-31 21:34:51 +02:00
Laurent Destailleur
0ae4a4b2c7 The test on dolibarr_main_restrict_os_commands was moved into
dumpDatabase()
2026-07-27 11:38:37 +02:00
MDW
6196491e1b
Qual: Fix 'SqlInjection' notices (#39224)
# Qual: Fix 'SqlInjection' notices

Batch of 25 files with changes to fix 'SqlInjection' Notices
2026-07-20 02:51:54 +02:00
Laurent Destailleur
f02aba5488 Clean code 2026-07-18 18:31:45 +02:00
Laurent Destailleur
e4c593e0f9 Fix use of & char inside of mysql backup 2026-07-18 18:31:26 +02:00
minimexat
9e709619d9
FIX: correct security event entity SQL (#39141)
* FIX: Correct security event entity SQL

* Update ChangeLog

---------

Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-07-13 14:28:27 +02:00
minimexat
9105fa4813
FIX: escape session list fields (#39129)
* FIX: Escape session list fields

* FIX: Cast nullable session fields before escaping

* Update ChangeLog with new features and fixes

---------

Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-07-13 12:05:08 +02:00
w3houde
111f29e30a
Fix #37266 write document backup tar to a temp dir outside its own source tree (#38763)
* Fix #36510 advance pg sequence after forced-rowid dictionary insert (#38741)

Dictionary entry creation in admin/dict.php computes $newid = MAX(rowid)+1
in PHP and INSERTs with that rowid explicitly. On PostgreSQL the matching
serial sequence (<table>_rowid_seq) is never told about the manually
chosen value, so the next auto-increment insert (the next dictionary
entry, or any other code path that pulls from the same sequence) hits a
duplicate-key error mis-reported to the user as
'already existing record'.

Bump the sequence with setval(pg_get_serial_sequence(...), GREATEST(MAX,1))
right after a successful forced-rowid INSERT, gated on $db->type == 'pgsql'
so MySQL/MariaDB behaviour is unchanged.

Diagnosis by @hregis (#36510).

Signed-off-by: Dolicraft <contact@dolicraft.com>
Co-authored-by: Dolicraft <contact@dolicraft.com>

* Fix #35661 drop duplicated ref segment in notify pdf path (#38746)

The fixed-target branch of Notify::send built the PDF path as
"$dir_output/$ref/$ref.pdf" while $dir_output already includes the
get_exdir(...) ref subdirectory. The double ref segment made
dol_is_file always fail and the PDF was never attached when a
notification was routed to a fixed email address. The matching block
just above for user/group targets has always used the correct
"$dir_output/$ref.pdf" form.

Drop the extra ref segment so both branches produce the same path.

Signed-off-by: Dolicraft <contact@dolicraft.com>
Co-authored-by: Dolicraft <contact@dolicraft.com>

* Fix #38614 align extrafield help-row position with create form (#38753)

In admin/extrafields the create page renders the Help tooltip row right
after Totalizable, before the Css rows. The edit page renders it after
all Css rows, so jumping from create to edit visually moves the field
without any meaningful reason.

Move the <tr class="help"> row in admin_extrafields_edit.tpl.php to the
same position as in admin_extrafields_add.tpl.php (after Totalizable,
before Css edit). Pure markup ordering, no logic change.

Signed-off-by: Dolicraft <contact@dolicraft.com>
Co-authored-by: Dolicraft <contact@dolicraft.com>

* Fix #37266 write document backup tar to a temp dir outside its own source tree

htdocs/admin/tools/export_files.php at line 189 used to write the tar
archive directly under $outputdir = DOL_DATA_ROOT/admin/documents.
$outputdir is itself inside the directory being archived. Even with
`--exclude='documents/admin/documents'`, GNU tar notices the output
directory growing while reading the source and exits with code 1 plus
'file changed as we read it'. The check at line 194 treated any non-zero
return as fatal, short-circuited the gzip / bzip2 / zstd step and left
the user with an uncompressed .tar plus 'Error tar generation return 1'.

Write the tar to $conf->admin->dir_temp (which is outside the documents
tree), run the compression step against that temp file, then rename the
compressed artefact into $outputdir as the last step. Add the matching
cleanup paths so a failure does not leave temp tar / compressed temp
files lying around.

Signed-off-by: Dolicraft <contact@dolicraft.com>

---------

Signed-off-by: Dolicraft <contact@dolicraft.com>
Co-authored-by: Dolicraft <contact@dolicraft.com>
2026-06-13 01:34:57 +02:00
Laurent Destailleur
8de6796603 Debug v24 2026-06-02 18:18:44 +02:00
Laurent Destailleur
b116273033 Clean code 2026-04-23 17:41:15 +02:00
MDW
138056be91
Qual: Fix PHPStan notices (#37977)
* Qual: Fix PHPStan notices

# Qual: Fix PHPStan notices

* Qual: Fix Phan notices

* Qual: Fix PHPStan notices

* Qual: Fix nb field type hint

* Qual: Fix stats return type hints
2026-04-23 15:26:53 +02:00
MDW
e23059184f
Qual: Phan/fix for notices seen in #37875 & ci (#37876)
* Qual: Fix phan notice

Fix PhanTypeMismatchArgumentNullable: Argument 1 ($stringtosanitize) is $origin of type ?\CommonObject|?\CommonTrigger|?\DolDeprecationHandler|?array{}|?non-empty-array&lt;mixed,mixed&gt;|?non-empty-string|?string but \DoliDB::sanitize() takes string defined at htdocs/core/db/DoliDB.class.php:187 (expected type to be non-nullable)

* Qual: Fix PhanPluginSuspiciousParamPosition

# Qual: Fix PhanPluginSuspiciousParamPosition

Fix notices by using intermediate variable name that matches the parameter of the called function
where the original parameter name matches the name of a parameter in another position

* Qual: Fix PhanTypeMismatchArgument

# Qual: Fix PhanTypeMismatchArgument

Fix PhanTypeMismatchArgument: Argument 1 ($stringtosanitize) is $local of type int but \DoliDB::sanitize() takes string
in get_localtax_by_third($local) where local is an int already.
So use cast to (int) instead.
Also limit typehint of local to 1 and 2 which are the only allowed values

* Qual: Fix PhanTypeMismatchArgument in cloneCategories()

# Qual: Fix PhanTypeMismatchArgument in cloneCategories()

The argument $toId which is already an integer was passed to DoliDB::sanitize() which expects a string.
So casting to (int) instead to fix this.

* Qual: Ignore complex PhanUndeclaredStaticProperty

# Qual: Ignore complex PhanUndeclaredStaticProperty

Accessing static property provided by a trait on some classes - ignore the phan notice

* Qual: Phan ignore PhanUndeclaredMethod for getPossibleLevels

* Qual: Add typing hints for phan

* Qual: Add typehint for phan

* Qual: Remove redundant semicolon in objectonoff.php

# Qual: Remove redundant semicolon in objectonoff.php

Removed an unnecessary semicolon in the error handling loop of objectonoff.php.

* Qual: Fix PhanPossiblyUndeclaredGlobalVariable

* Qual: Ignore PhanPossiblyUndeclaredGlobalVariable
2026-04-15 17:59:06 +02:00
Laurent Destailleur
795e799815 Fix duplicate picto 2026-04-15 14:36:52 +02:00
John BOTELLA
aeea8c5724
New doc for hook (#37854) 2026-04-13 16:16:20 +02:00
Laurent Destailleur
6e143e41c0 Try CI fix 2026-04-12 13:07:40 +02:00
Laurent Destailleur
5ffe034229 CI 2026-04-11 16:32:03 +02:00
Laurent Destailleur
f16251abe2 CI 2026-04-08 03:23:03 +02:00
Laurent Destailleur
d09ccadb94 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2026-04-03 22:54:53 +02:00
Laurent Destailleur
ff9b2dda78 Fix trans and spellcheck 2026-03-31 23:54:33 +02:00
Laurent Destailleur
4bf7ed0861 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-29 21:32:22 +02:00
Laurent Destailleur
7ecc96478a Fix symetric rule to encrypt/decrypt on var (not used yet) 2026-03-29 21:17:32 +02:00
John BOTELLA
0fea494487
WIP : UIUX : Add tooltip doc and tooltip css alternatives needed for some cases in full js interface context (#37556)
* add tooltip doc

* add tooltip doc
2026-03-20 15:45:51 +01:00
John BOTELLA
559454e4d4
Fix : fontawesome icon list in doc (#37481)
* Fix fontawesome icon list

* Label

* remove useless test

* Fix doc php stan

* Fix doc php stan

* Fix doc php stan
2026-03-15 14:54:59 +01:00
John BOTELLA
a0ddd26b63
Uiux : Update event-message doc to include JS context set event tool (#37444)
* Update event-message doc

* php cs

* Try fix trafix how see ghost

* Try fix trafix how see ghost

* Try fix trafix how see ghost

* Try fix trafix how see ghost

* Try fix travis

* Try fix travis

* Try fix travis

* Try fix travis

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-15 11:00:08 +01:00
Laurent Destailleur
6aea3f6e16 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-14 19:18:35 +01:00
Laurent Destailleur
4b3443cd77 Doc 2026-03-14 19:07:25 +01:00
John BOTELLA
2a6d7739ba
UIUX : initNewContent event system (Dolibarr JS context) (#37394)
* Fix doc page

* wip doc

* Add doc

* Factoring
2026-03-05 01:13:38 +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
Lucas Marcouiller
be46c48f55
fix some technical debt (#37296)
* fix some technical debt

* fix CI

---------

Co-authored-by: Lucas Marcouiller <lmarcouiller@dolicloud.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-23 01:17:17 +01:00
Laurent Destailleur
a7a7dfb738 Debug v23 2026-02-08 21:34:12 +01:00
Laurent Destailleur
4224c9fc05 Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into 23.0 2026-01-26 19:34:10 +01:00
Anthony Berton
8dafeb0984
FIX - Save param SYSTEMTOOLS_MYSQLDUMP and SYSTEMTOOLS_POSTGRESQLDUMP (#36791)
* FIX - Save param SYSTEMTOOLS_MYSQLDUMP and SYSTEMTOOLS_POSTGRESQLDUMP

* Fix copyright formatting for Anthony Berton

---------

Co-authored-by: Anthony Berton <anthony.berton@bb2a.fr>
2026-01-24 16:28:08 +01:00
Laurent Destailleur
578a1ef568 Clean files 2026-01-07 19:01:54 +01:00
Laurent Destailleur
3be8bd3692 Look and feel v23 2025-12-29 16:53:04 +01:00
John BOTELLA
7494d8c2d1
UIUX : Experiment Dolibarr JS context and tools - Add tool for langs (#36389)
* Add more doc and simplify hook systeme uasge

* doc

* doc

* lang tool

* lang tool

* lang tool
2025-11-23 19:11:46 +01:00
John BOTELLA
c0c1c45680
UIUX : Experiment Dolibarr JS context and tools - More doc and simplify hook usage systeme (#36373)
* Add more doc and simplify hook systeme uasge

* doc

* doc
2025-11-23 01:54:37 +01:00
Laurent Destailleur
d571285a37 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2025-11-21 19:14:00 +01:00
Laurent Destailleur
424484a4c3 Debug v23 2025-11-21 19:11:32 +01:00
John BOTELLA
7415ae1597
UIUX : Experiment Dolibarr JS context and tools - Add context variables and improve documentation. (#36360)
* Add context variables and improve documentation.

* fix hook execution and add sequential await hook

* fix hook execution and add sequential await hook

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-21 18:35:01 +01:00
John BOTELLA
243e38ba46
UIUX : Experiment Dolibarr JS context and tools - SetEventMessage Tool (#36351)
* Add new experioement tool for dolibarr context

* Add new experioement tool for dolibarr context

* fix comment

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-20 23:55:23 +01:00
John BOTELLA
ec6219c183
UIUX : Experiment Dolibarr JS context and tools (#36327)
* UX experiment Dolibarr JS tools

* collapse help

* improuve logs
2025-11-19 19:42:00 +01:00
John BOTELLA
0d1fd4b9ff
New tooltip freeze from experimental to develop branch (#36266)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-17 22:36:21 +01:00
Laurent Destailleur
6161c491ae Trans 2025-11-17 15:10:05 +01:00
Laurent Destailleur
cb7d856aa1 Doc 2025-10-31 16:28:21 +01:00
Laurent Destailleur
5604df683d Backup/Restore is cleaner 2025-10-20 15:12:35 +02:00
Frédéric FRANCE
29b3880e6c
add dolBuildUrl (#35664)
* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

* clean baseline

* add dolBuildUrl

* add dolBuildUrl

* add dolBuildUrl

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-17 02:31:07 +02:00
ldestailleur
5aee279f5a Clean code 2025-10-10 14:47:31 +02:00
ldestailleur
77d7d17d4c Removed function getImgPictoNameList from functions.lib.php (useless) 2025-10-10 14:45:07 +02:00
John BOTELLA
f8b9748d49
New doc for intuitive table line selection (#35491)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-09-26 23:55:43 +02:00