* CI
* CI
* CI
* CI
* Clean code. File not used.
* CSS
* CSS
* Fix phpunit
* More legal info
* CI
* Fix CI
* Fix: IRPF tax not applied when creating invoice from project times (#37077)
* Remove 'supplier_invoice' from old path array
* Update module path in arrayforoldpath
Sorry Eldy, I was confused. You are absolutely right, it is already corrected.
* Replace localtax2 assignment with get_localtax function
Error when creating an invoice with personal income tax from project times. The rate does not apply
* Refactor localtax1 calculation using get_localtax
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix: IRPF tax not applied when creating invoice from project times (#37077)
* Remove 'supplier_invoice' from old path array
* Update module path in arrayforoldpath
Sorry Eldy, I was confused. You are absolutely right, it is already corrected.
* Replace localtax2 assignment with get_localtax function
Error when creating an invoice with personal income tax from project times. The rate does not apply
* Refactor localtax1 calculation using get_localtax
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Protect module
* Add currency
* CSS
* WIP LNE
* Fix navigation
* cs
* Debug registration process
* Debug setup navigation
* CI
* CI
* Factorize code
* Fix CI
* Fix CI
* Fix CI
* CI
* CI
* CI
* CI
* Disable phan on v23
* CI
* CI
* FIX: missing include for blockedlog lib (#37165)
* Debug CI
* fix ternary always true (#37161)
* fix ternary always true
* Update requests.php
* Update registration.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* CI
* FIX: missing include for blockedlog lib (#37165)
* FIX#37134 Use json_encode for IMAP search logging in EmailCollector (#37135)
var_export() produces multiline output that breaks log aggregators
(Loki, Splunk, Elasticsearch) as each line becomes a separate log entry.
Using json_encode() produces single-line structured output that works
correctly with all log aggregation tools.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Populate syslog with placeholder (#37163)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Doc
* datamodel for user change password next time (#37155)
* Qual: Update phan baseline (#37172)
* Fix typo in file path (#37160)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix phpunit
* Complete call to setStatus so we have a trigy as 4th parameter (help to
fix the #37129)
* FIX Product - Warning on admin (#37157)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FIX Product - Warning on admin + CSS (#37158)
* FIX Product - Warning on admin
* CSS
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* CI
* CI
* CI
* Avoid error if include fails
* More functions in blacklist (even if nw we use the whitelist by default)
* #37166 [SQL] add: email template for ticket admin creation (#37182)
* Replace var_export with new function formatLogObject (#37178)
* FIX BOM - Class product missing, column offset and information recording (form/input overlap) in admin (#37177)
* FIX BOM - Class product missing in admin
* Fix column offset and information recording (form/input overlap)
* ci
* ci
* FIX Intracommreport - Warning & link problem on tab (#37176)
* FIX Bank transfer admin - Warning & save 0 on constant PAYMENTBYBANKTRANSFER_ADDDAYS (#37175)
* Look and feel v24
* Update default time handling in index.php (#37150)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix file path comment in supplier invoice module (#37133)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix file path comment in supplier invoice module (#37133)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix CI
* Add template in migration
* fix phpdoc comment (#37184)
* fix phpdoc comment
* fix phpdoc comment
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* CI
* Fix phpstan
* Replace var_export by formatLogObject (continued) (#37188)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Debug amount suggested on membership public form
* Issue 36923 Fix session title handling in survey creation (#37105)
* Issue 36923 Fix session title handling in survey creation
* Change input field to use id attribute for title
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* fix phpstan errors blocking action baseline (#37189)
* fix phpstan errors blocking action baseline
* fix phpstan errors blocking action baseline
* fix phpstan errors blocking action baseline
* fix phpstan errors blocking action baseline
* fix phpstan errors blocking action baseline
* refresh baseline
* QUAL Replace var_export() with json_encode() in dol_syslog() calls (#37138)
var_export() produces multiline output that breaks log aggregators
(Loki, Splunk, Elasticsearch, Graylog) as each line becomes a separate
log entry.
json_encode() produces single-line structured output that works correctly
with all log aggregation tools. This pattern is already used elsewhere
in Dolibarr (accountancy, install modules).
Files changed:
- core/class/commoninvoice.class.php (payment intent logging)
- core/class/commonobject.class.php (payment terms logging)
- core/modules/mailings/advthirdparties.modules.php (mailing targets)
- core/modules/oauth/google_oauthcallback.php (userinfo logging)
- core/modules/oauth/generic_oauthcallback.php (userinfo logging)
- public/payment/newpayment.php (GET/POST debug logging)
- public/payment/paymentok.php (payment tag logging)
- public/stripe/ipn.php (Stripe event data logging)
- paypal/lib/paypal.lib.php (PayPal response logging)
- api/index.php (API debug logging)
- stripe/class/stripe.class.php (payment/setup intent logging)
Co-authored-by: f-hoedl <hoefla14@htl-kaindorf.ac.at>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix CI
* CI
* Check if upload_max_filesize is not empty
* clean code
* Debug v23
* CI
* Fix#33521 VAT total false (#36990)
* - Fix#33521 VAT total false
- Fix some warnings
- Fix : delete $this->vat_rate
* - Fix#33521 VAT total false
- Fix some warnings
- Fix :delete $this->tva array (replaced by $this->tva_array)
* - Fix#33521 VAT total false
- Fix some warnings
- Fix :delete $this->tva array (replaced by $this->tva_array)
* Update pdf_octopus.modules.php
* Update pdf_octopus.modules.php
* Update pdf_octopus.modules.php
* Update pdf_octopus.modules.php
* Update pdf_octopus.modules.php
---------
Co-authored-by: vmaury <vmaury@vmaury-Lafite-Pro-16-AMD>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW #25829 Automatically send the invoice generated from a template (#36967)
* Update DB
* ADD email template
* Ajout d'une clé de trad
* Ajout des traductions
* Suppression des traductions, sauf en_US
* Add flag auto send
* Modif form + cron auto send
* Suppression auto_send
* correction loopError
* ajout du selected au model de mail
* Prise en compte default model
* Fix pre-commit
* ménage
* precommit
* Correction Phan
* Correction Phan
* Correction, double cal du trigger
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Develop force user change pass userclass (#37174)
* datamodel for user change password next time
* add force_pass_change in user object
* Initialize force_pass_change to 0
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Another step for #37171
* Qual: Partial phan run on PR's, complete run on integration branches (#37186)
* Qual: Partial phan run on PR's, complete on main
# Qual: Partial phan run on PR's, complete on main
The selection is based on the branch name.
To run a complete phan run in a PR, the branch name of the PR must include phan_full.
This can help to fix remaining phan issue before re-integrating to the develop branch.
* qual: Update workflow and pre-commit configurations
- Enable phan workflow by uncommenting the relevant lines
- Update actionlint version to v1.7.10
- Add manual stage to actionlint hook in pre-commit-config.yaml
* qual: Update Phan analysis conditions
The conditions for running Phan analysis have been updated to include an additional check for branches containing 'phan_full'.
* qual: Update Phan workflow
- Replace github.event.ref with github.ref_name
- Add FILE_CHANGE_LIST environment variable for better file handling
- Update file list creation and usage in the workflow
* qual: Update Phan workflow conditions
Fix the branch reference (head_ref in PR, ref_name otherwise)
* Add step for debug information
* Remove debug step
* Fix: Missing initialisations members/new.php
Following a suppression of assignments, the variables disabledphy and disabledmor were undefined.
* fix: Update budget selection dropdown arguments in member creation form
Correct the arguments in the member creation form.
* qual: Add cs2pr to phan workflow
- Add cs2pr to the tools list in the phan workflow
- Change the output mode of phan to checkstyle
- Add a step to add results to PR as Github notices
- Add a step to provide phan log as artifact
* qual: Update Phan workflow to use environment variable for file list
The change fixes the Phan workflow to use the environment variable `$FILE_CHANGED_LIST` to clear the file
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix phan
* Fix phan
* Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0
* Doc
* Qual: Fix ambigious redirect error on Phan workflow (#37200)
# Qual: Fix ambigious redirect error on Phan workflow
Rewrote the shell command that is supposed to suppress a file contents
but is flagged by the environment.
* PHPStan > Update baseline (#37197)
Co-authored-by: Dolibot <dolibarr-bot@users.noreply.github.com>
* Typo fix (#37195)
* Debug v23 - filters on agenda pages
* css
* css
* css
* qual: Update PHPStan workflow to run on all files in integration (#37207)
The PHPStan workflow has been updated to run on all files in integration branches.
* Fix CI
* Add hook in isEditable()
* Debug v23
* CLOSE#37190 ODT Templates for thirdparties - Birthday is returned in epoch format (#37198)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* fix: Remove HTML from accounting menu tooltips in eldy theme (#37203)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Update spelling (#37199)
* Qual: Update spelling for pre-select variants
# Qual: Update spelling for pre-select variants
In English, preselect is without the hyphen. Update text and made some translations
related to preselect.
* Qual: Update composant to component and/or adequate translation.
# Qual: Update composant to component and/or adequate translation.
"Composant(s)" was mostly referenced in french file/class comments.
Updated
* Qual: Fix misspellings related to "criteria"
# Qual: Fix misspellings related to "criteria"
* Qual: Fix produt misspellings
# Qual: Fix produt misspellings
Change 'produt' to 'product'.
* Qual: Update French comments with "composants"
#Qual: Update French comments with "composants"
- Translating French comments to English (avoid codespell notice)
* Qual: Fixed typo 'bad practive' to 'bad practice'
# Qual: Fixed typo 'bad practive' to 'bad practice'
* Qual: Update phan.yml to exclude specific files from analysis
- Added file exclusion pattern to match phan configuration
- Added check for empty file list to avoid unnecessary phan execution
* Qual: Update file filtering in phan.yml workflow
The change updates the file filtering process in the phan.yml workflow to correctly redirect the output of the grep command to a temporary file.
* Qual: Ignore $systemfunction always exists
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Error handling methods for commonobject (#37201)
* Error handling methods for commonobject (#37201)
* NEW Can request and force user to change its password (#37196)
* force user to change password : redirect to user card on login
* force user to change password : redirect to user card on login
* redirect to a dedicated page
* bad old idea : self change passwd on user card + edit mode and rights: it makes a hole on security check
* only apply on dolibarr auth mode context
* only on dolibarr auth mode context
* Fix force_pass_change SQL assignment logic
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Doc
* Setup easier to understand between INVOICE_CHECK_POSTERIOR_DATE and
FAC_FORCE_DATE_VALIDATION
* Setup easier to understand between INVOICE_CHECK_POSTERIOR_DATE and
FAC_FORCE_DATE_VALIDATION
* Prepare 23.0
* Qual: Ignore exit code from `grep -v` in phan flow (#37213)
# Qual: Ignore exit code from `grep -v` in phan flow
`grep -v` returns 1 when the resulting filtered list is empty and would stop the execution.
This is fixed with `|| true` to have a final exit code that is 0.
* WIP LNE
* Debug v23
* Debug v23
* WIP LNE
* FIX Bad header name
* Fix CSP for ping
* Compatibility with multicompany
* Debug
* Fix include
* Fix_massaction_withdraw_control
Include pending transfer receipt amounts in bank transfer request validation
This code ensures that when creating a new bank transfer request for a supplier invoice, the system also checks for amounts that are already in generated but unprocessed transfer receipts.
Summary:
The second query ($sqlPending2) retrieves pending amounts from the prelevement_lignes table where the transfer receipt has been created but not yet executed (status = 0 or NULL).
This prevents users from requesting a bank transfer that would exceed the invoice total by accounting for:
Pending requests not yet included in any transfer receipt
Amounts already included in transfer receipts waiting to be processed
* FIX phpdoc on createFixedAmountDiscount() (#37212)
* FIX phpdoc on createFixedAmountDiscount
* FIX phpdoc
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix in card css modal display (#36569)
* Fix display of cards in a modal
* fix php stan
* fix php stan
* Try a change to force CI
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* More complete data on pings.
* Debug v23
* Debug initdemo
* Debug initdemo
* Debug initdemo
* Debug v23
* Update initdemo
* Update initdemo
* Cleaner GET call
* Add id of perm in url
* Init demo for v24
* Fix translation of "various payment" (not english, not pro) with the
term used in english to mean "Opérations diverses (OD)"
* Sync transifex
* CSS
* Trans
* Doc
* Trans
* Debug v23
* Debug v23
* Trans
* Debug v24
* Debug v23
* Debug v23
* WIP
* Debug v23
* Debug v23
* Debug v24
* Work on LNE
* WIP LNE
* Debug v24
* Doc
* Translation
* Sync transifex
* Debug
* Debug
* Debug
* Responsive
* Dev control archive integrity
* Debug
* Update supplier_proposal.lang (#37238)
* add company name on dropdown contract list (#37245)
* Clean dump file
* Fix CI
* FIX#37246 Modifying resteapayer calculation for credit note (#37247)
* Add 'type' parameter to completeTabsHead hook (#37235)
* #37257 FIX for piesemicircle (#37258)
* Fix#37227Fix#37233
* Fix#37227Fix#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
* traduction for massaction withdrawal control
* Add method to chech if invoice can be replaced
* Fix return
* Debug v24
* Fix CI
* fix commoninvoice.class.php (#37267)
* fix commoninvoice.class.php
* Update commoninvoice.class.php
* CI
* CI
* Debug v23
* CI
* Fix CI
* Debug v23
* clean code pdf.lib.php (#37265)
* clean code pdf.lib.php
* Update pdf.lib.php
* Update pdf.lib.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* FixCI
* FIX: linktoref should be able to receive more than 255 chars (#37262)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW Increase satement decription to 12 on card payment, 22 on sepa
* CI
* Restore deleted file
* Add $dolibarr_main_restrict_eval_methods to install step1.php (#37268)
Since this variable has a significant impact in future versions of Dolibarr, it is preferable that it be directly included in the conf.php file created during installation.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: Laurent Destailleur <eldy@users.sourceforge.net>
Co-authored-by: Yamil Esteban Garcia <120027058+developmentOYR@users.noreply.github.com>
Co-authored-by: Noé Cendrier <81741011+altairis-noe@users.noreply.github.com>
Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: minimexat <minimexat@gmail.com>
Co-authored-by: hansemschnokeloch <hansemschnokeloch@users.noreply.github.com>
Co-authored-by: Eric - CAP-REL <1468823+rycks@users.noreply.github.com>
Co-authored-by: MDW <mdeweerd@users.noreply.github.com>
Co-authored-by: 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: John BOTELLA <68917336+thersane-john@users.noreply.github.com>
Co-authored-by: Charlène Benke <1179011+defrance@users.noreply.github.com>
Co-authored-by: demiton <fabien.cisse@gmail.com>
Co-authored-by: Jyhere <jyhere@gmail.com>
Co-authored-by: Delthair <41671350+Delthair@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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>
* Fix: avoid empty from_template id on first email form display
* first try
* work now
* work with fourn
* perfect.
* perfect.
* Update list.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* NEW 21.0 - tab on recurring invoice card to see the list of invoices generated from this recurring invoice (customer and supplier invoices)
* tab on recurring invoice card: missing url param in $param
* tab on recurring invoice card: stronger typing for phpstan compliance
* tab on recurring invoice card: wrong typing in phpdoc of supplier_invoice_rec_prepare_head
* Qual: Enable & fix or ignore Invalid DimOffset
# Qual: Enable & fix or ignore Invalid DimOffset
The Invalid DimOffset notices occur when array keys are defined and
the index used is not amongst the known array keys.
This PR enables these notices and fixes array definitions when needed,
or ignores the notices locally if it's a false positive, or in the
baseline.txt when it does not seem to be a false positive so that
it can be fixed later
* Nullable object typing in function signature not ok for 7.0/8.4
Can't user '?User' as argument type for PHP7.0 which is required by PHP8.4.
Therefore, removing the typing specification in the function definition
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Fix extraparams property typing
* Fix argument typing
* Fix 'status' argument type in calls to dolGetButtonTitle
* Fix argument2 for price to 1 (was 2)
* Fix deliveryreceipt argument
* Fix PHPDoc dol_sort_array
* Fix range for int argument
* Fix arg type for str_pad and add some PHPDoc
* Fix natsort value for dol_sort_array
* Fix arguments on calls to dol_sort_array
* Reduce phpstan exceptions
* Qual: Add type hints for Stripe objects
# Qual: Add type hints for Stripe objects
Suggest the more specific implementation of the StripObject.
* Typing, initialisation
* Qual: Fix undeclared variables
* Update phan baseline
* Update baseline
* Qual: Add type hints for Stripe objects
# Qual: Add type hints for Stripe objects
Suggest the more specific implementation of the StripObject.
* Add PHPDoc for host class properties
* Ignore false positive (phan) for deprecated property
* Improve typing
* Update baseline