What's Changed
FIX: #30326 agenda assigned resources not shown on the event card (#41247)
FIX: #39239 The user of the last change of a MO was unknown after a status change (#41903)
FIX: #39456 a supplier credit note can hold a positive line (#41160)
FIX: #39533 Store lastUpdate when it is empty, or the monthly leave credit never runs (#41349)
FIX: #39771 TakePOS: free zone amount lost its decimals with a comma as decimal separator (#41742)
FIX: #40158 Undefined array key warnings in the bank journal (#41904)
FIX: #40432 Strip tab and newline from doc_ref in FEC export (#42097)
FIX: #40487 Saving a contact wipes its civility when MAIN_USE_TITLE_FOR_CONTACT is off (#41501)
FIX: #41246 Product related items page fails for users who cannot see all thirdparties (#41356)
FIX: #41475 Deposit or credit note with several VAT rates: cost price of each discount line (#41476)
FIX: #41689 REST API: keep the order of invoice lines sent with POST /invoices (#41690)
FIX: #41780 scripts/cron: terminate the job log line when a job is skipped by its test condition (#41781)
FIX: #41786 Vendor invoice: save the tags on creation, not on validation (#41787)
FIX: #41842 PHP warnings in Ldap::fetch() for attributes missing from the LDAP entry (#41843)
FIX: #41882 Delivery receipt PDF (storm): HTML entities in the signature boxes (#41884)
FIX: #41967 TakePOS: floor plan opens on an empty floor 0 instead of the floor with tables (#41968)
FIX: #42000 PHP warning Undefined array key "direct-download" on marketplace page (#42103)
FIX: #42045 No EPC QR code with amount 0 on fully paid invoices (#42046)
FIX: #42157 CSV export - quote only the values that need it (digits, journals and select labels) (#42159)
FIX: #42168 Invoice due date is one day early when the payment term crosses a DST change (#42176)
FIX: #42204 Add phone columns to Ticket::listeContact() for thirdparty (#42205)
FIX: a bookmark title longer than 64 characters showed a raw database error (#41286)
FIX: a category could be moved into one of its own sub-categories (#41340)
FIX: a category that contains orders, invoices or interventions could not be deleted (#41333)
FIX: Accountancy ledger PDF - account title lines wrap word by word (regression of #40790)
FIX: Add Canadian bank account fields (#41977) (#42218)
FIX: adding an object to a category without the permission on it reported a success (#41338)
FIX: add missing CSRF token on agenda setup select none link (#41944)
FIX: a disabled workstation could be deleted from its card without the permission to delete (#41273)
FIX: a failed creation of a workstation still saved links to user groups and resources (#41272)
FIX: Agenda recurring events were shifted by one hour by a daylight saving time change (#41693)
FIX: a line of a validated, approved or paid expense report could be deleted (#41463)
FIX: an MO could be consumed or produced while draft, produced or canceled (#41619)
FIX: an MO with consumed or produced lines could be set back to draft and reset (#41621)
FIX: answering No to record or cancel an inventory still recorded or canceled it (#41575)
FIX: API errors answered with HTTP 200 instead of 500/501 when the output is not buffered (#42064)
FIX: API refused for the IP answered with HTTP 200 instead of 503 when the output is not buffered (#42059)
FIX: API setup: getListOfExtrafields reads showintooltip without selecting it (#41299)
FIX: API setup: the VAT dictionary route omits einvoice_vatex (#41359)
FIX: API setup: the VAT dictionary route returns only part of the table (#41313)
FIX: API thirdparties: the VAT rate of a fixed amount discount is ignored (#41778)
FIX: API to add or remove a category of a contact was always refused to users restricted to their third parties (#41268)
FIX: API tokens not migrated on upgrade when table prefix is not llx_ (#41834)
FIX: a serial number could be added twice to a stock transfer (#41614)
FIX: a supplier invoice could not be removed from its category (#41335)
FIX: a user with HRM data (assessments, job positions, skills) could be deleted (#41305)
FIX: autoclean CSP if module paypal or stripe on
FIX: Autoselect the product created with the + button of the line form (#41992)
FIX: a warehouse could not be added to a category from the category (#41337)
FIX: a warehouse could not be removed from its category (#41334)
FIX: a workstation still used by a product, a BOM or a manufacturing order could be deleted (#41271)
FIX: Beluga project PDF overlaps rows when a third party name wraps (#41110)
FIX: Canceling an approved leave not yet debited at the end of the month refunded one day (#41394)
FIX: cancelling a shipment failed when a line had a lot record with qty 0 (#41578)
FIX: cancelling, deleting or reopening a shipment was refused once the dates of its lot were corrected (#41573)
FIX: cancelling or deleting an MO line doubled a negative consumption or production (#41549)
FIX: CI gate job is killed by timeout-minutes before its own wait budget (#42107)
FIX: CI: test on $action without permission check in inventory.php and reception/dispatch.php (backport) (#41713)
FIX: Clone of a proposal or an order loses the options of subtotal lines (#41374)
FIX: Closing a fiscal period could record the opening entries in the period being closed (#41857)
FIX: CodingPhpTest fails on the inventory page, so phpunit fails on every Pull Request
FIX: CodingPhpTest fails on the reception dispatch page, so phpunit fails on every Pull Request
FIX: contact projects empty row colspan (#41638)
FIX: Contract list loses the third party filter (socid) when sorting or paginating (#42058)
FIX: Contract: the "Messaging" tab of a contract linked to a project stopped with a fatal error (#41234)
FIX: Converting a supplier credit note with lines of both signs into a discount credited too much (#42002)
FIX: CSRF token missing on the "Classify abandoned" invoice button (#41379)
FIX: CSRF token missing on the "Set to draft" leave request button (#41380)
FIX: cyan proposal PDF, public note overlaps the sender and recipient frames when linked objects are shown (#42098)
FIX: deleting a contact left its documents, its object links, its birthday alerts and the link of its user (#41266)
FIX: deleting a free MO line to produce after production left its production in stock (#41620)
FIX: Deleting a leave request left its extrafields row (#41388)
FIX: deleting an ECM directory with its content left its subdirectories in the database (#41764)
FIX: deleting an establishment did not delete it, and an establishment assigned to users can no longer be deleted (#41304)
FIX: deleting an expense report with payments left orphan payment records (#41460)
FIX: deleting a reception reversed stock for lines whose stock was never moved (#41581)
FIX: deleting a user left his private bookmarks in database (#41289)
FIX: deleting a variant attribute left the extrafields of the attribute and of its values (#41314)
FIX: deleting a workstation left its links to user groups and resources in database (#41270)
FIX: Delivery receipt numbering Saphir: use the delivery date, not the validation date (#41567)
FIX: Diaspora and Reddit networks of the Social networks module could never be used (#41814)
FIX: Dictionaries no longer checked their mandatory fields (#41710)
FIX: Discount for all lines must not change deposit/credit note lines (#42024)
FIX: doc of DolibarrApi::_checkAccessToResource() also accepts the full object (#41451)
FIX: document of a donation was not indexed (#41880)
FIX: dol_delete_dir_recursive() changes the mode of the target of a symlinkFix/delete dir symlink chmod (#41358)
FIX: Dolibarr login column of the third party contacts list was never displayed (#41670)
FIX: draft mailing recipient display and invalid selector loading (#41538)
FIX: drag and drop of a file that is not an image broke the answer with PHP 8.5 (#41866)
FIX: Duplicate recurring invoices: next date moved back when the server timezone is ahead of UTC (#41327)
FIX: eat-by and sell-by dates of lots entered on the reception card were lost or swapped (#41551)
FIX: Editing a reception or a shipment erased its author and its validator
FIX: email collector indexed its saved attachments under a wrong file name (#41823)
FIX: empty in SEPA direct debit file when the request forces a bank account without mandate date (#42020)
FIX: error management on payment of donations
FIX: expense report card accepted status changes its buttons never offer (#41459)
FIX: expense report clone ignored the hierarchy check and kept the approver of the source (#41465)
FIX: Expense report PDF standard: phone and fax were never on the same line
FIX: expense report: users who could only read a colleague's report were able to modify it (#41464)
FIX: expense report was never set paid when it was paid in several payments (#41466)
FIX: extra fields declared for all entities (entity=0) missing from getEntity('extrafields')
FIX: fatal error in top menu when $mysoc is not loaded (#41636)
FIX: Fediverse box read the setup of another network or entity, and never used the token/login of the network (#41812)
FIX: Fix #41541 SMTPs: stop sending when RCPT TO or DATA fails (#41618)
FIX: Hide irrelevant multicurrency amounts in supplier price history (#41699)
FIX: home page crashed (TypeError) when a social network of the Fediverse box could not be reached (#41811)
FIX: inventory barcode scan added lines without lot that blocked or doubled the recording (#41654)
FIX: inventory prefill took the stock of warehouses of other entities (#41655)
FIX: Invoice back to draft silently skips stock restore when stock movement fails (#41277)
FIX: Invoice created by mass action from orders loses its author (#41739)
FIX: Invoice paid in its currency stays partially paid because of a one cent conversion gap (#41856)
FIX: Keep empty proposal and product list filters neutral (#41656)
FIX: lead status columns of the kanban view were not translated (#42091)
FIX: Leave balance check blocked refusing a request and editing an approved one (#41387)
FIX: Leave balance check counted a half-day request as full days (#41396)
FIX: Leave card: any leave request could be set back to draft, even approved, without permission (#41386)
FIX: Leave mass approval debited the balance twice when it is decreased at the end of the month (#41389)
FIX: Leave monthly balance update ignored half days in the days taken (#41395)
FIX: Leave monthly update raised an undefined array key country_id warning (#41397)
FIX: Leave request: the Info tab did not show who validated and who approved it (#41565)
FIX: Line breaks in a knowledge base article were lost on the detail page when FKEditor was disabled (#41727)
FIX: Lines of a standalone reception can not be reordered (#41829)
FIX: lines of a stock transfer could be changed after validation or belong to another transfer (#41613)
FIX: lines of a validated reception could be changed or deleted from the dispatch pages (#41579)
FIX: links refused by the CSRF protection at level 3 because they had no token (#41511)
FIX: Load the author, the validator and the validation date in fetch() instead
FIX: lot number typed on a new reception was lost when the form was shown again after an error (#41577)
FIX: Mass action email send ignores sender defined by email template (#41240)
FIX: mass action "send by email" ignored sender defined by email template (#41348)
FIX: Mass email sending fails when thirdparty name contains a comma (#41806)
FIX: Member status for member types without mandatory subscription (#41236)
FIX: Migrated API tokens can not be found when API_IN_TOKEN_TABLE is on (#41804)
FIX: MO consumption required a lot when the Lot/Serial module was disabled (#41622)
FIX: MO production tab reopen and line edit actions did not check status or line (#41650)
FIX: MO REST API recorded lot '0' and applied negative quantities with the wrong sign (#41651)
FIX: negative consumption on an MO lost the lot and set an eat-by date (#41653)
FIX: on shipment page, if the product description is empty, Dolibarr would show a blank rectangle. (#41242)
FIX: outgoing stock movements of a lot were refused once its dates were corrected on the lot card (#41552)
FIX: Partnership list: column End date of membership empty for a member without subscription (#41608)
FIX: Partnership list: "Contribution never received" was never shown (#41566)
FIX: PDF of an intervention regenerated on its card was not indexed (#41867)
FIX: PDF of a salary was not indexed (#41881)
FIX: PDF showed no payment terms when the term has no label for documents (#41607)
FIX: Performance of widget "last customer invoices" on large databases (#41278)
FIX: Per object access check of document.php and viewimage.php never run on 24.0 (#41668)
FIX: phan refused the SQL of the HRM check done before deleting a user (#41456)
FIX: phan warnings on 21.0 (untyped object in fichinter_create() and skill_card.php) (#41995)
FIX: PHPDoc of hasRight() takes a module name, accessforbidden() never return
FIX: PHPDoc of module_parts hooks: accept both the data form and the flat list (#42033)
FIX: PHPDoc of preselected ids accepts int, *Common() notrigger accepts 0/1
FIX: PHPStan did not know $object in actions_comments.inc.php (#41572)
FIX: phpstan: fk_user_author and fk_user_valid of Reception and Expedition can be null (#41861)
FIX: phpunit testPaiementCreateInInvoiceCurrencyClosesInvoice fails on CI (#41887)
FIX: PHP warnings in top menu when $mysoc or session keys are missing (#41637)
FIX: Preserve the previous week month and year (#41986)
FIX: Prof id pasted with its separator dots is truncated (SIREN, SIRET) (#41657)
FIX: Project overview: list of stock movements linked to the project fails (#41398)
FIX: Public export of interventions fails when the module Agenda is disabled (#41969)
FIX: Public export of interventions fails with a SQL error when filtered on a project (#41956)
FIX: Public export of interventions fails with a SQL error when filtered on the author (#41952)
FIX: Public export of interventions ignores the filter logint (#41955)
FIX: public lead form did not save the zip code of the new prospect (#42090)
FIX: Reception: project and supplier order not shown on the card of a reception (#41294)
FIX: recording an inventory added the full counted qty for a lot typed with another case (#41576)
FIX: Remove delivery date edit panel styling (#41698)
FIX: renaming a file in ECM with the name of another file of the directory overwrote it (#41762)
FIX: reopening or setting back to draft a reception could remove its lots from stock twice or never (#41580)
FIX: REST API: PUT /supplierproposals/{id} always ended in a fatal error (#41766)
FIX: Restore all VAT types and sales-only selling-price selectors (#41355)
FIX: RSS box showed an empty feed with no error when the URL did not return a feed (#41728)
FIX: RssParser::parser() returned one item too many, and only 1 item with no limit (#41730)
FIX: RssParser PHP warnings on optional feed elements and PHP 8.4/8.5 deprecations (#41729)
FIX: Salary transfer request tab: project selector only listed projects without third party (#41767)
FIX: Sales journal crashes when an invoice consumes a deposit (#42025)
FIX: Sales journal: ignore ACCOUNTING_MANAGE_CUSTOMER_DEPOSIT_IN_INVOICE when FACTURE_DEPOSITS_ARE_JUST_PAYMENTS is set (#42194)
FIX: Sales journal: with ACCOUNTING_MANAGE_CUSTOMER_DEPOSIT_IN_INVOICE, reverse only down payments (#42184)
FIX: saving a product card with module lot disabled switched the product to no lot management (#41550)
FIX: saving the card of a shared ECM file generated a new share key, the links already sent stopped working (#41763)
FIX: Search filters lost on sort and pagination on the invoice list (#41777)
FIX: Search filters lost on sort and pagination on the proposal list (#41775)
FIX: search filter tool not refreshed when the field is cleared with its cross (#42011)
FIX: select_all_categories() fatal count() when the category type is unknown (#41738)
FIX: Set a email modele causes a display error on intervention card when send a email (#41400)
FIX: shipment creation accepted the same serial number on two lines of the order (#41612)
FIX: Show message when module not compatible
FIX: signing a proposal removed the prospect tag of a prospect/customer third party (#42092)
FIX: Situation invoices: no "Create next situation" button on a credit note (#41409)
FIX: SMTPs protocol errors: long server replies, QUIT, refused AUTH PLAIN, bare LF in header (#41721)
FIX: SMTPs sent only one of the attachments having the same file name (#41665)
FIX: SMTPs used the main authentication method instead of the one of the send context (#41666)
FIX: social networks setup page ignored the new URL, broke on rename and mixed the entities (#41819)
FIX: stock transfers and mass stock movements used outdated lot dates (#41616)
FIX: Stripe and PayPal setup pages crash with undefined showEyeForField() (#42044)
FIX: Substitution THIRDPARTY_COUNTRY_ID gave 1 instead of the country id (#41287)
FIX: Subtotals: keep line options when a supplier invoice, supplier proposal or proposal is created from another document (#41371)
FIX: supplier invoice list "late" option no longer filters unpaid invoices (#41982)
FIX: Supplier proposal PDF zenith: no banner for titles and subtotals, header overlap (#41378)
FIX: supplier recurring invoices and month substitution keys shifted when the server timezone is ahead of UTC (#41368)
FIX: Tabs and PDF of a standalone reception crash when customer orders are off (#41828)
FIX: the API could delete or update a product variant of another entity (#41312)
FIX: the API could link objects to a category of another entity or of another type (#41339)
FIX: the comparison of skills showed employees outside the hierarchy of the user (#41308)
FIX: The credit transfer requests of a salary showed the direct debit bank account (#41606)
FIX: the cron failure alert email gave the translation key of the job instead of its label (#41502)
FIX: the designated approver of an expense report could not open it (#41507)
FIX: The label typed in the clone dialog of a skill was ignored (#41894)
FIX: the list of variant attributes could not show its second page (#41310)
FIX: the modification date of a record without extrafields row was empty (#41302)
FIX: the order of the variant attributes could be changed by a user allowed only to read them (#41316)
FIX: The public holiday of Pentecost in France, Belgium and Austria is the monday (#41328)
FIX: the section of the job applications was never shown in the automatic ECM (#41765)
FIX: the state and the social networks of a contact were not copied to its linked user (#41265)
FIX: the variants tab of a product could edit or delete the variant of another product (#41309)
FIX: Ticket::create() rolls back the caller transaction when verify fails (#41815)
FIX: Time spent list fails with a SQL error when tasks have extrafields (#41947)
FIX: transfer from a lot row of the product stock tab ignored the source warehouse selected (#41615)
FIX: Undefined array key "host" in CMailFile::check_server_port() (#41341)
FIX: Undefined property $project_public in Task::fetchAllTimeSpent() (#41771)
FIX: Update of a currency rate always fails with a SQL error (#41949)
FIX: Update of a currency rate shows a success message when it fails
FIX: updating a workstation outside of its edit form removed its user groups and resources (#41269)
FIX: Warehouse info and job position tabs: fatal error for a user who can not edit the object (#41235)
FIX: Warning on amount of membership type
FIX: warnings when opening a bookmark that does not exist (#41274)
FIX: Wrong alias shown for third parties in last modified proposals/orders on comm/index.php (#41383)
New Contributors
- @Basti-Fantasti made their first contribution in #41236
- @wakqasahmed made their first contribution in #41356
- @zacharymelo made their first contribution in #41383
- @Arslan-TR made their first contribution in #41618
- @Alkaceq made their first contribution in #41781
- @jduardo2704 made their first contribution in #41806
- @JostMaedler made their first contribution in #42382
- @KimWittkowski1975 made their first contribution in #42648
- @gc-cobia made their first contribution in #42623
- @francois-blanchon made their first contribution in #42668
- @Cirillo007 made their first contribution in #42816
Full Changelog: 24.0.2...24.0.3