Commit Graph

256 Commits

Author SHA1 Message Date
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
Laurent Destailleur
de58435ef1 FIX: if we stop for security purpose, we must exit a non zero value. 2024-03-16 23:08:15 +01:00
MDW
8655d5a86b QUAL Use phan to help detect new issues (#27706)
* Qual: Add phan flow

- Add phan configuration (config, baseline, stubs);
- Add github action;
- Update apstats.php.

* Add directives to ignore false phan notices

* Qual: Add typing hints for extrafields TPL files

# Qual: Add typing hints for extrafields TPL files

Add typing hints for phan on view files

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-21 18:14:29 +01:00
Sylvain Legrand
261e72d864 Fix line view if multicurrency is used and line is option
In customer documents written in the third party's currency, the optional lines have a shifted appearance.
2024-01-22 12:25:53 +01:00
MDW
89004f7e03 Qual: Spelling htdocs/core (#27491)
Highlights:
- initialY in pdf_standard.modules.php was unused
  - remove (otherwise -> initially) (+same in other file)
2024-01-13 19:48:20 +01:00
Laurent Destailleur
4501872f17 Clean code with rector 2 2024-01-05 04:33:58 +01:00
Laurent Destailleur
6ca736e8a5 Debug v19 2023-12-14 15:16:11 +01:00
Laurent Destailleur
d0b6b9fe65 Fix with php-cs-fixer 2023-12-04 12:07:53 +01:00
Laurent Destailleur
53dab922fd Fix php8.2 warnings 2023-11-27 11:39:32 +01:00
Laurent Destailleur
1f38e54e78 Clean code 2023-10-15 15:32:35 +02:00
Laurent Destailleur
a1c871ccd4 Clean code 2023-07-01 20:16:10 +02:00
Laurent Destailleur
15b7f736a7 Fix warning 2023-07-01 13:07:14 +02:00
hystepik
597b36e57c Fix : php8.1 warnings with strict mode 2023-06-10 10:47:36 +02:00
Maximilien Rozniecki
63a02083b8 PHP8 compatibility 2023-04-24 17:37:44 +02:00
Laurent Destailleur
5ec52548ab For countries using the 2nd or 3rd tax, we force
MAIN_NO_INPUT_PRICE_WITH_TAX to disable input/edit of lines using the
price including tax (because 2nb and 3rd tax not yet taken into
account).
Work In Progress to support all taxes into unit price entry when
MAIN_UNIT_PRICE_WITH_TAX_IS_FOR_ALL_TAXES is set.
2023-03-11 20:37:01 +01:00
Laurent Destailleur
81d2618b59 Add option to avoid use of input price inc tax (works only for 1st tax) 2023-03-11 19:38:39 +01:00