2107 Commits

Author SHA1 Message Date
Laurent Destailleur
e2595b5117 Fix LNE 2025-12-02 22:37:49 +01:00
Laurent Destailleur
153d750d9c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2025-12-01 13:55:35 +01:00
Laurent Destailleur
41fc03c63b Fix: Do not transform [__XXX__] string when
MAIN_RESTRICTHTML_ONLY_VALID_HTML is on.
2025-12-01 13:54:27 +01:00
Laurent Destailleur
b83a13656f Add new phpunit tests 2025-11-30 18:37:58 +01:00
Laurent Destailleur
81ac5bddf9 Fix phpunit 2025-11-26 23:37:10 +01:00
Jon Bendtsen
280ca20600 more API endpoints checks multicompany auth with the same error message (#36409)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-25 14:32:28 +01:00
Jon Bendtsen
a40c97ec9c NEW: API set contact for any type in proposal, order or invoice dictionary (breaks API proposal) (#36269)
* NEW: Setting proposal contact to any in proposal contact dicitonary

* hurl tests and a little general cleanup of proposals api

* testing if the supplied type is in the dictionary

* Unique error codes

* Giving better error messages

* Making hurl tests reasonably identical for: proposals, orders and invoices

* BREAKING proposals, to make it identical with order and invoice + support for non default contacts for orders and invoices just like proposals

* adding the missing global  to order and invoice

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-24 20:12:35 +01:00
Jon Bendtsen
ff44d3ce3c fixing hurl test for api users (#36380)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-24 15:06:17 +01:00
Jon Bendtsen
54134eb0fa Hurl checks update Friday November 21st 2025 (#36366)
* Hurl checks update Friday November 21st 2025

* Looks like someone changed how to handle the multi entity tests that I used earlier

* updating warehouse check

* same update for users api

* and for group api

* fix GUI admin/mails_template.php checks

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-22 19:49:58 +01:00
Jon Bendtsen
8cf937e82f Qual: detect malformed DOLAPIKEY when run.sh hurl tests (#36372)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-22 19:48:02 +01:00
Laurent Destailleur
d07581555a Fix travis 2025-11-20 21:13:14 +01:00
Laurent Destailleur
a94ab3874d Close #35819 by using a new function dol_clone_in_array() 2025-11-20 19:40:57 +01:00
MDW
2d7d492bea New: Add quiet mode to hurl test runner (#36339)
- Added `--quiet` or `-q` option to disable informational output
- Updated help message to include the new option
- Modified print functions to respect quiet mode
2025-11-20 11:01:14 +01:00
Jon Bendtsen
111dce3854 Qual: fix 2 hurl tests: Contract and Emailtemplates (#36332)
* remove hurl test that requires a contract to exist

* change emailtemplates hurl tests to work when there is debug information in the API response

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-20 01:46:55 +01:00
Jon Bendtsen
ff2d9e987a Qual/Fix: remove entity=2 hurl test which doesn't work (#36336)
JonSweet16:hurl jonbendtsen$ ./run.sh module

----- Run hurl test on APIs ---
::notice::1. Running tests (API,GUI,public) that do not require authentication
::notice::Using existing DOLAPIKEY.
::notice::2.a. Running API tests that do require authentication
Success api/setup/10_setup_modules.hurl (13 request(s) in 2547 ms)
--------------------------------------------------------------------------------
Executed files:    1
Executed requests: 13 (5.1/s)
Succeeded files:   1 (100.0%)
Failed files:      0 (0.0%)
Duration:          2548 ms

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-20 01:45:09 +01:00
Jon Bendtsen
d9814738e1 Qual: Fix broken hurl test for project GUI (#36333)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-20 01:44:27 +01:00
Jon Bendtsen
50c7ccd053 Fix: test for existing DOLAPIKEY before trying to get it using username and password (#36331)
* Fix: test for existing DOLAPIKEY before trying to get it using username and password

* remove the print statement that made the API key be wrong

* writing print_info to stderr

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-19 21:03:12 +01:00
Jon Bendtsen
12c0f73682 Fix hurl assert for API warehouses to new reply from Dolibarr (#36274)
* Fix hurl assert for API warehouses to new reply from Dolibarr

* Asserting with jsonpath can handle if there are extra keys in the json like debug which mdeweerd experienced

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-19 19:34:11 +01:00
Jon Bendtsen
dfb19ddc6b New thorough Hurl tests for pages under /projet/ in Dolibarr's GUI (#36275)
* New throrough Hurl tests for pages under /projet/ in Dolibarr's GUI

* fix spelling typo

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-19 19:33:29 +01:00
Jon Bendtsen
c0bf718df3 using different hurl test to verify we are in the homescreen and that it works (#36294)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-19 19:32:37 +01:00
kkhelifa-opendsi
548bb94e4f NEW: Rework of the management of the card and fields on the web portal (#36076)
* NEW: Rework of the management of the card and fields on the web portal

* Correction pre-commit check

* Correction affichage logo login

* Ajout hook

* Ajout params fonction FormWebPortal::convertAllLink()

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction phpstan

* Correction travis

* Correction travis

* Correction travis

* Correction travis

* Correction

* Fix get options of sellist by AJAX in webportal scope

* Correction pre-commit

* Correction pre-commit

* Add hook and change hook name for viewImage controller

* Correction phan

* Corrections

* Corrections
2025-11-19 15:14:53 +01:00
Laurent Destailleur
d858764b15 Add config param $dolibarr_main_restrict_eval_methods with whitelist of
functionsallowed in dol_eval. Advisory GHSA-x3w7-24rq-gvc5
2025-11-19 03:44:24 +01:00
Laurent Destailleur
9818c76f7f MAIN_DISALLOW_STRING_OBFUSCATION_IN_DOL_EVAL replaced with
MAIN_ALLOW_OBFUSCATION_METHODS_IN_DOL_EVAL
2025-11-18 23:34:23 +01:00
Laurent Destailleur
5aaf9cd565 NEW Add hook on calcula_price() and get_default_tva() 2025-11-18 16:57:50 +01:00
MDW
b2d30053b4 Qual: Enhance hurl test documentation and run script (#36291)
- Added detailed documentation for running specific tests, including options and exclusions
- Improved installation instructions with platform-specific guidance
- Enhanced error handling and user feedback
- Added support for GitHub-compatible messages
- Improved script structure and readability

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-17 21:52:13 +01:00
Frédéric FRANCE
3a3785c92d Update SecurityTest.php (#36295)
* Update SecurityTest.php

* Update SecurityTest.php

* Update SecurityTest.php
2025-11-17 21:43:53 +01:00
Laurent Destailleur
e54cc9ab28 Fix phpunit 2025-11-17 21:40:36 +01:00
Jon Bendtsen
df4cd2fc65 FIX adding tms and datec to email templates (#36189)
* NEW: adding tms and datec to email templates

* Escaping a timestamp string I just generated myself

* switching single and double quotes in escape line for tms and datec to make the build system happy?

* Add an id to the table

* showing better names than tms and datec

* Changing code to label to fix #29116

* using hregis advice to use idate not escape the string with date

* requested changes

* forgot to add my name to editors

* had to make class changes for API to work

* setting datec back to int|string

* removing unused code lines and using idate in the api file

* no tms in create or update, but select. No datec in update

* expanding hurl tests to prevent post with id or tms, put with id or datec

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-11 09:02:57 +01:00
Laurent Destailleur
c42d783abe Fix regression 2025-11-09 14:53:09 +01:00
Frédéric FRANCE
9491d880cf clean code (#36170)
* clean code

* Update bom.class.php

* Update commondocgenerator.class.php

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-09 01:19:31 +01:00
Laurent Destailleur
240352b89e Fix regression 2025-11-08 15:59:31 +01:00
Laurent Destailleur
0b8f8ee8a0 Clean code 2025-11-08 12:13:39 +01:00
Jon Bendtsen
31cc6a702a NEW qual fixes on api contract (#36066)
* QUAL: API contract: RestException update, check if thirdparty exists before creating contract

* using the entity of this contract

* Safer usage of getEntity

* using global ->entity

* testing if create with socid=0 should fail

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-11-05 22:35:25 +01:00
Laurent Destailleur
70d4461c1d QUAL Add phpunit test to avoid a bad code sequence 2025-11-03 02:00:01 +01:00
Laurent Destailleur
71b4612a47 Remove module 2025-11-02 16:34:12 +01:00
Jon Bendtsen
20a428e2de QUAL: API contract: RestException update, check if thirdparty exists before creating/updating contract (#36007)
* QUAL: API contract: RestException update, check if thirdparty exists before creating contract

* also checking if socid exists during put

* using the entity of this contract

* also fixing entity during post

* some hurl tests of contract api

* check if contract id is 0, because that is not possible

* check (un)activate permissions and getEntity()

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-01 22:47:18 +01:00
Jon Bendtsen
982e0ed64e NEW: API endpoint for getting products in a warehouse (#35918)
* mostly updating fetch with all the fields and adding 2 missing variables

* adding throw RestException numbers, @url and a test for if you try with id=0

* Adding hurl file that do some testing og warehouses API endpoints

* Class for API prevented ever seeing model_pdf in API json

* Check for auth before doing other tests on the request

* New function list Products in warehouse. Work done by defrance, revived by JonB

* API PUT/update now allows for more database fields

* hurl tests for the new list products in warehouse endpoint

* also rejecting warehouse_id in a post

* pre-commit fix api warehouses

* copy paste error from api_usergroup

* Just return the lines, no cleaning needed

* PHAN fixes

* trying to fix PHAN error

* fix api update so it returns error when error, and fix object->update with import_key

* this->db not global db

* Advice from hregis

* Typo this d not dB

* Array of strings

* Changed listProducts in warehouse, uses api_product->get with variables from that

* hurl tests for API warehouses, and the new function get products in warehouse

* some STAN fixes

* more phan fixes

* changes revealed necessary by hurl testing

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-10-28 10:23:06 +01:00
Laurent Destailleur
eec7c592c0 FIX dol_print_date with param gmt when server is not UTC. 2025-10-24 15:30:02 +02:00
Jon Bendtsen
802e4b6491 NEW API user/groups/ POST, PUT, DELETE + some hurl tests (#35903)
* NEW API user/groups/ POST, PUT, DELETE + some hurl tests

* indent fix

* saving note_private (Ryan) during create and detect if we call ourselves?

* fix call with wrong arguments

* Reshow array's in the json output

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-10-23 13:56:22 +02:00
Jon Bendtsen
1f47cfd583 NEW API for getting, adding, deleting and/or modifying email templates (#35853)
* NEW API for getting, adding, deleting and/or modifying email templates

* removing duplicate class formmail which has been moved to a separate file

* hurl file for testing the emailtemplates api

* more comprehensive tests of posting a new email template, all required fields and making sure that ID is rejected

* first GUI test of email templates

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-22 18:04:39 +02:00
Laurent Destailleur
8d50b69bce Add a test if command not found 2025-10-22 13:30:36 +02:00
Laurent Destailleur
74455fd391 FIX #35887 2025-10-22 02:21:52 +02:00
Laurent Destailleur
0df13aedcb Ignore file to avoid commiting it 2025-10-18 11:53:37 +02:00
Laurent Destailleur
f0c61790eb Clean code 2025-10-17 23:43:28 +02:00
Laurent Destailleur
384d40ca01 phpunit more complete 2025-10-17 19:39:45 +02:00
Laurent Destailleur
412fe1df32 Fix regression 2025-10-16 21:26:35 +02:00
Laurent Destailleur
5228c9827e Fix CI 2025-10-16 19:46:46 +02:00
Laurent Destailleur
c45ab5c387 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2025-10-15 20:03:54 +02:00
Jon Bendtsen
7fc9b253bf Reviving some old PR with API get, activate and disable modules (#35718)
* Reviving some old PR with API get, activate and disable modules

* expanding hurl test for setup wih some module tests

* return array, not object

* fix PHPStan on getmodules

* typecasting module functions to string

* instiating class DolibarrModule into an object so we can call functions on it

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-10-14 19:33:40 +02:00
Jon Bendtsen
e8a347f89e NEW API for handling mass mailing targets (#35603)
* NEW API for handling mailing targets

* fix PHP Codesniffer

* adding return values to make phpstan happy

* Update function actually updates

* defining mailing_target public function create

* using a different language translation

* mailing_target - phpstan fixes

* mailing target - no check properties body

* mailing target int typecast fk_mailing

* mailing target - just 1 parameter

* mailing_target phpstan fixes

* mailing_target setting labelStatus

* mailing target class public function delete

* reveal the list of status name for the Mass mailing object in the API

* set tms to now when it is set to draft

* functions to set the mailing target status

* hurl testing api mailings

* hurl test - exit run script at first error

* hurl test mailings - should cover all endpoints

* using self:: in front of the CONST

* Trying to find out which line evaluates to noting

* API mailings can now get the targets of a mailing

* Protected method name "Mailings::_cleanTargetDatas" must not be prefixed with an underscore

* give me fk_project

* API endpoints for: Get all targets of a mass mailing + Get information about a specific target id

* API endpoint to update a mailing target

* telling pre-commit check to ignore, just like done in the function I copied

* be more explicit about for GUI tests we need username and password

* Prevent updating fk_mailing value

* API endpoint deleteTarget

* post to create a mailing target does work, but need slight more testing after work

* correct indent

* fixing some build errors

* More comprehensive hurl test of creation of a target

* adding status_dest to mailing targets json

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-10-09 18:38:13 +02:00