271 Commits

Author SHA1 Message Date
Laurent Destailleur
6df93d0fb9 Debug v23 2025-11-05 21:24:19 +01:00
Laurent Destailleur
c03026a41d Debug v23 2025-10-23 14:59:19 +02:00
ldestailleur
21ff19cec3 Add another way to know if local ta must be used or not. 2025-10-03 15:43:55 +02:00
ldestailleur
4a363478ae Clean code with rector 2025-09-18 16:26:38 +02:00
Lenin Rivas
2fbda7b4f4 NEW line input multicurrency price with tax (#35064)
* Multicurrency input price with tax

* Multicurrency input price with tax

* Multicurrency input price with tax - line tittle

* Multicurrency input price with tax - line view

* PriceUTTCCurrency in lang

* Multicurrency input price with tax - line view

* Multicurrency input price with tax - line edit

* Update objectline_edit.tpl.php

* Update objectline_view.tpl.php

* Update objectline_edit.tpl.php

* Update objectline_title.tpl.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-09-08 01:37:33 +02:00
ldestailleur
a1661e35e4 Merge branch '22.0' of git@github.com:Dolibarr/dolibarr.git into develop 2025-08-21 11:12:35 +02:00
ldestailleur
dd0679db44 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 22.0 2025-08-21 11:09:10 +02:00
ldestailleur
7878d81e33 FIX #34986 2025-08-21 11:02:48 +02:00
Frédéric FRANCE
6b4ec088cf fix doc (#34952) 2025-08-14 19:08:12 +02:00
ldestailleur
daae9593d6 Fix warnings 2025-07-19 17:48:42 +02:00
ldestailleur
36b00c5951 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop 2025-06-02 14:59:18 +02:00
ldestailleur
14c2db425d Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-06-02 14:53:12 +02:00
ldestailleur
ca11136092 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-06-02 14:37:54 +02:00
ldestailleur
11d357b79e Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-06-02 14:31:05 +02:00
lvessiller-opendsi
efb9327896 FIX local taxes text in object line view mode (#34103) 2025-05-12 20:09:16 +02:00
Yannis Hoareau
1301cd36a1 NEW Subtotal module (#33502)
* Changes to follow mvc logic

* Reworked admin page and form to add lines

* Reworked adding line logic

* Adding options when editing subtotal lines

* Fix translations

* Fixed errors/displays and started pdf

* Color for subtotals pdf lines

* FIX display of subtotal totht

* Added pdf azur for propal

* Fix duplicate translation

* Added subtotal support for facture pdf

* Added subtotal support for commande pdf

* Improve UI/translations

* Restored old pdf

* Info to warn user for unsupported pdf

* Added title lines VAT rate and discount support

This is meant for future feature wich is block mass changing vat rate
and discount percentage

* Working on block apply vat and discount

* Added buttons for block actions

* Handle editing vat and discount for subtotal lines

* Editing vat and discount for subtotal lines bloc working

* Added possibility to move by block

* Updated adding and updating a subtotal line

* Improved vat and discount block update

* Improvement for block vat/discount and line edition

Editing a title line edits the corresponding subtotal line

* Improvement for moving by block

* Bad tile or st line placement managing

* Improved bad title or st line placement managing

* Adding subtotal line improved

Adding a subtotal line adds it right under its corresponding title

* Improved deleting subtotal line

Added possibility to choose if you want to delete the corresponding
subtotal line when deleting a title line

* Preventing too high level titles to be created

* Create and update line errors managing

* Improved bad title or st line placement managing

* Improved st line creation

* improve headers

* fix bad block placement managing

* fix adding st line not working if duplicates titles

* fix translations

* Fix block update

* FIX special chars bug

If special char like " ' " was used in title it could be converted to
special char entity.

* Prepare for pdf options

Pdf options like page break befor title should be shown as a picto if activated on a subtotal line on a document

* Added option managing

* Improved subtotal options and PDF integration

* Code refactor

* Action name/Error managment/PDF refreshing

When adding or updating a subtotal line

* Reformat

* Reworked subtotal options database managment

* Changed access to special code

* Remove unecessary call to php trait

* Changed definition of subtotals special code constant

* Reworked align on PDF

* Removed unecessary function and improved error managment

* Typo fix and removed treated todos

* Post typo changed for to better match subtotals names

* Disabled edit if status is not draft

* Changed way subtotals options are stored

* Added view managing when creating a document form an other

* Improved creating document from an other

Can check subtotals lines with table head checkbox and removed highlight
class for better UI.

* Make include of subtotals tpl more clear

* Manage centered or justified case

If user chose to center or justify, we don't change nothing

* Improved pdf

* Removed unecessary code block

* optimisation

* Code sniffer fix

* Code sniffer fix

* Code sniffer fix

* Code sniffer fix

* Code sniffer fix and added missing translation

* Fix php code sniffer

* Reload page when setup saved on subtotals admin page

* Fix php code sniffer

* pjan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* phan fix

* php warning fix

* php warning fix

* php phan fix

* php phan fix

* php phan fix

* Fix bug admin page not loading because of const not defined

* php phan fix

* php phan fix

* FIX subtotals admin page display

* php phan fix

* FIX php phan

* Fix bugs and langs

* Fix bug pdf align

* Replace include by require

* Add headers to avoid refreshing and adding unwanted lines

* Fix phan

* Add GETPOST check for security

* Fix phan

* Fix phan

* Fix phan

* Subtotal option when creating a document from another

* Fix phan

* Add field subtotal options for subtotal lines

* Fix phan

* Fix phan

* Fix phan

* Update to follow mvc

* Fix php phan

* Fix php phan

* Fix phpstan/phan

* Fix phpstan

* Fix phpstan

* Fix phpstan

* Fix phpstan

* Fix phpstan

* Update to switch to extraparams

* Update to switch to extraparams

* Retrieve extraparams from db to objectline

* Modified last things to switch to extraparams

* Cleaning unnecessary code lines

* Fix php-stan

* Section subtotal in extraparams to differentiate if needed for further devs

* Fix phan

* Keep extraparams when creating from another object

* Change default value to false when creating a subtotal line

* Fix clone would not keep extraparams in new object

* Fix dark subtotal line background color

Fix when a subtotal background color is too dark and edit pencil or
delete trash could not be seen

* Fix typo

* Fix typo

* Added subtotals for facturerec

* Fix precommit

* Added extraparams when creating rec from fac and other way

* Fix phan

* Fix objectline null

* Desactivating block vat / discount update for facturerec

* reformating code

* Added expeditions for subtotal

* Save extraparams for shipping lines

* Display of subtotals lines in shipments

* Display when creating facture from shipments

* Improve display of lines and invoice creation from shipments

* Fix error if missing line rang

* Deleted duplicate

* Added deletion of subtotal line in shipping documents

* Not including subtotal lines if there is no product line in between

* Update get subtotal lines in shipment docs to disable

* Delete possibility to edit subtotal lines in shipments

* Handle pdf for shipment

* Handle conf stock or shipment supporting services

* Fix precommit

* Fix duplicate name creating bug

* Fix bug where id could be changed by the line id and would create bug

* Deleted subtotal lines when STOCK_SUPPORTS_SERVICES is enabled and block would only have service lines

* Disable shipments in admin modules

Shimpements subtotals lines are only created from commands

* Fixing phan and stan

* Deleted unused template and phan fix

* Fix phan

* Fix phan

* Fix phan

* FIX: phan

* Fix template bug

If document was not in subtotal scope and would use a template used by
subtotal it would create an error.

* Fix php-stan

* Fix bad display when modules and confs were activated

* Fix php codesniffer

* Excluding subtotal lines when mass updating

* Fix shipments service lines exluded + showing subtotal line with specific configs

* Fix line display with situation invoices + bug block line update

* Added ODT managment

This works with invoices but has not been tested with other documents

* Fix bug when editing VAT/discount by block

* Fix error raised when subtotal line added

Subtotal line had no fk_product and raised the error but we want this
line to have no fk product

* Fix precommit

* Added ODT template for documents that uses subtotals

This template can be usefull to understand how to create an odt template
using subtotals module

* Fix phan

* Fix phan

* fix: buttons showing in bad document status

* clean: unwanted commited files

* add: table examples to use with subtotals on ODT templates

* fix: Unwanted print of value when creating a document from another

* feat: renaming for better understanding

* feat: Improved templates for documents related to subtotals

---------

Co-authored-by: Marc de Lima Lucio <68746600+marc-dll@users.noreply.github.com>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-05-10 02:44:31 +02:00
ldestailleur
c23d5be678 Clean code 2025-04-02 13:23:05 +02:00
kkhelifa-opendsi
73e54ae77e FIX: rename and add class for column total_ttc in line template (view and title) (#33590) 2025-03-24 16:39:13 +01:00
MDW
c3104905b3 Qual: Fix phan notices (html/core) (#33474)
* FIX: Replace compromised tj-actions/changed-files

# FIX: Replace compromised tj-actions/changed-files

See https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised .

* Add changed php file for test

* Qual: Fix phan notices (html/core)

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-03-15 16:34:35 +01:00
MDW
7150af31dc Fix Phan notices introduced since 30/12/2024 2025-01-27 13:24:29 +01:00
Laurent Destailleur
49d103366d Merge branch 'develop' into 2024_new_factoring 2024-12-24 00:28:00 +01:00
Frédéric FRANCE
a6de5d6d5c fix phpstan 2024-12-20 12:14:09 +01:00
John BOTELLA
42974ced26 fix indent 2024-12-20 12:04:03 +01:00
John BOTELLA
41309e3cc0 Add hook 2024-12-20 11:33:58 +01:00
Regis Houssin
977aa546f1 FIX phpstan error 2024-12-13 07:43:15 +01:00
Laurent Destailleur (aka Eldy)
02ae579a3f Add information to help debug 2024-12-12 15:42:14 +01:00
atm-corentin
3bd2aa1921 FIX tpl object line because the was twice marginclass2 on col margin rates but also on mark rates (#31774)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-11-12 13:48:12 +01:00
Laurent Destailleur
3448985640 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-11-11 14:45:43 +01:00
Laurent Destailleur
86f80d0da5 Debug v21 2024-11-11 14:00:39 +01:00
Frédéric FRANCE
92ef950e6d fix phpstan (#31761)
* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* hide new error with phpstan 1.12.9
2024-11-10 23:47:14 +01:00
Frédéric FRANCE
15490b292f fix phpstan and fix CI (#31739)
* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan
2024-11-10 11:16:23 +01:00
Laurent Destailleur
57546cd581 NEW Show detail of each multicurrency amount in popup of price 2024-11-08 18:11:30 +01:00
Frédéric FRANCE
1adc883b56 add baseline exclude for phpstan (#31632)
* add baseline exclude for phpstan

* update

* update

* update

* update

* update

* merge

* restore one filter

* delete old errors

* fix

* fix

* fix

* $moreforfilter can t be empty

* fix

* enable check

* refresh baseline

* add phpdoc

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* update phpstan baseline

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-11-04 23:53:20 +01:00
MDW
e7539f2e19 Qual: Fix notices in .lib.php files (#31672)
* Qual: Fix notices in .lib.php files

* Update wrapper.php

* Update availabilities_card.php

* Update index.php

* Update document.controller.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-11-04 12:32:13 +01:00
MDW
76d801dcb3 Qual: Fix phan by adding typing hints, fix arguments (#31466)
* Do not analyze custom

* Update baseline, ignore everything in custom

* Qual: Fix notices in files related to ticket class

* Qual: Add typing hints to tpl files + other 'fixes'

* Qual: fix typing issu gy typing intermediate variable
2024-10-20 01:57:12 +02:00
Frédéric FRANCE
affdfd304f rename get_allprev_progress to getAllPrevProgress (#30077)
* fix phpstan

* fix phpstan

* add token

* fix

* add replace

* Update facture.class.php

* Update factureligne.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-09-28 11:10:57 +02:00
Frédéric FRANCE
000173c7b9 fix phpstan (#31075)
* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-09-23 01:59:14 +02:00
Laurent Destailleur
dcfaae3bd5 Clean code: fight against global vars 2024-08-27 06:20:04 +02:00
MDW
203cbb7023 Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp (#30557)
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Update phan baseline (remove PhanTypeInvalidLeftOperandOfNumericOp)

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Fix: Change argument '' to null as by getAvailableDiscounts signature

* Qual: Cast '' to float for Phan notice

* Fix: Convert $number with price2num before using this parameter

* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp

These changes ensure that the left operand is a numeric value

* Add cast to ensure fmod is presented with floats
2024-08-15 16:57:02 +02:00
MDW
8b71242997 Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests (#30544)
* Remove PhanPluginDuplicateExpressionAssignmentOperation from baseline

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* fixup! Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-08-07 02:53:45 +02:00
Alexandre SPANGARO
96afcaa476 Better comments (#30200)
* Fix language

* Fix language

* Fix language

* Fix language

* Fix language

* Fix language

* Fix language

* CI Missing language key

* Update eventorganization.lang

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-06-30 21:02:50 +02:00
Laurent Destailleur
4ebb1c2ce1 Clean code 2024-06-18 21:34:54 +02:00
Laurent Destailleur
f7c84c6621 Merge manually first step for situation invoice from #29897 2024-06-18 20:21:56 +02:00
Laurent Destailleur
3516746a10 Add tooltip to help debug 2024-06-18 16:40:28 +02:00
Laurent Destailleur
50cd81ef93 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-05-16 13:16:18 +02:00
Laurent Destailleur
885c3e429a FIX Missing the description in tooltip when option show in tooltip on
and MAIN_ENABLE_AJAX_TOOLTIP on too
2024-05-16 12:48:18 +02:00
Frédéric FRANCE
d6c4db0665 statut is deprecated (#29364) 2024-04-18 14:38:43 +01:00
Laurent Destailleur
612e41a8ca Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/commondocgenerator.class.php
	htdocs/core/lib/functions.lib.php
	htdocs/fourn/commande/card.php
	htdocs/install/mysql/migration/19.0.0-20.0.0.sql
	htdocs/product/stock/replenish.php
	htdocs/takepos/invoice.php
2024-04-18 02:48:52 +02:00
Frédéric FRANCE
eea2201472 do not add tooltip in tooltip in object lines view (#29368) 2024-04-17 17:02:03 +01:00
MDW
c0d12d40b1 Fix phan notice with cast 2024-03-28 02:13:39 +01:00