* 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>
* 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>
- Added `--quiet` or `-q` option to disable informational output
- Updated help message to include the new option
- Modified print functions to respect quiet mode
* 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>
* 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>
* 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>
- 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>