279 Commits

Author SHA1 Message Date
boudet jean pascal
a4b8cb7008 NEW : adds visual indicators on the Sales Order card (commande/card.php) (#37460)
* This PR adds visual indicators on the Sales Order card (commande/card.php) to quickly identify if an order or its lines are shippable based on current stock levels. This feature mirrors the existing functionality found in the Orders List, bringing valuable logistics information directly into the Order Card context.

Key Features:
Global Shippable Status: Adds a "shippable" icon (Truck) next to the "Planned delivery date" field.

Logic: Checks if all products in the order are in stock.

Condition: Visible only if Stock and Shipment modules are enabled, a delivery date is set, and the order is validated.

Visual: Green icon if fully shippable, Red/Warning if stock is insufficient. Includes a detailed tooltip.

Per-Line Shippable Status: Adds a new "Shippable" column in the product lines table.

Logic: Compares real stock vs. remaining quantity to ship for each line.

Visual: Displays a green/red status bullet (standard Dolibarr status icons) directly in the line.

Implementation: Done by updating objectline_title.tpl.php and objectline_view.tpl.php with specific checks for the commande element.

New Configuration Option: Added a hidden option ORDER_DISABLE_SHIPPABLE_ICON_ON_CARD to disable this feature if needed (configurable in Home > Setup > Other Setup or via module settings).

Backend Optimization: Added a new method getShippableInfos() in commande.class.php to centralize the stock check logic (optimized with stock caching to avoid N+1 query issues).

Technical Details:
Modified Files:

commande/card.php: Integration of the global icon next to the date.

commande/class/commande.class.php: Added getShippableInfos() method.

core/tpl/objectline_title.tpl.php: Added "Shippable" column header (conditional for Orders).

core/tpl/objectline_view.tpl.php: Added "Shippable" column cell content (conditional for Orders).

Performance: Logic uses static caching for product stock to minimize database impact when rendering large orders.

* missed element

* img_picto

* phan add

* load_stock and global $i

* phan

* ci retour

* change icon
change phan directive

* phan

* Fight against optionflation

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

* Change condition for displaying shippable icon

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

* Change condition for displaying shippable status icon

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

* Update card.php

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

* Update shippable status condition in template

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

* Update shippable status condition logic

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>

---------

Signed-off-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: jpb <jean-pascal.boudet@atm-consulting>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-03-12 14:42:31 +01:00
Laurent Destailleur
82d3d3ba92 Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into develop 2026-03-02 05:54:03 +01:00
Laurent Destailleur
57a1f05d49 FIX #37372 FIX #37374 2026-03-02 05:52:05 +01:00
Laurent Destailleur
6b0a3e0f68 FIX Pb in total price of line when adding the discount of a down payment
when unit price was using a high accuracy.
2026-01-29 23:15:07 +01:00
Laurent Destailleur
ba816b847d Merge branch '23.0' of git@github.com:Dolibarr/dolibarr.git into 23.0
Debug v23
2026-01-05 14:36:23 +01:00
Alexandre SPANGARO
39b251f3ca FIX #36735 Invoice & Supplier invoice - Inconsistency of fk_code_ventilation for lines (FactureLigne & SupplierInvoiceLine) (#36792) 2026-01-05 13:28:09 +01:00
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
ThomasNgr-OpenDSI
d75499d076 NEW : hide remise_except unit price on invoice lines (#37066)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2026-02-04 21:19:06 +01:00
Laurent Destailleur
7b96c31789 Fix CI 2026-02-04 17:13:38 +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