Commit Graph

15607 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
46ac3d5b12 FIX Backport fix of substition of thirdparty info in notification 2025-05-07 14:53:51 +02:00
ldestailleur
095905670a Remove BlockUI js plugin. Replaced with few js/css lines. 2025-05-06 19:15:13 +02:00
ldestailleur
52acd2cfac Clean code 2025-05-06 15:20:14 +02:00
ldestailleur
0136a794c9 Add a new page type "Setup" for website module. 2025-05-06 12:52:31 +02:00
ldestailleur
5e67ec6376 Fix CI 2025-05-05 21:13:05 +02:00
ldestailleur
8664a3c2c8 Fix CI 2025-05-05 20:30:26 +02:00
ldestailleur
f0eaae6a1d Debug v22 2025-05-05 17:09:24 +02:00
ldestailleur
d73d760b53 FIX Hour and min were lost when editing a past event. 2025-05-05 14:26:14 +02:00
ldestailleur
0e443bd76e Debug star extrafields (set initial highlight in php instead of js) 2025-05-05 13:40:41 +02:00
ldestailleur
e4e5b1e597 Clean code 2025-05-05 02:22:02 +02:00
ldestailleur
0b7836595c Debug v22 2025-05-04 23:53:34 +02:00
Florian Mortgat
9d0d8f7ec5 Fix/140/t250062/extrafields multicompany data loss (#34022)
* insertExtrafields(): simplify by returning 0 early if array_options is empty

* insertExtrafields(): simplify by using local variables $newValue and $attributeType

* insertExtrafields(): refactor by grouping the empty value cases for geodatabase-type extrafields

* insertExtrafields(): refactor by using a static mapping of geodata types to their ST_* db function on ExtraField class

* FIX: when an object that is shared across multiple entities already has some extrafields from another entity that are not reachable from the current entity, their values are lost

* Compliance with
- phan ( Closure Closure($key) has no declared or inferred parameter type for $key)
- php-stan (Error: Property ExtraFields::$geoDataTypes has no type specified)
2025-05-04 18:42:01 +02:00
Lucas Marcouiller
0ea9108fdd Fix ai prompt function for extrafields to match step 2 todo (#34032)
* Fix ai prompt function to match step 2 todo

* add  doc comment

* fix CI
2025-05-04 10:50:01 +02:00
Charlène Benke
7537199598 php warning on delete warehouse (#34041) 2025-05-04 10:43:48 +02:00
Jyhere
549b712c47 FIX: ajax tooltip warnings (#34048) 2025-05-02 22:41:04 +02:00
ldestailleur
7c99a650e3 Show nb of tags per type 2025-04-26 16:15:52 +02:00
ldestailleur
c675f7439c Fix title of event no more visible 2025-04-26 04:05:01 +02:00
ldestailleur
cc361b2859 css 2025-04-26 03:42:47 +02:00
ldestailleur
cde72d84a0 Refactoring code for better name and fix star extrafield on thirdparty 2025-04-26 03:00:53 +02:00
Lucas Marcouiller
0f8b0da651 New AI extrafield filler (#33979)
* New ai extrafield filler

* remove comment

* Fix Ci

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-04-26 01:59:36 +02:00
ldestailleur
849409f150 CSS 2025-04-25 20:02:10 +02:00
ldestailleur
efdc4f9a5d Debug v22 2025-04-25 16:43:31 +02:00
ldestailleur
46c9fd064d Look and feel v22 2025-04-25 11:44:15 +02:00
ldestailleur
2aa17f9c3f Fix update of foregin rate on recurring invoices 2025-04-25 03:39:04 +02:00
ThomasNgr-OpenDSI
a56a8e05f0 FIX : set default extrafield value for supplier order (#33971)
* fill extrafields default values in case THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_SUPPLIER_ORDER applies

* Fix: send param changecompany when changing company on a supplier order creation
2025-04-24 19:19:39 +02:00
ThomasNgr-OpenDSI
730667ed5a NEW : force Extrafields values when constants THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_(ORDER|INVOICE) are set (#33954)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-04-24 15:46:56 +02:00
Laurent Destailleur
e034b4b0ef Standardize code 2025-04-24 00:51:47 +02:00
ldestailleur
cc33eac316 Add method to update socket timeout 2025-04-22 16:57:49 +02:00
ldestailleur
83a6a2b244 Debug v22 2025-04-21 14:57:41 +02:00
ldestailleur
7db8252225 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop 2025-04-21 13:52:25 +02:00
ldestailleur
ae5750f099 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-04-21 13:48:05 +02:00
ldestailleur
aa6fd6de5a Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-04-21 13:45:36 +02:00
ldestailleur
0339ee6f1f Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-04-21 13:44:08 +02:00
ldestailleur
d3edfc67ad Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2025-04-21 11:36:23 +02:00
ldestailleur
95d80fd5e8 Debug v22 2025-04-21 11:34:20 +02:00
ptibogxiv
2483cf4146 fix ccountry.class.php (#33929)
* fix ccountry.class.php

* Update ccountry.class.php
2025-04-20 18:54:55 +02:00
MDW
b731d14d6e Qual: update phan baseline.txt (#33926)
* Qual: update phan baseline.txt

# Qual: update phan baseline.txt

- Updated the phan baseline:
  Removed entries for 'htdocs/commande/card.php',
'htdocs/core/class/commonsocialnetworks.class.php', 'htdocs/fourn/facture/paiement.php',
and 'htdocs/public/project/index.php'
- Corrected phan notice in 'htdocs/core/class/commoninvoice.class.php' - new since last baseline update.

* Suppose object has CommonSocialNetworks trait (for phan)
2025-04-20 13:21:48 +02:00
Frédéric FRANCE
f5b11b78da fix typo (#33920) 2025-04-19 11:46:22 +02:00
Clément
2c3c763871 UIUX Improved ergonomics through UI design (#33868)
* Improved ergonomics through UI design

In IT conventions, the Cancel button is on the left and the Create button on the right. On Dolibarr, it's currently the other way round, which is rather counter-intuitive when you reflexively click. Correction to improve the GUI while respecting cultural norms.

* Update html.form.class.php with const

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

* Update html.form.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-04-19 02:58:39 +02:00
Laurent Destailleur
a40aec6029 Debug v22 2025-04-17 03:56:54 +02:00
ldestailleur
2b721ba245 WIP mail layout 2025-04-17 01:31:06 +02:00
ldestailleur
9f3281cf1d WIP mail layout 2025-04-17 00:56:22 +02:00
ldestailleur
2a7b9a2466 WIP mail layout 2025-04-17 00:27:52 +02:00
ldestailleur
94697e64e4 Debug email layouts 2025-04-16 22:12:37 +02:00
ldestailleur
b7c0a734ed Fix CI 2025-04-16 21:08:11 +02:00
Frédéric FRANCE
beb0956d60 add image type in CMailFile.class.php (#33872) 2025-04-16 17:32:59 +02:00
ldestailleur
3f31c74642 Debug v22 2025-04-16 15:50:37 +02:00
Jon Bendtsen
772337d162 redoing PR Api objectlinks #33738 (#33781)
* redoing PR Api objectlinks #33738

* loading objectlinks api from main api folder

* bringing $FIELDS up to develop branch standard

* trying to tell phan the expected array types

* phan return and input type specifications

* trying to fix 'Method ObjectLink::_makeobject() should return int but return statement is missing.'

* trying to return an ObjecTLink

* get returns an ObjectLink object

* making sure that function _makeobject always has an return

* making sure deleteByValues always has a return statement

* remove empty line

* making sure getByValues always has a return value

* trying to fix phan for _validate

* no < around objectlink

* trying to fix some phan and phan-stan errors

* public variable target should be fk_target

* making TRIGGER_PREFIX more like in core/class/commonobject.class.php

* trying to save and use the notrigger value

* typecast objectlink fk_source and fk_target to string in the hope that they are later made correctly to int

* whitespace to trigger a build of my branch

* back to being int - because that is what they are

* trying to typecast

* trying to help PHPStan to validate fk_source and fk_target

* trying to use  the same way as  are used

* splitting  over multiple lines

* Fix: update ObjectLink return type in API methods

### FIX: Update ObjectLink return type in API methods

- Updated the return type of several methods from `ObjectLink` to `Object` to reflect a return type compatible with Luracast/Restler

* fix: refactor field setting in ObjectLinks class

# Fix: Refactor field setting in ObjectLinks class

- Removed the static `$INTFIELDS` array and moved its logic to a new private
method `_setObjectLinkField`.
- Updated `create`, `getByValues`, and `deleteByValues` methods to use
`_setObjectLinkField` for setting fields.
- Cleaned up the code by removing redundant field validation and type casting
logic.

* noting that relation type can both be string and null

* escaping strings before parsing them to the database

* -> not global

* trying to fix phpstan errors by flipping so the string part is first

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: MDW <mdeweerd@users.noreply.github.com>
2025-04-16 14:49:39 +02:00
Laurent Destailleur
0008ebe773 Fix CI 2025-04-16 00:19:24 +02:00