-------------------------------------------------------------- English Dolibarr ChangeLog -------------------------------------------------------------- ***** ChangeLog for 21.0.0 compared to 20.0 ***** For users: ---------- NEW: NEW Module - help to setup OpenID Connect (#30317) NEW: Add hidden option CONTRACT_HIDE_MYCOMPANY_SIGNATURE_SECTION_PDF NEW: Add a tab on recurring invoice card to see the list of invoices generated from this recurring invoice (customer and supplier invoices) (#31463) NEW: #28871 signed_status to commande (#30359) NEW: #30269 linked project in column of last record tables (#30344) NEW: Accountancy - Add general account on thirdparty NEW: Accountancy - Add partial reconcile on subledger (#30027) NEW: Accountancy - Option to select the label of operation (#31200) NEW: Accountancy - Allow grouping taxes with primary line price (#26732) NEW: Activate PHPUnit with tests on permission on $action ==... NEW: Add advice for max size on list for better performance NEW: Add an advanced permission to validate knowledge (#30855) NEW: Add a test mode into the setup of AI module to test the AI prompts. NEW: Add a tool to decrypt data encrypted in database. NEW: Add auto generate document when reception is created (#30688) NEW: Add badge for generate invoice client tab (#31559) NEW: Add caldav on fichinter (#30582) NEW: Add column agenda_id to implement the link between files and event NEW: Add column "comment" in list of payment NEW: Add constant to hide version (#30865) NEW: Add country in search of project NEW: add duration extrafields (#31595) NEW: Add export for thirdparty bank accounts (#30807) NEW: Add export profile to export MO and lines of consumption/production NEW: Add option to store the text content of uploaded files into database (with conversion with pdftotext) NEW: Add Filter Assistance for Filling Filters Field (#31646) NEW: add last stock movement and product nature to StocksWithBatch export (#30578) NEW: Add member title to the labels (#31710) NEW: Add mode Customer price + level price (#31091) NEW: add option to add external billing contact on the supplier_proposal pdf (#30298) NEW: Add option to clone its default BOM when cloning a product (#30088) NEW: Add option to enable PDF frame rounded corners NEW: Add option to round weight and volume on shipment PDF NEW: add pdf regeneration to mass action for shipments (#29970) NEW: Add picto on list of notification email templates NEW: add recurring supplier invoice on supplier tab #30945 #30949 NEW: Add sort by ref warehouse/product or ref product/warehouse on inventory product list (#31639) NEW: Add some improvement for ODT Contracts (#31715) NEW: Add terms of sale on documents (#24846) NEW: Add thirdparty state in substitution array (#31549) NEW: Add tooltip on closing accounting setup NEW: add trigger for linking and unlinking invoices (#30182) NEW: Add Unit price on supplier order stat product (#31055) NEW: add warehouseId parameters in select_produit to limit result to existing product in select (#30477) NEW: allow link feature to task (#30235) NEW: Authorize modification of a partially shipped order (#31423) NEW: autogenerate project reference in API (#30638) NEW: automatically change status on answering a ticket (#30556) NEW: Browser notifications use now jnotify (fix browser compatibility) NEW: can add extrafields with dol_move (#30574) NEW: Can change the type of a social contribution if no payment NEW: can delete a category translation (#31396) NEW: Can link an object to another using the ref. Close #31001 NEW: Can set a class on the tr lines of form setup lines NEW: Can set border radius of list and tables NEW: Can set date of transmission in 1 click when validating SEPA NEW: Can set parameters with setup type yesno. NEW: Can set the contact type for the autoassigned user that creates a project (#30444) NEW: Can show raw value of oauth token NEW: Can use a specific profile to send email for password forgotten NEW: option to care grandchild (#31314) NEW: Look and feel - checkbox to choose thirdparty nature (#30192) NEW: Color line total and sub total (#26172) NEW: Constant to hide user login times (#29815) NEW: Const ASSET_ROUND_INTEGER_NUMBER_UPWARDS for ASSET Module. Compatibility to migrate from other accounting solutions. (#31615) NEW: Content of tab "attached files" is more compact. NEW: Contract signed status update (#30779) NEW: Create thirdparty notification by action code (#30541) NEW: Customer price and level price together NEW: default configuration for event reminder (#31407) NEW: determine multi-currency price on object line create tpl (#28021) NEW: Display for socialnetworks admin NEW: display mark rates in objectLineCreate (#30872) NEW: due date in accounting bookkeeping list and card (#30061) NEW: enhance the OAUTH2 token manager. Can refresh a token from page. NEW: EPC QR CODE - Use bank owner account name instead of company (#31735) NEW: fichinter list disable details option (#30884) NEW: filter on invoice dates in product margin tab (#29997) and thirdparty margin tab (#29998) NEW: FIX: Display invoice widgets by amount instead of number (#30215) NEW: Add the Clone of company (#29755) NEW: function for Preview In CKeditor products NEW: FY Changed Period handle in Module Asset (#31618) NEW: hidden option MAIN_TE_PRIVATE_FIRST_AND_LASTNAME_TO_UPPER (#31143) NEW: Hide completed items in Link to (#31329) NEW: Iban is saved encrypted NEW: if a user is associated with the expense report, then that user will get an associated credit line ($tabtp) generated. NEW: Implementing Billable tasks on projects using new attribute "billable" (#30092) NEW: Include a protection into check update of module to detect malware NEW: intervention signed status update (#30629) NEW: INTRA VAT ID field optionally mandatory and/or invoice mandatory in thirdparty module setup (#31663) NEW: Invoice - Generate payment information - Structured communication (#31376) NEW: Invoice line import - fk_product can be a ref (#30795) NEW: Look and feel v21 - Can have rounded border on tables NEW: Look and feel v21 - Toolbar for WYSIWYG editor is short on smartphone NEW: Management of extrafields on customer prices, level prices and default prices (#31313) NEW: manage several type of dangerous goods for a same parcel (#30238) NEW: Member - Can upload a file with drag and drop (#30265) NEW: Move the picto in the first tab label always visible NEW: ODTSubsitution for date_start_real / Contracts NEW: Look and feel - Opacity for finished lines (#30219) NEW: option: assign default roles to "individual" third-party contacts (#30499) NEW: option to allow freezing qty in BOM service's line (#29990) NEW: Add a page to list the lines of orderse (#31521) NEW: pagination in product margin tab NEW: payment term and mode on creating supplier (#31166) and third-party (#31067) NEW: PDF Add Customer accountancy code (#31544) NEW: PDF Add discount total if line discount exists (#31483) NEW: PDF Add option to print rounded corner frames (#31172) NEW: PDF Add shipping address in sales orders (#31293) NEW: PDF Add total discount if line discount exists NEW: PDF frame rounded corners NEW: Prelevement - Use structured payment data for Belgium (#31383) NEW: Preview product list when we choose model email layout Commerce (#30185) NEW: Can upload a file with drag and drop: Thirdparty (#30263) - Product/Service (#30250) - Project (#30276) - Propale (#30315) NEW: Public and private note options in thirdparty list (#31062) NEW: redirect to expedition card if global search has unique result (#30108) NEW: replenishment if the warehouse is set to the default selected user (#31229) NEW: retrieve Thirdparty by account (#31283) NEW: Share msg "not found" for widgets and add a button to add new record when none exists (#31309) NEW: shipment signed status update (#30928) NEW: Show detail of each multicurrency amount in popup of price NEW: show holidays at bottom of activity/permonth.php page (#31550) NEW: Show tooltip on number of qualified records NEW: Signature or proposal from the Web portal (#30062) NEW: Star Field Type for Extra Fields (#31348) and for for Module Builder (#31216) NEW: Support option PDF_ADD_POSITION on shipment espadon template NEW: Auto-suspend facture rec when nb gen max is reached (#31623) NEW: The margin section can now be shown/hidden NEW: Deal change in fiscal year period adjustments to shortened or extended periods (e.g., fiscal years of 9 or 15 months) NEW: (ticket, admin): More options entries (#30548) NEW: Update warehouse product list to add another sorting option (#30971) NEW: Can set blacklist of words into answer of AI (#30385) NEW: user list country filter (#30770) NEW: vat rate with department in dict (#31628) (#31627) NEW: When we export data of unlaterable log, we add an unalterable line in logs NEW Add option THEME_STICKY_TOPMENU = 'scrollleftmenu_after_mainpage' (or 'disabled') NEW value for FICHINTER_DISABLE_DETAILS. If FICHINTER_DISABLE_DETAILS is set to '2' details are disabled only on intervention list. PERF: Reduce nb of requests into num_public_holiday PERF: Reduce size for VCF files and virtualcard qrcode PERF: Reduce time to show the page of unalterable logs with high data For developers: --------------- NEW: translation with action triggers API (#30595) NEW: more complete stock product API call (#30567) NEW: Projet - Add hook formconfirm (#31408) NEW: Can choose the zip handler to build ODT. NEW: Can force ip into log file name using a define('SYSLOG_FILE_ADDIP') NEW: Can force log file name using a define('SYSLOG_FILE_ADDSUFFIX') NEW: Can define the text on tooltip on a yesno check. NEW: Introduce value 'password' for mode of sanitization in GETPOST. NEW: Add getImageFromHtmlContent() method NEW: Add gitleaks into pre-commit NEW: Add hook after the line is processed in the sell journal page (#31439) NEW: add hook dolibarrDelConst (#30672) NEW: Add hook getLoginPageExtraContent, getPasswordResetPageExtraContent NEW: add hook in dolibarr_set_const admin.lib.php (#30605) NEW: Add hook on sell journal page for overwrite the processed journal data after the SQL request (#31033) NEW: force_install_noedit : add value 3 to block all technical parameters excepted main_url (#30080) NEW: Add a new hook on order list (#31315) NEW: Add ID of the line in the trigger context for addLine(), updateLine() and deleteLine() on contract (#30343) NEW: Add more log information NEW: Add pagination data to some api routes (#29895) NEW: Add test to forbidden NOW() SQL function. NEW: API call to re-generate a users password. (#30590) NEW: API close proposal now supports both private and public note (#30659) NEW: API_LOGINS_ALLOWED_FOR_GET_EXTRAFIELD (#30562) NEW: API /setup endpoint for getting action triggers (#30538) NEW: HOOK FORMCONFIRM IN TICKET (#31321) NEW: hook on expensereport added (#31380) QUAL line classes for various business object classes have been moved to individual files. QUAL: #30122 (#30131) QUAL: AccountancySystem: maintenance work to uniformize and clean up (#31391) QUAL: All $conf->global->module->enabled are replaced with isModEnabled() QUAL: bankline category table name (#30419) QUAL: Clean code QUAL: conformity PR for data structure of #29964 (#30014) QUAL: Edition of currency is shared in a common tpl file QUAL: Ergo btn and fix (#30947) QUAL: Move function csvClean into functions2.lib.php QUAL: Move the public css file into the public directory QUAL: Removed inclusion of the file json.lib.php QUAL: simplifying readability of sql QUAL: Standardize name of user cookies QUAL: Suffix table name to have them created on module install QUAL: The property ->domiciliation and ->propio on bank accounts has been QUAL: Update inc.php (#29822) QUAL: Use archiveOrBackupFile for MAIN_MAIL_DEBUG_LOG_WITH_DATE QUAL: Use table_element in sql queries (#31355) QUAL: rename const WORKFLOW_EXPEDITION_CLASSIFY_NEWD_INVOICE to WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE QUAL: This configuration change in phan will report NEW: array types in phpdoc WARNING: -------- The following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Prepare your module for deprecation of triggers code XXX_INSERT to support also XXX_CREATE. * More class properties (with old name in french) are now deprecated in favor of the property name in english. * The json emulator dol_json_encode/decode() is removed. The native json PHP module must be enabled/available (this is the case by default with most PHP installation). * The deprecated GET parameter "&sall=" has been removed, use now the "&search_all=". * The experimental and deprecated module WebserviceClient is completely removed (was never released and use deprecated architecture). May be replaced with the stable module Webhook. * The dynamic properties ->no_button_delete, ->no_button_edit, ->no_button_copy for $object Product that could be set by an external module must no more be set (not allowed by PHP 8.2). A module can already return an array with key 'no_button_delete', 'no_button_edit', 'no_button_copy' for same purpose. * The old function dol_bc($var, $moreclass = '') has been removed. If you called it, just stop to call it. * The trigger code CATEGORY_LINK and CATEGORY_UNLINK has been replaced with code CATEGORY_MODIFY. You can read ->context['linkto'] or ->context['unlinkoff' to detect if we want to make a link or unlink. * The property ->domiciliation and ->propio on bank accounts has been deprecated and replaced with property ->address and ->owner_name everywhere. * If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__ ***** ChangeLog for 20.0.2 compared to 20.0.1 ***** FIX: fatal when updating recurring supplier invoice line with php8 ($remise_percent is '' instead of 0) (#31713) FIX: supplier invoice template card: buyer and seller swapped in VAT-related function calls (probably a copy-paste from customer invoice templates) (#31446) FIX: #25853 Thirdparty Massaction (#25868) FIX: #28505 Blank page from third party to projects (#31637) FIX: #30432 make thirdparty code_client and code_compta modifiable via API (#31668) FIX: #31015 FIX: #31360 delete contact when using pgsql. FIX: #31365 Bank - Card - Ref haven't max length in edit mode (#31533) FIX: #31452 Predefined supplier invoice - Language key & link to supplier card (#31514) FIX: #31538 Addition to EPC-QR values <200b><200b>to correct remittance information (#31557) FIX: Accountancy - Loan - Error on transfer (#31546) FIX: a dictionary CANNOT have zero value in entity field (#31625) FIX: Avoid fatal error when mysqli not available FIX: Bad balance of td into setup page of shipments FIX: bad test on permission makes agenda event creation on object not FIX: can validate shipment without stock movement (#31780) FIX: Clear of option THEME_ELDY_USEBORDERONTABLE FIX: column position on PDF of payments FIX: const WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE (#31601) FIX: convert amount into text when using numberwords FIX: Corrected typo preventing data from being saved (#31716) FIX: CSS FIX: access to media files FIX: default visibility FIX: dol_openinpopup for virtual card FIX: duplicate answers in list when using global search on proposals FIX: Edit a link FIX: email templates for expense report not visible FIX: Error management on cheque deposit. FIX: error message in xls import when stream zip is not available. FIX: Extrafield following between rec invoice and classic invoice (#31445) FIX: Filter on month of the balance of leaves. FIX: Fix bug select columns and access to the public ticket list from the public ticket card (case when we have connected to another client before, the track id stocked in session overwrite the new track id from the public ticket card) (#31000) FIX: for #31237 #31524 FIX: Get number of bank deposit wa not using the date. FIX: If you have no stock of your product, an error is displayed when you delete the reception. (#31504) FIX: issue on action set condition in particular when you set a deposi… (#31518) FIX: open redirection FIX: pagebreak when option PDF_ADD_POSITION is set FIX: PHP-warning-multiprice-in-liste-product-if-level-is-not-defined-on-product (#31507) FIX: Picto menu not visible FIX: Salary - Payment card - Missing date (#31512) FIX: Search on batch code FIX: select variant by attribute. (#31759) FIX: show preview pdf list expensereport (#31694) FIX: Show twice the technical ID FIX: space used by linked elements in PDF notes (#31459) FIX: substitutions THIRDPARTY_XXX are not available for actioncomm reminders (#31385) FIX: Support for PDF_ADD_POSITION was not complete FIX: the autofix corrupted vat value must be triggered only if we are FIX: the autofix must also fix the multicurrency value. FIX: this constant break the dictionary admin without Multicompany (#31638) FIX: uniformize and check delete contact action (#31384) FIX: Vat code is lost when updating lines in POS FIX: uniformize and check delete contact action (#31384) FIX: Vat code is lost when updating lines in POS FIX: When PDF_ADD_POSITION is on, the number was doing pagebreak before ***** ChangeLog for 20.0.1 compared to 20.0.0 ***** FIX: #30960 show and search extrafields (#31026) FIX: #31076 Bad position of hooks FIX: #31152 FIX: #31237 (#31239) FIX: #31241 (#31245) FIX: accounting transfer when nb of lines is not zero but amount is zero FIX: Add same security test when nuploading files from API than from GUI (#31114) FIX: allow "class" into search string in website module FIX: autoselect the fiscal period by default FIX: avoid odt errors (#31126) FIX: Backport fix fatal error on price with some truncating setup FIX: better compatibility with some old extrafield syntax filter FIX: box_actions.php still uses fk_user_done which no longer exists (#31190) FIX: Browser Notification ko with firefox FIX: custom CSS for WebPortal (#31022) FIX: Debug calculation of the delay of purchase order FIX: Debug option WORKFLOW_TICKET_LINK_CONTRACT. Bad id stored. Bad FIX: dolFICalculatePaymentReference for Finland in functions_fi.lib.php (#31281) FIX: Duplicate trigger printFieldPreListTitle FIX: edit contract of intervention broken by CSRF protection FIX: error return missing in mo creation when qty to consume is <= 0 (#31134) FIX: Extrafields does not appear on form FIX: FATAL ERROR abusively triggered due to incomplete regex (#31052) FIX: if you call fetchLines several times, your $object->lines contains duplicates (#31167) FIX: late order search option (v18+) (#30692) FIX: late propal search option (v18+) (#30687) FIX: Maxi debug edit/delete accounting transaction FIX: member must be found to search the linked partnership (WebPortal) (#30977) FIX: Missing picto on user link FIX: mysql error during dump for enable sandbox M999999 (#31116) FIX: OAuth generation of token for Microsoft, Stripe and Generic FIX: param id in website account list from third-party card (#30975) FIX: Position of box for shipping address in PDF FIX: Protection to avoid an extrafield to be mandatory if computed FIX: removed unreachable code (#31141) FIX: Remove wrong button FIX: retrieving user specific constant FIX: Revert storing of ticket files into event dir, too many troubles. FIX: Selection of country - state in resource FIX: State dropdown is not working on User card #31198 (#31205) FIX: Tool to convert into utf8 or utf8mb4 FIX: use price() to display qty on a product's stats tab to avoid showing too many decimals when rounding errors are possible (#31165) FIX: Warning visible when it should not FIX: webhook must send POST in body. Add WEBHOOK_POST_SEND_DATA_IN_BODY FIX: when qty is not an integer, apply price() (#31138) FIX: Wrong price for BOM with workstation (#31142) FIX: determine multi-currency price on object line create tpl (#28021) ***** ChangeLog for 20.0.0 compared to 19.0 ***** For users: ---------- NEW: Compatibility with PHP 8.2 (with no need to disable warnings) NEW: Font param Look and Feel THEME_FONT_FAMILY (#29302) NEW: Param to show main menu logo in color (#29305) NEW: #27048 add form to globally set "VARIANT_ALLOW_STOCK_MOVEMENT_ON_VARIANT_PARENT" variable (#27049) NEW: #29274 Add possibility to have different mail for autocopy for holiday (#29275) NEW: Module WebPortal experimental NEW: Module Bookcal is now experimental (TimeZone not yet supported) NEW: #24031 add option MAIN_GRANDTOTAL_LIST_SHOW to always show grand total to lists (#27247) NEW: #28070 Adding mobile phone to thirdparty NEW: Accept the __NOW__ and __USER_ID__key into filters NEW: Accountancy - Add possibility for specific format FEC to sort with the FEC name (#29722) NEW: Accountancy - Expense report - Add an option to use end period for transfer (#26706) NEW: Accountancy - Show accounting result on balance NEW: Accountancy - Show import key if exist (#29265) NEW: Accountancy - Auto-determine piece number in FEC import (#29672) NEW: Accountancy - Option to transfer only reconciled lines from bank (#29408) NEW: Accountancy - Separation of accounting default account for salary and expense report NEW: Various payment - Use list of accounting account when edit (#27992) NEW: Add option to change all service dates at once NEW: Add a default limit in nb to agenda export NEW: Add a Feedback-ID into email headers NEW: Add a link "Fill with layout" NEW: Add a link to add a website category in edit page properties NEW: Add ALT+s to save a website page in edit mode NEW: Add a protection in inventory when a product has stock of lot and is NEW: Add a warning if invoice payment is Credit Transfer on newpayment.php (#29685) NEW: Add Categorie filter for ActionComm (#28041) NEW: Add code+label of payment mode and term in purchase invoice export NEW: Add column data payment on VAT list NEW: add column for barcode in ticket NEW: add column to store a label for a supplier price (#27238) NEW: add constant TAKEPOS_ALTERNATIVE_PAYMENT_SCREEN NEW: add constant TICKETS_NO_COMPANY_ON_FORM NEW: add constant VATUPDATE_NO_TRANSACTION NEW: add const PROJECT_HIDE_OPEN_PROJECTS_LIST_ON_PROJECT_AREA to have the ability to hide the potentially very long list of open projects in any case NEW: add data type 'project' to blockedlog NEW: Add default User roles for Thirdparties (#29242) NEW: Added a configuration in workflows (#26959) NEW: added address, zip & town to resource object NEW: add field Reply to in emailing NEW: Add Filter on product referring object status(Order and Order Supplier) (#28275) NEW: add geometrics extrafield (#28239) NEW: Add global PRODUCT_STOCK_LIST_SHOW_WITH_COMPILED_PHYSICAL_STOCK for this is based on compiled physical stock, not the sum of product stocks on existing links. (#28171) NEW: Add id of last page accessed in website NEW: Add import ID in list of products NEW: Adding a recipient on emails sent, change status to sent partially. NEW: Add invoice subtype (some countries need this like greece) NEW: Add link to export ICS file of an event. NEW: Add maintenance tool to switch utf8 -> utf8mb4 NEW: Add option MAIN_USE_FULL_TEXT_INDEXATION NEW: Add option PDF_ADD_POSITION NEW: Add option position['find'] to DolEditor (#29546) NEW: Add option THIRDPARTY_MIN_NB_PROF_ID and THIRDPARTY_MAX_NB_PROF_ID NEW: Add option TICKET_INCLUDE_SUSPENDED_STATUS (Suspended status no more NEW: Add option to open files in new tab (#29604) NEW: Add picto favicon NEW: add position column in category table (#27425) NEW: add position field into category add view NEW: add relation type on element_element (#29329) NEW: Add shipments and reception stats on product stat tab (#29395) NEW: Add SMTP AUTH method PLAIN NEW: add some bank info on odt NEW: Adds payment terms and percent discount to the creation of an invoice from time entries in projects (#29694) NEW: add state province filter field NEW: Add support of [IF] tag other than in the core content (ex: headers who is in stylesXml) (#29357) NEW: add table to store product relation with thirdparty NEW: Allow smileys into emailing html content NEW: Allow to set a default project for POS sales (#27042) NEW: animation for display spinner when waiting response NEW: Asset Module - make asset model creation in a single step (#26982) NEW: auto fill infos in template email NEW: Automatically fill matching extra fields of object on line creation. (#27240) NEW: Can add documents on a payment (#29660) NEW: Can create new membership type from the create member form NEW: Can export security events. NEW: Can force language of a page in website module with xx/pagename NEW: Can force position of signature on PDF using a setup constant (#29676) NEW: Can generate the email selector file NEW: Can setup phone mobile for the main company (#28410) NEW: Can show legal form of company into the list NEW: Can show the legal form in address of recipient in PDF NEW: Can show the list of projects having at least one contact that is a contact of the third party NEW: Complete the thirdparty index page with last modified contacts NEW: constant MAIN_DISCARD_NEWD_PROJECTS_IN_SELECT NEW: Constant to select if typent helps define whether the thirdparty is a company NEW: contact type on auto add contributor (#26077) NEW: contenteditable is supported on table,header,footer and menu tags NEW: cronjob: deny to launch a method from a deactivated module NEW: determine multi-currency price on object line create tpl (#28021) NEW: dev: Add tool to update license with developer info NEW: Dev documentation about setting up pre-commit locally NEW: Develop new quick edit opportunity status (#27892) NEW: display product and qty in stock_movement table in project overview (#29296) NEW: dol_copy added to forbidden functions NEW: Dolibarr can now re-open ticket upon customer reply on the same ticket via email#28303 (#28451) NEW: Edit ticket (#29497) NEW: Expense Report: Add conf to block line creation if line date is out of range (#29427) NEW: Expense Report: new line add conf to Block if line date out of range NEW: export invoice source id (backport v17) NEW: export order client code NEW: Export RSS of event can be filter on action type and code (useful for smartphone notification with feeder) NEW: feature to merge 2 tasks (#29214) NEW: fetch object by element for website account card NEW: filter on sale representative in contact list NEW: Filter shipments by selecting multiple shipping methods (#28376) NEW: Font param Look and Feel (#29302) NEW: functionality for stock configuration prompt in AI module (#28030) NEW: functionality to delete contact of company list NEW: functionality to display codebar on pdf files (#29623) NEW: functionality to list event for user NEW: functionality for salaries massaction (bank-transfer) NEW: function for removing company contacts NEW: get html template example for each model NEW: hide external and non employee users in combobox NEW: hide external user in combobox NEW: Implement EPC QR Code on Invoices (#29445) NEW: in project overview, stock movement section, we only stock movement ref, but not the product and not the quantity NEW: input in emailForm to put AI instructions NEW: input reason label in customer proposal and order export (#29540) NEW: intervention list date filter NEW: Invoice Creditor Reference and banking barcode (FI) (#29328) NEW: Invoice PDF If bank account is empty, not print "Bank" and "Account" NEW: Label on Price fix:#28544 NEW: layout and prompt AI on create emailing NEW: Look and feel v20 - add picto to full list on summaries tables. NEW: Look and field: The operator 'or' on category filter visible only NEW: make "sell" or "eat by" mandatory in product lot NEW: Management of the In-Reply-To and References for ticket answers. NEW: module user rights enhancement (#29150) NEW: Module Website: Can link/unlink translation between web pages NEW: Move dir of cache for widgets NEW: multiselect with checkbox in categories/tags search for thirdparty list (#28335) NEW: new consts to redirect from massaction createbills (#29436) NEW: new global string to preselect yes for one bill per third party in orderlist massaction (#29359) NEW: notification action triggers for cancelling orders and invoices NEW: now button when editing an event NEW: online signature of shipments (#29559) NEW: On OAuth Google login, no prompt at all if already logged in Google NEW: Param to show main menu logo in color look and feel (#29305) NEW: Payment page received from donations NEW: possibility to define a completely inactive module (#29289) NEW: preview example page in website when create page NEW: propal canceled status NEW: receptions in dolibarr search box (#29700) NEW: redirect link in the config module in the event of an error client NEW: remove auto selected user for taxes-charges by default NEW: resource address, phone, email & maxusers (#28185) NEW: Script for fast identification of missing/unused/duplicate translations NEW: search member by date NEW: See the documents of my subordinates (#28318) NEW: Show error on ical parse NEW: Show the profit per attendee on events NEW: signed status CRUD to contract and fichinter NEW: Simplify the verification of context in hook (#27105) NEW: Sort variants list by product ref on combinations page (#27969) NEW: Statistic page donation (#28463) NEW: Supplier Invoice - List - Selector with choice on ECC country NEW: supplier order submit method message (#27855) NEW: Supplier Proposal API extended with DELETE, POST and PUT possibilities NEW: Support $moreinheader with SwiftMailer NEW: Support a date selector with type 'html' NEW: Support Reply-To tracking in emails sending (tickets only for the NEW: Take image from content for RSS NEW: TakePOS - add buttons to allow keyboard usage for discounts (#24819) NEW: TakePOS - add constant to show line subprices NEW: TAKEPOS - Clear search results NEW: TAkePOS - don't allow payment if no thirdparty selected NEW: TakePOS - Option TAKEPOS_NO_GENERIC_THIRDPARTY to disallow payment if no specific thirdparty selected (generic not allowed) NEW: Test send triggercode to url (#29675) NEW: Trigger for Knowledge (#29645) NEW: Add branches into apstats security report (cti.dolibarr.org) NEW: updated resource list for new fields (#28705) NEW: Update expense report card.php to allow pdf preview even without thumbnail (#29491) NEW: update price with auto to use const for rounding prices (#29350) NEW: Use a nicer combo list to select the export accounting format NEW: users can set their own length for short lists NEW: warning message when cloning a product whose status is not to sell (#28374) PERF: Performance enhancement on Invoice/Paiement area page PERF: Use cache for loaded users/contact on project list SEC: add some dolibarr functions to dol_eval forbidden functions (#29459) SEC: #28168 Correct protocol limitations (PHP7.4/Win) (#28172) SEC: Add a protection against installation of external module bypassing SEC: A user with export permission can export module data without SEC: Reduce nb of var without WAF used when using the website module For developers or integrators: ------------------------------ NEW: Situation invoice - Add new official progressive mode - (constant INVOICE_USE_SITUATION = 2) NEW: $noescapetags param of dol_escape_html works if attributes NEW: Add createInvoiceFromContract to API invoice (#27277) NEW: add debugging info to api/status if non-production NEW: Add functions to manipulate emojisNEW: add hook addMoreCategoryList to list category from external module NEW: add hook AFTER_VAT_UPDATE NEW: Add hook on printsheet barcode page NEW: adding online_payment_url to invoices API (#28107) NEW: Add method getPublicImageOfObject() for website module NEW: Add sql stddev_pop db function. NEW: Show the process ID and user ID into log files NEW: Add trigger on modify of user bank account NEW: Add Windows ci workflow NEW: All apis has a hook context of "api" initialized NEW: All fetchAll() method now support the USF syntax. NEW: allow [] in dol_eval (#27290) NEW: API Add some api endpoints (#25126) NEW: API can create, get and update extrafields #29249 (#29270) NEW: Api can force invoice ref (#28547) NEW: API can Post extrafields #29249 v2 NEW: API delete extrafields from name and elementtype NEW: API GET projects by REF and by email_msgid NEW: Api parameters are sanitized by the WAF, same code than GET/POST NEW: API setup delete extrafields from name and elementtype v2 (#29269) NEW: API setup update extrafields from name, elementtype and json NEW: API setup update extrafields from name, elementtype and json (#29273) NEW: api_thirdparties add and delete representatives (#27943) NEW: Extend of module options Setup NEW: Factoring and Fix external module elementType (#28666) NEW: class ai for generate content with api NEW: consider document lines in element properties NEW: DolDeprecationHandler for deprecations NEW: Execute the doAction hook on other ticket pages (#29701) NEW: FormSetupItem: show picto in front of confs applied across all entities (#28024) NEW: Global constant for deprecated module mapping (#28348) NEW: Hook after total Table on PDF (#28092) NEW: Hooks tab in debugbar (#24992) NEW: Init of a module with a website template copy also the preview NEW: llxHeader body css for asset, for command see #26856, for donation NEW: ModuleBuilder : add type genericpassword entry types NEW: Makes it possible to update html text fields besides integer and alpha fields for a custom build module. NEW: method to help declare dictionaries more easily NEW: Upgrade jsChantImproved to 2.8.10 NEW: Upgrade Sabre lib to 4.6.0 QUAL: Add sqlfluff (SQL code and style check) (#29097) QUAL: Check lang files does not contains 'notranslate' QUAL: Clean code around dol_eval use QUAL: clean deprecated code QUAL: Deprecated "domiciliation". Replaced with "address" QUAL: DiscountAbsolute: inherit CommonObject to implement errorsToString QUAL: Enhance API description - BOM, Documents (#27492), Setup QUAL: extend api/status QUAL: feature parity between vendor and customer template invoice (#26588) QUAL: FichinterTest: add errorsToString() QUAL: Force subclass MINVERSION (#26314) QUAL: Make the same condition only once. QUAL: phpstan github action QUAL: professional identifiers - remove TODO by adding profid.lib.php QUAL: Properties ->date_update and ->date_modification were merged QUAL: removed duplicate language file QUAL: Remove the external js library jstimezonedetect QUAL: Rename all input fields "tel" into "phone" QUAL: Rename column fk_origin_line on shipment lines into fk_elementdet to match a generic use. (#28989) QUAL: replace $conf->global with getDolGlobalString() QUAL: Send API response data before completing post-processing tasks QUAL: Sending API response data to clients before completing post-processing tasks. QUAL: Start to rewrite the export of accountancy. Misconception generates QUAL: the config_extended of phpstan will be kept on apstats only for the QUAL: The signature for all ->delete() method has been modified to match QUAL: Use phan to help detect new issues (#27706) QUAL: use real time when creating action from list QUAL: replace hard-coded dictionary IDs with constants (#29501) WARNING: -------- The following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * If a filter is defined into and extrafields "Select from a table", this filter MUST use the Universai Search Filter syntax (field:=:value) instead of field=value. See https://wiki.dolibarr.org/index.php?title=Universal_Search_Filter_Syntax * The parameter $filter of methods fetchAll() does not accept array of SQL commands but must be a string of an Universal Search Filter syntax. See https://wiki.dolibarr.org/index.php?title=Universal_Search_Filter_Syntax * The use of 'customurl' into $filter has been removed. Must use the USF syntax. * Some API HTTP return code were moved from 401 to 403 to better follow REST specification. * More class properties (with old name in french) are now deprecated in favor of the property name in english. * dolibarrtriggers class VERSION_XXX constants have been deprecated. Please use array dictionary VERSIONS['XXX']. * Properties ->date_update and ->date_modification were merged into date_modification. * All CLI tools (into /scripts) return a positive value to the shell if error (0 remains success) for a better cross platform compatibility. On linux the exit(-1) was caught as 255, it may be now exit(1) so will be caught as 1. * Ldap class methods connect_bind() & dump_content() have been renamed * Use of dol_eval with parameter $returnvalue=0 is deprecated. * The signature for all ->delete() method has been modified to match the modulebuilder template (so first param is now always $user), except the delete for thirdparty (still accept the id of thirdparty to delete as first parameter). Will probably be modified into another version. * Route for API /thirdparties/gateways has been renamed into /thirdparties/accounts to better match the api object name. * The AGENDA_ENABLE_DONEBY hidden option has been removed. So $userdoneid in actioncomm class is deprecated. Please use $userownerid instead. Also, the deprecated field $fk_user_done in actioncomm table is removed. Please use $fk_user_action instead. * The table commande_fournisseur_dispatch has been renamed into receptiondet_batch to better match its goal and the field fk_commande and fk_commandefourndet were renamed into fk_element and fk_elementdet * Removed trigger BILLREC_CREATEBILL. This trigger was not a CRUD event. If you used it, you can already use the trigger BILL_CREATE and test that ($object->fac_rec > 0) to know if creation trigger is from a recurring invoice or not. Also this old trigger was never enabled into table llx_c_action_trigger. * Renaming into expedition line table and class: fk_origin_line is now fk_elementdet in table and class. * The signature of method fetch() of class CompanyBankAccount has been modified to match the signature of method Account->fetch() ***** ChangeLog for 19.0.4 compared to 19.0.3 ***** FIX: fatal when updating recurring supplier invoice line with php8 ($remise_percent is '' instead of 0) (#31713) FIX: supplier invoice template card: buyer and seller swapped in VAT-related function calls (probably a copy-paste from customer invoice templates) (#31446) FIX: #25853 Thirdparty Massaction (#25868) FIX: #28505 Blank page from thirdparty to projects (#31637) FIX: #30757 FIX: #30762 FIX: #30768 allocate the correct invoice_line_id to the element timespent (#30769) FIX: #30772 Accountancy document export - The project filter on expenses report don't work (#30824) FIX: #30836 FIX: #30960 show and search extrafields (#31026) FIX: Add same security test when uploading files from API than from GUI (#31114) FIX: ajaxik URL in ExpenseReport to load coef calculation (#30918) FIX: attached file on first page load (#30694) FIX: autoselect the fiscal period by default FIX: avoid from re-initializing array result on nested hook getEntity (#30626) FIX: avoid odt errors (#31126) FIX: avoid pgsql error (#30678) FIX: avoid the return "AND (())" (#30829) FIX: Backport fix fatal error on price with some truncating setup FIX: box_actions.php still uses fk_user_done which no longer exists (#31190) FIX: can validate shipment without stock movement (#31780) FIX: column position on PDF of payments FIX: const WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE (#31601) FIX: Debug extrafields for bank lines FIX: email templates for expense report not visible FIX: Error message overwrote when a error occurs during update of product multilangs (#30841) FIX: error return missing in mo creation when qty to consume is <= 0 (#31134) FIX: Extrafield following between rec invoice and classic invoice (#31445) FIX: Fatal error on create loan schedule (#30656) FIX: Fix bug select columns and access to the public ticket list from the public ticket card (case when we have connected to another client before, the track id stocked in session overwrite the new track id from the public ticket card) (#31000) FIX: fixed search filter for projects resetting when set to empty (#30902) FIX: if you call fetchLines several times, your $object->lines contains duplicates (#31167) FIX: If you have no stock of your product, an error is displayed when you delete the reception. (#31504) FIX: Invoice unpaid widget - SQL error on group by with constant MAIN_COMPANY_PERENTITY_SHARED (#30866) FIX: issue on action set condition in particular when you set a deposi… (#31518) FIX: late order search option (v18+) (#30692) FIX: late propal search option (v18+) (#30687) FIX: missing fk_parent_line parameter (#30806) FIX: mysql error during dump for enable sandbox M999999 (#31116) FIX: PHP-warning-multiprice-in-liste-product-if-level-is-not-defined-on-product (#31507) FIX: Protection to avoid an extrafield to be mandatory if computed FIX: purge files cron: php warnings when rest module enabled (#30919) FIX: removed unreachable code (#31141) FIX: show preview pdf list expensereport (#31694) FIX: Substitution error in ticket emails in the subject (#30778) FIX: substitutions THIRDPARTY_XXX are not available for actioncomm reminders (#31385) FIX: use price() to display qty on a product's stats tab to avoid showing too many decimals when rounding errors are possible (#31165) FIX: Vat code is lost when updating lines in POS FIX: when qty is not an integer, apply price() (#31138) FIX: Wrong default PDF model when creating the second situation invoice (#30843) FIX: wrong subprice if price base type is TTC (#30887) ***** ChangeLog for 19.0.3 compared to 19.0.2 ***** FIX: #29403 HRM - Unable to delete a skill in a job Profile (#29779) FIX: #29439 incomplete API return (#29796) FIX: #29756 Sql error on comment search (#29761) FIX: #29780 Restore filtes when using "back to list" FIX: #30010 : Use conf TICKET_MESSAGE_MAIL_INTRO instead of translation key (#30081) FIX: #30274 : Add the include before executing dolibarr_set_const (#30320) FIX: #30467 FIX: #30576 - Salary payment - Date of the payment is not displayed (#30592) FIX: Accountancy - Avoid space on FEC name file (#29716) FIX: Accountancy - Generate entries of expense report with localtax (#30411) FIX: ASSET: annual depreciation starting year (Again ;-)) #26084 (#30040) FIX: Backport page inventory.php from v18 to fix pagination bugs causing data loss (#29688) FIX: back to page on error in contact card (#29627) FIX: Bad calculation of $nbtotalofrecord (#30183) FIX: Bad count of total of supplie rinvoice into the list FIX: Better compatibility when objectdesc is not valid, and warnings FIX: broken pdf preview when multicompany sharing (#30188) FIX: compatibility with MULTICOMPANY_TRANSVERSE_MODE (#30599) FIX: Conflict with autoload (#30399) FIX: Display the real_PMP on inventory when its value is equal to 0 (#22291) FIX: Error mesg show untranslated extrafield name (#30227) FIX: executeHooks $object default value (#29647) FIX: expedition PDF models using units labels (#30358) FIX: Extrafield intshowzero in list (#29789) FIX: Extrafields always been delete and re insert for categories (#29781) FIX: extrafields on Organized events was broken FIX: fatal error on loading pictures in attached documents of an event (#30553) FIX: for country type (#29745) FIX: group by qty in product margin tab (#29853) FIX: init total amounts in margin module (#29854) FIX: issue to get the right files exported in Quadratrus export.php (#30004) FIX: lang output for sales representative on PDF (#30469) FIX: langs in common docgenerator (#29774) FIX: langs overwrite (#29630) FIX: lettering (auto) for invoice deposit with company discount (#29633) FIX: missing $object and $action for hook parameters (#30484) FIX: Missing $param in hook call for list FIX: Missing expense report picto in list (#29917) FIX: Missing expense report picto in menu (#29908) FIX: Missing the description in tooltip when option show in tooltip on FIX: mo cloning (#29686) FIX: modification date from label in accounting bookkeeping list (#30038) FIX: move porpale ref pdf cornas (#29989) FIX: Not qualified lines for reception (#29473) FIX: on change ref for bank account attachment are lost (#30529) FIX: orders to bill menu (#30179) FIX: Page expands when ticket messages are too long (#29785) FIX: parameter name (#29666) FIX: PHP8 warning if $conf->reception is checked the old fashion way (#29697) FIX: PHP 8 warning on output of successful cronjob (#29922) FIX: PHP exception on getSpecialCode (#29646) FIX: php warning if cookie doesn’t exist (#29723) FIX: pos: invoice date incorrectly set because of timezome mismatches (reverts #36e91da) (#30184) FIX: public project form return an error if SOCIETE_EMAIL_UNIQUE (#29942) FIX: REPLENISH MANY FOURN WHEN ORDER ALREADY CREATE (#29710) FIX: Supplier Order search on date valid (#30448) FIX: Ternary operator condition is always true/false (#29649) FIX: to avoid error during upgrade with pgsql (#30443) FIX: transfer in accountancy for expense reports. FIX: uninitialised var (#29728) FIX: - Unknown Character on HTML (#30257) FIX: Unsigned propal having signing date (#29825) FIX: Update asset.class.php FIX: update date_echeance of supplier invoices when we update invoice date in the past (#29886) FIX: User List - Function is show in wrong column when module HRM enabled (#30186) FIX: var name error and remove useless code (#30601) FIX: Warning: Undefined property: PropaleLigne::$situation_percent in /home/httpd/vhosts/aflac.fr/domains/dol190.aflac.fr/httpdocs/core/lib/pdf.lib.php on line 2442 (#30033) FIX: wrong value for duration unit (#30261) FIX: The ZAR currency must show the R before the amount ***** ChangeLog for 19.0.2 compared to 19.0.1 ***** FIX: $object->oldcopy may be a stdClass and not original object FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269) FIX: 16.0 - the e-mail templates configured in the notification module are not used if the recipient is a fixed e-mail address (#29407) FIX: 17.0 - $num doesn't take trigger-modified newref into account, leading to inconsistencies if BILL_SUPPLIER_VALIDATE changes the invoice's ref (#28684) FIX: #22948 FIX: #24265 regression cannot see all product on takepos (#28753) FIX: #26015 FIX: #28205 FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252) FIX: #28347 FIX: occurred#28962 FIX: #29224 FIX: #29035 (#29303) FIX: #28369 FIX: #28429 FIX: #28491 (#28522) FIX: #28518 (#28520) FIX: #28533 Mo::deleteLine removes the "main" MoLine if consumed line is delete (#28535) FIX: #28564 FIX: #28978 FIX: #28976 FIX: #29029 Impossible to delete an order line FIX: #29114 Missing contact term in intervention FIX: #29114 Translate contact term in intervention FIX: #29225 FIX: #29229 FIX: #29333 supplier order extrafields of link type displays error (#29334) FIX: #29496 - filtering a record should not hide its child not filtered FIX: #29531 FIX: Accolad FIX: Accountancy export with file or not FIX: Accountancy - Not trunc id_import FIX: accounting FEC import (Issue #28306) (#29414) FIX: Adding the dependencies list feature for extrafields "select" (#28549) FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523) FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF FIX: an error in a complex else condition FIX: an error occurred when doing a mass vat change de 0% on supplier invoice (#29417) FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270) FIX: avoid php warnings (#29247) FIX: avoid to delete "lock" and "unlock" files FIX: avoid Unknown column 'pfp.ref_fourn' (#28145) FIX: avoid warning "error parsing attribute name in Entity" (#28543) FIX: background color for enabled modules (#29378) FIX: Bad column for total in bom list FIX: Bad condition on button back to draft on recruitment job. FIX: Bad CRLF when sending text only content. Fix dol_htmlwithnojs() FIX: Bad management on error creation of bookkeeping FIX: Bad picto on list of permission of a user when user not admin FIX: bad search on _ char in like when Debugbar is on FIX: bad timezone for the start/end date of an event FIX: Better test on validity of compute field syntax with parenthesis FIX: Blank list when contract was checked in list of tickets (#29528) FIX: Button for disabled modules must not appear. FIX: categories protection limit FIX: close #28279 FIX: Condition on newDateLimReglement FIX: Conflict with autoload FIX: contact/address title is always "New Contact/Address" even if the contact/address already exists (#29581) FIX: Count of virtual stock at Services and MoLine with disabled stock change (#28580) FIX: css of background of modules that was black FIX: default workstation on BOM FIX: disabled pito of menu must be greyed. FIX: Display the date according to user language on substitutions (#29510) FIX: Don't display column when it's out of date (#28271) FIX: duplicate error check (#29433) FIX: duplicate with lines: 414-416 (#28358) FIX: edit bank suggested for credit transfer payment in invoice setup FIX: empty array with php8.2 FIX: Ergonomic fail part02 (#29373) FIX: Error When cloning fourn price no default value for tva_tx (#28368) FIX: Error when updating user (#29304) FIX: fatal error Unsupported operand types when recording load payment FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217) FIX: Fix save directory for invoice ODT and multientities FIX: hasRight function FIX: Hide number beside select contract & added langs to translate c… (#29529) FIX: Hierarchy Employee view do not filter on employee = 1 (#29496) FIX: incorrect page numbering in PDF #29458 (#29476) FIX: Inline edition not implemented FIX: inventoryDeletePermission id define twice FIX: Issue with special characters in French FIX: link type extrafield on warehouse not working (#29339) FIX: logo and escape in RSS FIX: logo of paypal payment on payment page FIX: made invalid code shape error more user friendly (#29498) FIX: Manual deletion of a bookkeeping line FIX: Merge of thirdparties must also move uploaded files FIX: migration missing 2 columns in llx_resource and 1 in llx_user FIX: missing comma in query (#29435) FIX: Missing declaration of type export FEC/FEC2 for export with file source FIX: missing entity parameter for ajax_constantonoff FIX: missing hide "new" button where "product" or "service" module are disable FIX: missing trans FIX: Move the trigger for delete order line before the SQL request FIX: MRP divide product not working FIX: multiple problems with multicompany FIX: navigation after filter in subaccount FIX: notification: error 500 in fixed emails due to a bad copy/paste (#29580) FIX: notification module: for supplier orders (any of the 3 triggers), user can choose an e-mail template in conf, but the conf is not used when sending the notification (#28216) FIX: not redirtect when error occurs on updating card (#29388) FIX: Not trancate the multicurrency rate shown on cards (even if the global MAIN_MAX_DECIMALS_SHOWN is set to 0) (#28211) FIX: Oauth login FIX: Option MAIN_DOC_USE_TIMING can be a string with date format FIX: Payment on customer invoice - Remove accountid in url if empty for apply default value (#28156) FIX: Pb in redirect of a website page in USEDOLIBARRSERVER mode FIX: PDF Fatal error : Backport fix from #23972 FIX: PDF Translations Extrafields FIX: permission on payment file of a tax FIX: peut pas faire mieux ! FIX: php8: Fatal when empty $tmpvat is an empty string (no silent conversion to '0' when used in arithmetic operations) (#29451) FIX: php warning global conf (#29478) FIX: PHP Warning: Undefined array key "totalam" on line 1890 (#29489 #29578 #29487) FIX: PHP Warning: Undefined properties FIX: PHP Warning: Undefined variable $lib (#28342) FIX: PHP Warning: Undefined variable $mode (#28697) FIX: PHP Warning: Undefined variable $socid on line 55 (#29490) FIX: PHP Warning: Undefined variable $tva_npr in /fourn/facture/card.php on line 1695 (#29593) FIX: Picto for mime in top menu FIX: position of field in list of field in shipment list FIX: postgresql error (#28542) FIX: PUT /thirdparties/{id} and PUT /contacts/{id} should throw exception if update returns < 0 (#29596) FIX: quote in sql request FIX: Regression #29340 FIX: Repair the replenishment list (#29336) FIX: Responsive on admin project FIX: round capital societe (#29211) FIX: Row size of role contact in thirdparty (#29456) FIX: Scale for the "second" unit (#29327) FIX: search and add extrafields to tasks when conf disabled (#29542) FIX: Shipment closing action has wrong value (#28174) FIX: skip adding tab if user doesn't have permission (#28698) FIX: sometimes a string type instead integer is return, why ? FIX: some tooltips has disappeared on invoice action button FIX: Special code is now transmitted by args only in order supplier (#28546 #28619) FIX: SQL syntax error in DDLUpdateField FIX: StockTransfer class has no table_element_line FIX: subscription must be editable when accounting isn't reconciled (#28469) FIX: supplier price duplicate entry on update supplier product ref (#29290) FIX: Support of lot serial not working on TakePOS FIX: syntax error (but same result) :-) FIX: TakePOS | Add product / Delete line of existing invoice FIX: TASK_CREATE Trigger (#29483) FIX: The filter ! was broken in emailcollector FIX: The localtax must be exported only if activated FIX: Ticket new message notification sent twice FIX: trackid and temp dir on payment confirmation of event registration FIX: Translation for select (#28677) FIX: Undefined array key default on fields (#29243) FIX: upload odt files should not start/end with space FIX: use $conf->browser->os instead FIX: used hasRight function FIX: Value of field int = 0 from modulebuilder must not be set to null FIX: We should be able to add a workstation on bom lines (#29361 #29360) fix: when invoice is created by WORKFLOW_ORDER_AUTOCREATE_INVOICE on ORDER_NEW, the invoice must have the default bank account of the thirdparty is it's empty on order FIX: wrong array key (#29317) FIX: Wrong currency shown in TakePOS payment page FIX: wrong shortcut key for macintosh FIX: wrong sql request with product category filter FIX: wrong stock permission number NEW: Constant to select if typent helps define whether the thirdparty is a company NEW: Support Reply-To tracking in emails sending (tickets only for the SEC: #yogosha21416 SEC: Add a protection against installation of external module bypassing SEC: A user with export permission can export module data without permissions on module. ***** ChangeLog for 19.0.1 compared to 19.0.0 ***** FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269) FIX: 17.0: $num doesn't take trigger-modified newref into account, leading to inconsistencies if BILL_SUPPLIER_VALIDATE changes the invoice's ref (#28684) FIX: #22948 FIX: #24265 regression cannot see all product on takepos (#28753) FIX: #28205 FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252) FIX: #28369 FIX: #28429 FIX: #28491 (#28522) FIX: #28518 (#28520) FIX: #28533 Mo::deleteLine removes the "main" MoLine if consumed line is delete (#28535) FIX: #28564 FIX: Adding the dependencies list feature for extrafields "select" (#28549) FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523) FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF FIX: an error in a complex else condition FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270) FIX: avoid Unknown column 'pfp.ref_fourn' (#28145) FIX: avoid warning "error parsing attribute name in Entity" (#28543) FIX: Bad column for total in bom list FIX: Bad condition on button back to draft on recruitment job. FIX: Bad CRLF when sending text only content. Fix dol_htmlwithnojs() FIX: Bad picto on list of permission of a user when user not admin FIX: bad timezone for the start/end date of an event FIX: Better test on validity of compute field syntax with parenthesis FIX: close #28279 FIX: Count of virtual stock at Services and MoLine with disabled stock change (#28580) FIX: disabled picto of menu must be greyed. FIX: Don't display column when it's out of date (#28271) FIX: duplicate with lines: 414-416 (#28358) FIX: edit bank suggested for credit transfer payment in invoice setup FIX: Error When cloning fourn price no default value for tva_tx (#28368) FIX: fatal error Unsupported operand types when recording load payment FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217) FIX: migration missing 2 columns in llx_resource and 1 in llx_user FIX: missing trans FIX: notification module: for supplier orders (any of the 3 triggers), user can choose an e-mail template in conf, but the conf is not used when sending the notification (#28216) FIX: Not trancate the multicurrency rate shown on cards (even if the global MAIN_MAX_DECIMALS_SHOWN is set to 0) (#28211) FIX: Option MAIN_DOC_USE_TIMING can be a string with date format FIX: Payment on customer invoice - Remove accountid in url if empty for apply default value (#28156) FIX: Pb in redirect of a website page in USEDOLIBARRSERVER mode FIX: permission on payment file of a tax FIX: PHP Warning: Undefined variable $lib (#28342) FIX: PHP Warning: Undefined variable $mode (#28697) FIX: Picto for mime FIX: Picto in top menu FIX: position of field in list of field in shipment list FIX: postgresql error (#28542) FIX: quote in sql request FIX: Responsive on admin project FIX: Shipment closing action has wrong value (#28174) FIX: skip adding tab if user doesn't have permission (#28698) FIX: some tooltips has disappeared on invoice action button FIX: Special code is now transmitted by args only in order supplier (#28546) FIX: Special code is now transmitted by args only in order supplier (#28619) FIX: subscription must be editable when accounting isn't reconciled (#28469) FIX: Translation for select (#28677) FIX: upload odt files should not start/end with space FIX: Value of field int = 0 from modulebuilder must not be set to null FIX: Wrong currency shown in TakePOS payment page FIX: #yogosha21416 ***** ChangeLog for 19.0.0 compared to 18.0.0 ***** For users: ---------- NEW: Compatibility with PHP 8.2 (warning must be disabled) NEW: Module Workstation (used to enhance the module BOM and Manufacturing Order) is now stable NEW: Add a CLI tool to regenerate all documents NEW: Add a confirmation popup when deleting extrafields NEW: Add type 'icon' type for extrafields NEW: #20930 Use ajax for state loading after country change NEW: #23331 Add support for parent projects (#24856) NEW: #22531 Expense report - Add two fields into export : Qty & Unit price (excl.) (#26309) NEW: #22626 date filter thirdparties contracts projects (#22707) NEW: #24085 Add the Project filter NEW: #25312 Support extrafields in selectForForms NEW: #26312 Manage intermediate BIC - SQL Part (#26325) NEW: Accountancy: Add quick navigation with keyboard shortcut on ledger (#26221) NEW: Accountancy: FEC/FEC2 format export with attachments (#26192) NEW: Accountancy: Option to choose length of lettering code NEW: Accountancy: Chart of accounts ES PCG08-PYME-CAT in catalan language NEW: added a button to create a product or a service from an order or an invoice (#26173) NEW: added a button to re-encrypt data of a dolcrypt extrafield password NEW: added a goto url from smartphone search page NEW: added all id prof checker on thirdparty for code compta customer and supplier NEW: added protection on purgeFiles NEW: added a constant to check if qty shipped not greater than qty ordered NEW: added context for the movement stock (role toconsume/toproduce) on mrp NEW: added contract link on ticket NEW: added column 'Technical ID' in list of details lines of an order (#26164) NEW: added custom compute for exports NEW: added custom text on footer total (#26334) NEW: added different picto for each type of extrafields (date, string, ...) NEW: added a popup on validation instead of a database field to know if the user wants to include subwarehouse NEW: added the field "include_sub_warehouse" in the table "llx_inventory" NEW: added VAT free & VAT amounts on payment input NEW: added ext payment system ID in the payment page with link to Stripe NEW: added field Technical ID in list of users NEW: added filter on status of line of a dictionary NEW: added get_substitutionarray_other() on shipping odt (#25080) NEW: added IdProfCheck on thirdparty for BE (xxxx.xxx.xxx) NEW: added index on prelevement_demande NEW: added invoice subtype in customer invoice (#26543) and template invoice (SQL part) (#26535) NEW: added a label to price level when changing price (#26240) NEW: added modifications of template invoices into agenda NEW: added more company information (ProfId7 to 10) (#25266) NEW: added more information to holiday mailings (#25461) NEW: added more param on fetch() to prepare perf optimization NEW: added more tables activated by module activation only NEW: added new field into $fields array + Creation of the function getChildWarehouse() NEW: added option for cancel consumed and produced lines (delete lines and rollback stocks) when delete or cancel an manufacturing order (#26254) NEW: added option in PDF for purchase order and quotation to hide prices NEW: added order supplier submit notif NEW: added parent product column on list NEW: added picto in product/service list in object lines (#25511) NEW: added possibility to choose separator #21426 NEW: added preselected update keys attribute to import class and select it by default if filled NEW: added recurring behaviour NEW: added recursive deletion option for child MOs (#26102) NEW: added refactoring user permission (#26162) NEW: added sorting of product price list by customer (#26483) NEW: added tab Events/Agenda on recurring invoices NEW: added the formEditObjectLine hook on commande card and invoice card NEW: added the picto phone of thirdparty on the kanban view of projects NEW: added the status of partnership to select partnership for emailing NEW: added Ticket tab on contract NEW: Agenda: agenda per user use quarter hour split instead of half hour split NEW: Allow generation of delivery note through REST-API (#26226) NEW: Allow sync of currency rates with currency layer by default. NEW: Allow to have products not managed in stocks - SQL Part (#26190) NEW: Assign contact to a ticket message (#24735) NEW: Better protection against reserved words NEW: billing on shipment+reception. Can be done before or after delivery. NEW: can edit bomline workstation NEW: Can include product variants in list of products NEW: Can manage ODT documents for groups of users. NEW: Can restore product in stock when deleting the supplier invoice NEW: Can see the favicon file into setup of properties of a website NEW: Can switch product batch management to no management. (#21691) NEW: Can upload/delete ODT template for project and tasks NEW: clone skill object (#26526) NEW: column in table prelevement_lignes for fk_user (#26196) NEW: CONF allow modify ticket classification even if closed NEW: conf to display date entry stock exped and sort in date order (#22625) NEW: Contract: Merge the "Create ..." buttons on contract into one. NEW: create a product from a free line in a document (#22324) NEW: customize position in complete_head_from_modules (#26406) NEW: Date d'entree en stock sur les exped au moment de la création -> Stock date on exped at time of creation NEW: Date field for shipment export (#25574) NEW: Date format dayhoursec is using year on 2 char on smartphones NEW: do not add default value in list NEW: Donations: Generic doc template for donations (#26338) NEW: drop down for action button show a simple button if only 1 action NEW: Enhance github_commits_perversion to get more stats on git commits NEW: Enhance IPN to support payment_intent.succeeded for both card/ban NEW: Exports: added product barcode on stock exports NEW: extrafields password accepts 'dolcrypt' algorithm (reversible algo) NEW: Factorize a lot of code for numbering modules NEW: filter on from/to period rather than month/year (#26378) NEW: FontAwesome - added possibility to select another version NEW: Get list evaluation with skills details in user fiche (#26510) NEW: hidden conf to disable use of dns_get_record (which can become unresponsive) (#26339) NEW: HR: PDF Generation for each Human Resource Evaluations NEW: improved resource data structure NEW: Interventions: close notification for interventions NEW: Inventory: include sub warehouse in inventory NEW: Inventory: inventory without virtual products (kits) NEW: Invoices: subtypes for customers and vendors (#26233) NEW: Invoices: start and end date for due date filter on invoice list NEW: Invoice time from task, make task note better display in invoice line NEW: lazy load to substitute project variables (#26451) NEW: LDAP: Active Directory UserAccountControl (#25507) NEW: Library including math and financial functions (#25035) NEW: Loan: can upload a file with drag and drop NEW: Manage rate indirect. (#26449) NEW: Manufacturing Order: add edit line on MO (#26122) NEW: memorize model name for PDF hooks NEW: Menu editor is responsive NEW: ModuleBuilder: Can modify the picto into ModuleBuilder NEW: ModuleBuilder: Form for add object's property on ModuleBuilder NEW: More accurate tooltip on what admin permissions are NEW: (#24834) new option for hide the footer (#25464) NEW: (#25044) new option for choose project visibility NEW: new option for hide the footer of tickets on the public interface NEW: no need to create invoice supplier object on supplier card for standalone credit note NEW: Open-Surveys: Add a public page to list all open surveys NEW: Option to show label, ref+label or only ref of product in TakePOS NEW: payment full amount detail tooltip NEW: Payments: Can edit both the Test and Live stripe customer account on payment NEW: possibility to deselect line when create a recurring invoice + missing to use fk_parent_line NEW: Projects: List - use select2 multiselect for status NEW: Projects: massactions to delete projects NEW: Propagate invoice extrafields into template invoice (#26529) NEW: remove include_subwarehouse form llx_inventory database table NEW: resource improvements - data structure (#26285) NEW: Retrieve VAT details from the Greek Ministry of Finance GSIS SOAP web service and autocomplete third party fields NEW: Right for stats orders (#24607) NEW: rights and check access to create portal accounts NEW: Row in list higher height (#26177) NEW: Salaries: Can generate SEPA files for salaries (#26541) NEW: Save date of RUM creation when creating a Stripe SEPA mandate NEW: Shipments: can include service (for information and invoicing) (#26407) NEW: Show id of module on the tooltip module help page NEW: show VAT free amount on payment input close #26208 (#26209) NEW: Sub total in list (#26165) NEW: Support html content for combo list of email recipient NEW: TakePOS: add constant to check qty asked is available (#24820) NEW: TakePOS: add constant to choose contact instead of customer (#24807) NEW: TakePOS: amount label with or without tax in free product (#24829) NEW: TakePOS: compatibility with lots and serials (#26426) NEW: TakePOS: use default customer, category and product when enable TakePOS (#25031) NEW: TakePOS: added option TAKEPOS_HIDE_PRODUCT_PRICES to hide prices in TakePOS NEW: Tickets: add and list external contributors on ticket public interface NEW: Third-Parties: add total line to third-parties list (#26148) NEW: Tooltips are using ajax by default NEW: Website: Support of js into the Dolibarr server preview NEW: Top menu support picto of modules that are font awesome picto. NEW: updating by adding massactions for delete projects in societe tab NEW: updating by adding tooltip for api section in Modulebuilder NEW: updating by adjust request SQL for Salary invoice (#26279) NEW: updating for display Help title when try to delete Don (issue #25314) NEW: Upgrade in module builder in menu section NEW: use account address in sepa mandate (#23642) NEW: VAT rate - Add entity NEW: Website: Support of js into the Dolibarr server preview NEW: When an user unset the batch management of products, transformation of each batch stock movement in global stock movement For developers or integrators: ------------------------------ QUAL Reduce very seriously the technical debt (using PHPStan, Psalm and Rector) NEW Tool in dev/tools/rector to autofix code using style coding practice rules SECURITY SEC: #25512 applicative anti bruteforce - security on too many login attempts (#25520) SEC: added action confirm_... as sensitive to need a CSRF token SEC: Disable not used PHP streams SEC: added option MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY PERFORMANCE PERF: Removed a useless fetch_thirdparty PERF: Perf avoid 2 useless fetch into the triggers of agenda. PERF: performance & code quality enhancements template sections QUALITY QUAL: Remove hardcoded code for OVH sms. Generic method is ok now. QUAL: Code fix using rector QUAL: Force subclass MINVERSION (#26314) QUAL: group all flag images into 1 sprite file. (#26459) QUAL: Move conf->global into getDolGlobal... QUAL: Refactor merging companies and fix #26272 with Reception objects (#26320) QUAL: Removed deprecated field remise, remise_percent, remise_absolute QUAL: Standardize code and look and feel for dictionaries QUAL: Standardize code. Renamed ID of user properties into ->user_xxx_id QUAL: Use dol_clone with parameter 2 for ->oldcopy QUAL: use switch case instead of if elseif statements for actions QUAL: Better respect of REST API RFC. Hooks: NEW: [Add hook in user bank page] NEW: #19501 Add two hooks in dolreceiptprinter.php (#26439) NEW: Accountancy - Add hooks on PrintFieldList for expensereportsjournal, purchasesjournal, sellsjournal NEW: add hook on selectLotDataList() function (#25368) NEW: add Hooks and prepare extrafields management for product invoices consumptions (#26280) NEW: add hooks on import, step 5 - 6 (#24915) NEW: add hook tabContentCreateSupplierOrder (#26418) NEW: add hook tabContentViewSupplierInvoice (#26431) NEW: add new hook AfterImportInsert NEW: add new hook OrderCard (#26380) NEW: add new hook tabContentCreateOrder (#26408) Triggers: NEW: Trigger: add trigger COMPANY_RIB_XXX already present in companybankaccount.class.php NEW: Trigger: add trigger on import success NEW: Trigger: add trigger when deleting a bank account line NEW: Trigger: subproduct triggers in product class (#25142) ModuleBuilder: NEW: ModuleBuilder: add section changeLog to Doc in MB NEW: ModuleBuilder: Add api url to documentation in ModuleBuilder NEW: ModuleBuilder: Checkin comments begin and end before each actions NEW: ModuleBuilder: edit properties in description tab for ModuleBuilder NEW: ModuleBuilder: remove dictionary in ModuleBuilder NEW: ModuleBuilder: add page for create dictionary NEW: ModuleBuilder: add badge for each tabs NEW: ModuleBuilder: for edit name of dictionary and delete it in MB NEW: add a $notrigger param to Product::updatePrice() method (#26404) NEW: add a rule to fix empty($conf->global->...) into !getDolGlobal... NEW: add column extraparams on societe_rib NEW: add phpunit for REST API of contacts NEW: add barcode function to check if EAN13 is valid WARNING: -------- The following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Recheck the setup of your module Workflow to see if you need to enable the new setting to have shipment set to billed automatically when an invoice from a shipment is validated (and if your process is to make invoice on shipment and not on order), because this setup has changed. * The hook changeHelpURL is replaced by llxHeader * The property ->brouillon has been removed from all classes. It was not reliable and was a duplicate of ->status == self::STATUS_DRAFT. * The duplicated and deprecated property ->date_livraison that was renamed into ->delivery_date has been completely removed. * The property ->user_close to store ID of closing user has been renamed into ->user_closing_id. * The property ->user_validation to store ID of user validating has been renamed into ->user_validation_id. * The property ->user_creation to store ID of user of creation has been renamed into ->user_creation_id. * The property ->user_modification to store ID of user of modification has been renamed into ->user_modification_id. * The private array ->status_short, ->statuts and ->status_long are now array ->labelStatusShort and ->labelStatus everywhere. * The duplicate property ->user_creat, ->date_creat, ->date_valid have been removed (use instead user_creation, date_creation, date_validation). * The method get_substitutionarray_shipment_lines() has been removed. Use the generic get_substitutionarray_lines() instead. * The method ProductcustomerPrice->fetch_all_log() has been renamed into camel case ->fetchAllLog() * It was possible to use a variable $soc or $right inside a PHP code condition of some extrafields properties, this is no more true (this 2 variables are no more global variables). * New hook files of modules actions_mymodule.class.php should now "extends CommonHookActions" * Endpoint for API /partnershipapi and /recruitment has been renamed into /partnerships and /recruitments to follow name conventions. * Hidden option ACCOUNTANCY_AUTOFIX_MISSING_LINK_TO_USER_ON_SALARY_BANK_PAYMENT has been renamed into ACCOUNTANCY_AUTOFIX_MISSING_LINK_TO_USER_ON_SALARY_BANK_PAYMENT * The delete() method of AdherentType, Contact, Delivery, MultiCurrency, CurrencyRate now need $user as first parameter. * A very high number of class properties (with old name in french) are now deprecated in favor of the property name in english. * The load of hook context productdao has been removed before calling loadvirtualstock. Modules must use the context of main parent page or 'all' for all cases. ***** ChangeLog for 18.0.6 compared to 18.0.5 ***** FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269) FIX: 16.0 - the e-mail templates configured in the notification module are not used if the recipient is a fixed e-mail address (#29407) FIX: 17.0: $num doesn't take trigger-modified newref into account, leading to inconsistencies if BILL_SUPPLIER_VALIDATE changes the invoice's ref (#28684) FIX: 17.0: fatal when updating recurring supplier invoice line with php8 ($remise_percent is '' instead of 0) (#31713) FIX: 17.0: supplier invoice template card: buyer and seller swapped in VAT-related function calls (probably a copy-paste from customer invoice templates) (#31446) FIX: #24265 regression cannot see all product on takepos (#28753) FIX: #25853 Thirdparty Massaction (#25868) FIX: #28205 FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252) FIX: #28369 FIX: #28518 (#28520) FIX: #28978 FIX: #28976 FIX: #29029 Impossible to delete an order line FIX: #29114 Missing contact term in intervention FIX: #29114 Translate contact term in intervention FIX: #29439 incomplete API return (#29796) FIX: #29496 filtering a record should not hide its child not filtered FIX: #30010 Use conf TICKET_MESSAGE_MAIL_INTRO instead of translation key (#30081) FIX: #30274 Add the include before executing dolibarr_set_const (#30320) FIX: #30467 FIX: #30768 allocate the correct invoice_line_id to the element timespent (#30769) FIX: Accountancy export with file or not FIX: Accountancy - Generate entries of expense report with localtax (#30411) FIX: Accountancy - Not trunc id_import FIX: accounting FEC import (Issue #28306) (#29414) FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523) FIX: Add same security test when uploading files from API than from GUI (#31114) FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF FIX: an error in a complex else condition FIX: ASSET: annual depreciation starting year (Again ;-)) #26084 (#30040) FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270) FIX: avoid from re-initializing array result on nested hook getEntity (#30626) FIX: avoid php warnings (#29247) FIX: avoid to delete "lock" and "unlock" files FIX: avoid Unknown column 'pfp.ref_fourn' (#28145) FIX: background color for enabled modules (#29378) FIX: Backport fix fatal error on price with some truncating setup FIX: Backport page inventory.php from v18 to fix pagination bugs causing data loss (#29688) FIX: back to page on error in contact card (#29627) FIX: Bad calculation of $nbtotalofrecord (#30183) FIX: box_actions.php still uses fk_user_done which no longer exists (#31190) FIX: can validate shipment without stock movement (#31780) FIX: Condition on newDateLimReglement FIX: Conflict with autoload (#30399) FIX: const WORKFLOW_RECEPTION_CLASSIFY_NEWD_INVOICE (#31601) FIX: contact/address title is always "New Contact/Address" even if the contact/address already exists (#29581) FIX: Display the date according to user language on substitutions (#29510) FIX: Display the real_PMP on inventory when its value is equal to 0 (#22291) FIX: Don't display column when it's out of date (#28271) FIX: email templates for expense report not visible FIX: Error mesg show untranslated extrafield name (#30227) FIX: Error message overwrote when a error occurs during update of product multilangs (#30841) FIX: Error When cloning fourn price no default value for tva_tx (#28368) FIX: executeHooks $object default value (#29647) FIX: expedition PDF models using units labels (#30358) FIX: Extrafield following between rec invoice and classic invoice (#31445) FIX: fatal error on loading pictures in attached documents of an event (#30553) FIX: fatal error Unsupported operand types when recording load payment FIX: Fix bug select columns and access to the public ticket list from the public ticket card (case when we have connected to another client before, the track id stocked in session overwrite the new track id from the public ticket card) (#31000) FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217) FIX: Fix save directory for invoice ODT and multientities FIX: group by qty in product margin tab (#29853) FIX: Hierarchy Employee view do not filter on employee = 1 (#29496) FIX: if you call fetchLines several times, your $object->lines contains duplicates (#31167) FIX: If you have no stock of your product, an error is displayed when you delete the reception. (#31504) FIX: incorrect page numbering in PDF #29458 (#29476) FIX: inventoryDeletePermission id define twice FIX: issue on action set condition in particular when you set a deposi… (#31518) FIX: issue to get the right files exported in Quadratrus export.php (#30004) FIX: lang output for sales representative on PDF (#30469) FIX: late order search option (#30692) and propal (#30687) FIX: lettering (auto) for invoice deposit with company discount (#29633) FIX: made invalid code shape error more user friendly (#29498) FIX: Merge of thirdparties must also move uploaded files FIX: missing entity parameter for ajax_constantonoff FIX: missing hide "new" button where "product" or "service" module are disable FIX: mo cloning (#29686) FIX: modification date from label in accounting bookkeeping list (#30038) FIX: Move the trigger for delete order line before the SQL request FIX: multiple problems with multicompany FIX: mysql error during dump for enable sandbox M999999 (#31116) FIX: notification: error 500 in fixed emails due to a bad copy/paste (#29580) FIX: notification module: for supplier orders (any of the 3 triggers), user can choose an e-mail template in conf, but the conf is not used when sending the notification (#28216) FIX: Not qualified lines for reception (#29473) FIX: not redirect when error occurs on updating card (#29388) FIX: Not trancate the multicurrency rate shown on cards (even if the global MAIN_MAX_DECIMALS_SHOWN is set to 0) (#28211) FIX: on change ref for bank account attachment are lost (#30529) FIX: Option MAIN_DOC_USE_TIMING can be a string with date format FIX: orders to bill menu (#30179) FIX: Payment on customer invoice - Remove accountid in url if empty for apply default value (#28156) FIX: PDF Fatal error : Backport fix from #23972 FIX: PDF Translations Extrafields FIX: permission on payment file of a tax FIX: php8: Fatal when empty $tmpvat is an empty string (no silent conversion to '0' when used in arithmetic operations) (#29451) FIX: PHP 8 warning on output of successful cronjob (#29922) FIX: PHP exception on getSpecialCode (#29646) FIX: php warning global conf (#29478) FIX: pos: invoice date incorrectly set because of timezome mismatches (reverts #36e91da) (#30184) FIX: public project form return an error if SOCIETE_EMAIL_UNIQUE (#29942) FIX: purge files cron: php warnings when rest module enabled (#30919) FIX: PUT /thirdparties/{id} and PUT /contacts/{id} should throw exception if update returns < 0 (#29596) FIX: Regression #29340 FIX: Repair the replenishment list (#29336) FIX: REPLENISH MANY FOURN WHEN ORDER ALREADY CREATE (#29710) FIX: round capital societe (#29211) FIX: search and add extrafields to tasks when conf disabled (#29542) FIX: show preview pdf list expensereport (#31694) FIX: sometimes a string type instead integer is return, why ? FIX: Special code is now transmitted by args only in order supplier (#28546) (#28619) FIX: SQL syntax error in DDLUpdateField FIX: subscription must be editable when accounting isn't reconciled (#28469) FIX: substitutions THIRDPARTY_XXX are not available for actioncomm reminders (#31385) FIX: Supplier Order search on date valid (#30448) FIX: supplier price duplicate entry on update supplier product ref (#29290) FIX: syntax error FIX: TakePOS | Add product / Delete line of existing invoice FIX: Ticket new message notification sent twice FIX: transfer in accountancy for expense reports. FIX: Unsigned propal having signing date (#29825) FIX: Update asset.class.php FIX: update date_echeance of supplier invoices when we update invoice date in the past (#29886) FIX: use $conf->browser->os instead FIX: use price() to display qty on a product's stats tab to avoid showing too many decimals when rounding errors are possible (#31165) FIX: User List - Function is show in wrong column when module HRM enabled (#30186) fix: when invoice is created by WORKFLOW_ORDER_AUTOCREATE_INVOICE on ORDER_NEW, the invoice must have the default bank account of the thirdparty is it's empty on order (#29462) FIX: when qty is not an integer, apply price() (#31138) FIX: Wrong currency shown in TakePOS payment page FIX: wrong shortcut key for macintosh FIX: wrong sql request with product category filter FIX: wrong stock permission number ***** ChangeLog for 18.0.5 compared to 18.0.4 ***** FIX: 17.0: deprecated field should only be a fallback FIX: 17.0 - php8 warnings: test for $field existence before checking if it is null or empty FIX: #24185: v18: display of the merged pdf lists FIX: #26416 BOM_SUB_BOM blank page FIX: #27166 FIX: #27262 Recurrent invoice - user to string conversion FIX: #27970 #26283 #27970 FIX: Accountancy - Level 3 of binding not working on supplier side (#27462) FIX: Accounting files export - Use th instead of td on all title columns (#28003) FIX: add action update_extras to don card FIX: Adding hooks init FIX: Adding the $encode parameter to recursive _replaceHtmlWithOdtTag() utilisation FIX: add new hook context for mo production card (#28037) FIX: avoid from re-initializing result on nested hook getEntity (#27799) FIX: avoid sql error (issue #26342) FIX: bad accountancy code autoselection for supplier ventilation FIX: Bad visible status of proposal after reopen FIX: Barcode header cell not well displayed FIX: BarCode Header not well displayed FIX: Bar code verification should be done by entity because generation does (#28087) FIX: can edit reminders on past events FIX: check parameter socid before cloning a customer proposal (#28085) FIX: crabe PDF is generating in conf->entity instead of object->entity FIX: CVE-2024-23817 (#28089) FIX: disable pointer events on jQuery-UI tooltips to prevent a glitch (fast-blinking tooltip) FIX: Error on emailreminder not reported FIX: Fatal error converting object of class User to string (php8) FIX: filter by entity on contact is missing FIX: Fix supplier invoice security check FIX: format of color in manifest is wrong when using a custom color FIX: #GHSA-7947-48q7-cp5m FIX: HTML injection vulnerability in Dolibarr Application Home Page FIX: invoice add line save devise FIX: Keep a link to enable a 'always_enabled' module to solve pb. FIX: label FIX: line special_code never saved (#28051) FIX: link to print when there is a search on multiselect fields FIX: Menu Create of project no working on smartphone with no top menu. FIX: missing $search_sale var (backport from v19) FIX: Missing begin transaction when updating supplier recurring invoice FIX: missing entity filter for check if period exists FIX: more correctly parse the select part to be replaced in sql queries FIX: MouvementStock::origin is not an object FIX: notification information on intervention validated confirmation message (v17+) FIX: not load all contacts by default when creating an event FIX: port in Docker MailDev FIX: propal use devise changes FIX: public user photo not visible if $dolibarr_main_instance_unique_id FIX: remove DISTINCT (backport from v19) FIX: remove specific name from v19 FIX: Retours PR FIX: Return a better error message when token is not valid FIX: search by ref & rowid in don list FIX: search by thirdparty in don list FIX: several names for one const THIRDPARTY_CAN_HAVE_CUSTOMER_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT FIX: SQL concatenation error FIX: [TAKEPOS] display prices with or without taxes depending on setup (TAKEPOS_CHANGE_PRICE_HT) FIX: Ternary operator condition is always true/false FIX: too long output FIX: Undefined property: Task::$fk_parent FIX: uniformization to use "intervention" FIX: Update loan.class.php (#27971) FIX: update price extrafield on propal card FIX: user filter in per user view of event list (#28049) FIX: use the currency for propal signature page ***** ChangeLog for 18.0.4 compared to 18.0.3 ***** FIX: $this->newref already exists and could have been modified by trigger but we still use a local variable for the filesystem-based renaming FIX: 16.0 only, backport fix for SQL error on global search product FIX: #25399 (#26694) FIX: #25458 intervention localizations (backport v17) (#26757) FIX: #26518 FIX: #26536 Accountancy - Balance - Not divided lines by label & account, only by account (#26547) FIX: #26553 Supplier invoice - Do not display the delete button for reconciled payment (#26554) FIX: #26735 FIX: #26994 FIX: Accountancy - Possibility to write in bookkeeping expense report operation with some line not bound (#26545) FIX: add display of an error when attempting to delete a committed transaction (#26573) FIX: avoid warning : Cannot use a scalar value as an array (#26437) FIX: backport SQL error on global search product FIX: # Bug Estimated Stock at date value in V14 (#26479) FIX: commande context (#26497) FIX: delivery note disappear after generation FIX: double hook and paging search param in product list (#26767) FIX: Email reminder template must not be visible when option is off FIX: escape HTML tags in return value of getFullName() (#26735) FIX: Fix set private note (#26610) FIX: Fix when options FAC_FORCE_DATE_VALIDATION and INVOICE_CHECK_POSTERIOR_DATE enabled. The date is forced after the test and not before FIX: menu auguria FIX: pagination parameters on save and cancel buttons (#26605) FIX: pdf cornas page head multicell width (backport v17) FIX: php8 fatal on edit supplier order when multicurrency is activated (#26758) FIX: possible inconsistency between llx_ecm_files and file system when BILL_SUPPLIER_VALIDATES changes ref FIX: regression on planned bank entries (#26556) FIX: Social contribution - Payment list - Wrong information in type column (#26561) FIX: special_code update line keep old value. (#26819) FIX: substitute project variables in invoice documents (#26445) FIX: Test on permission for holiday tooltips FIX: v17: Param $notrigger in $societe->create() causes method to return true regardless of actual result of database functions (#26499) FIX: v18 SQL error in llx_c_forme_juridique.sql when installing FIX: Warehouse Global Amounts not displayed (#26478) FIX: warning param $lineID getSpecialCode is negatif (#26826) FIX: warning php8.2 undefined_array_key (#26830) ***** ChangeLog for 18.0.3 compared to 18.0.2 ***** FIX: #25793 Cannot add time spent (#26405) FIX: #26100 Ticket - On edit, list of closed project must be excluded (#26223) FIX: #26170 FIX: #26195 Various payment - List of project excluded those assigned to third parties (#26222) FIX: #26349 add_customer_ref_on_linked_shipment FIX: avoid warning + CSRF FIX: avoid warning if module not activated FIX: Bad name for trigger in HRM module FIX: check tva_tx before comparing price_min_ttc (#25220) FIX: Compare the result of the send mail file function FIX: dol_eval with function starting with ! FIX: Error handling for computed values on import (#24897) FIX: Error not returned on sales with takepos and batch module enabled FIX: error of webhook not returned FIX: firstname and lastname were not saved in attendee subscription FIX: HTML in ODT templates (#26181) FIX: Link to list of movement from the inventory code FIX: Mass import of stock from a file must accept empty source FIX: Max version of PHP (#26327) FIX: missing load group members for ldap synchro (#26167) FIX: missing project entity filter (Issue #26243) (#26247) FIX: modification of complementary attributes in invoices (#26180) FIX: On object validation, ecm index are not updated for uploaded files FIX: Propal's negative quantities FIX: public subscription page should not display acceptation for public register when it is not enabled (#26354) FIX: regression on rounding stocks fields on product list FIX: removed a non expected hidden input field in stockatdate page FIX: src_object_id and ttype not filed when uploading a file with API. FIX: suggested end for membership can be before subscription start (#26351) FIX: Supplier card - VAT Reserve Charge - Undefined function isInEEC() (#26379) FIX: syntax error FIX: template invoice list extrafield filters (backport v17) (#26227) FIX: Tooltip for search syntax must not appear on date fields FIX: upload of files src_object_type FIX: use event.key instead event.which to avoid keyboard difference FIX: Use of line->insert instead of line->create FIX: user creation when LDAP is configured (#26332) FIX: Wrong backtopage given for the stocktransfer button from the stocktransfer list (#26271) ***** ChangeLog for 18.0.2 compared to 18.0.1 ***** FIX: 17.0 PHP8: supplier invoice class FIX: #24908 #25824 FIX: #25780 Various payment - List - Fatal error on PHP8.x FIX: #25884 FIX: #25919 FIX: #25934 #25929 FIX: Accountancy - Update Quadra export format FIX: add field "entity" only in $tabfieldinsert FIX: add warning in the changelog FIX: Avoid duplicate popup when popup setup to work as ajax FIX: avoid excess line breaks FIX: removed some php8 warning FIX: avoid wrong backtopage url FIX: bad check return for sendfile FIX: Bad choice of filter on product/service FIX: bad from and to FIX: Bad length for value FIX: Bad value of accounting account shown in list. Edit fails. FIX: batch to update non valid backlink check FIX: better sql request for all cases FIX: Can't access to rec supplier invoice card FIX: Can't delete a fourn commande row if a commande ligne is linked FIX: could not delete a fourn commande row if a commande ligne is linked FIX: create intervention from time spend FIX: customer code search filter on invoice list FIX: #CVE-2023-4197 FIX: date comparison for user expiration on user list FIX: Debug the dispatch page to work on corrupted data FIX: delete useless condition in massaction_pre FIX: Edition of line on the list of timespent for all projects FIX: Edition of shipment detail with lot not updating correctly tables FIX: emailcollector to search existing thirdparty when extract not found FIX: Error message FIX: Expense report is created on the wrong entity FIX: export FEC FIX: Filter on partnership status FIX: fix the wrong position of the hook 'printFieldListTitle' and 'printFieldListValue' in the stock at date page FIX: If PHPIMAP is active, emailcollector "recordjoinpiece" operation will not work FIX: include FIX: Kanban view FIX: link to create purchase order from sale order FIX: Look and feel search v18 FIX: message order in ticket public view is not coherent with tickets events tab FIX: missing contact_id for the trigger FIX: missing entity filter to customize ticket dictionaries by entity FIX: Missing error message on CommandeFourn creation FIX: missing fk_account situation invoice FIX: missing group "members" + multiple broken features for Multicompany FIX: missing 'overwrite_trans' for $addzero (Multicompany) FIX: modification of complementary attributes in commercial proposals FIX: multicompany compatibility FIX: multiple broken features for Multicompany !!!! FIX: Navigation to/from a project from page of projects of a thirdparty FIX: payment : language is not propagated to following pages FIX: Prices visible on TakePOS KO with multiprices support FIX: product list accounting length FIX: Quick search Intervention redirect to wrong page FIX: Return right content type FIX: right access on salary card and tabs FIX: rights paymentsc paiementcharge FIX: same broken feature as v18 (Multicompany) FIX: Save user modif id when changing a contact status FIX: Social Contrib - List - Fatal error on kanban view PHP8.x & Missing colspan FIX: thirdparty object in proposal card is not loaded FIX: Total of holidays is doubled FIX: translation button FIX: trigger for email sent from partnership FIX: uniformize getEntity sql request FIX: use urlencode for origin and originid FIX: Various payment - List - Fatal error on php8.1 FIX: warning when Workboard Responses display non numeric strings FIX: wrong place of trigger delete FIX: wrong test + is_int is better for negative integer ***** ChangeLog for 18.0.1 compared to 18.0.0 ***** FIX: Adding a product in recurring invoice does not use the correct VAT FIX: API /product/getAttributes FIX: avoid php8 warnings FIX: bad balance of TR tag in multicurrency price view FIX: Bad calculation of localtax when price_base_type not defined. FIX: Bad link into message FIX: Bad message on menu to go to setup of accounting custom groups FIX: Bank receipt was empty FIX: Billing massaction should be possible on Processed Reception. FIX: clone when cloning object with ->lines containing not object FIX: Condition to show column POSModule and POSTerminal in invoice list FIX: CSS FIX: date survey : button to add dates would not work. Session would store cells numbers which would stay to 10 for next surveys created. FIX: dir output path for ODT models on reception card FIX: Duplicate tooltip on ref of an agenda event FIX: encrypt sensitive data must not be done for const MAIN_AGENDA_ACTIONAUTO FIX: Export when old file export_csv.modules.php is still present FIX: fatal error with bad definition of dictionaries FIX: fatal error with some parameters FIX: hook formBuilddocOptions was broken when used by 2 modules FIX: Line for revenuestamp in accountancy transfer must appear only if it exists FIX: Navigation between bank receipts FIX: payment card: misleading message when delete button disabled FIX: reception odt dir output path FIX: SQL request parenthesis FIX: Suppliers addlines never have VAT if buyprice for this supplier not set FIX: TakePOS receipt preview in admin #25648 FIX: technical error on conciliation of lines FIX: the account in chart of account to use for revenue stamp is on dict FIX: url to check keyword not saved on partnership from public form FIX: when adding new times on a survey, all hours would be erased. ***** ChangeLog for 18.0.0 compared to 17.0 ***** For users: ---------- NEW: PHP 8.2 compatibility (not yet complete). NEW: Module Workstations Management upgraded to stable status. NEW: Module Webhook upgraded to stable status NEW: #23436 Group social networks fields NEW: Accountancy - Add specific page to export accounting data rather than the journals page NEW: Accountancy - Add sub-account balance FPC22 NEW: Accountancy - Manage customer retained warranty FPC21+ NEW: Accountancy - Manage intra-community VAT on supplier invoices - FPC22 NEW: Accountancy - iSuiteExpert export model NEW: Accountancy - Quadratus export with attachments in accountancy export NEW: Accountancy - Can filter on a custom group of accounts. Perf or ledger list. NEW: Accountancy - Can select the export format during export of journals NEW: Accountancy - sort of column of custom group of account NEW: Can upload a file with drag and drop on purchase invoice, vats, salaries and social contributions NEW: Authentication: #22740 add OpenID Connect impl NEW: Authentication: add experimental support for Google OAuth2 connection NEW: Authentication: can now edit service name for OAuth token NEW: add bookmarks in selectable landing pages for users NEW: Add column ext_payment_site into societe_rib to allow multiple payment mode NEW: add conversion of images to webp for a single image in website media editor NEW: Add CRC for currency symbol before amount NEW: Add filter on nb of generation done in list of recurring invoices NEW: Add filters and sort on product unit column NEW: Add link to edit VAT list from error message of missing VAT NEW: add margins in paiement/card.php NEW: Add mass action delete on VAT NEW: Add possibility to choose format #21426 NEW: An external module can modify the quick search fields NEW: Bank: Bank name no more mandatory on creation. Can be generated if empty. NEW: Bank: Add fields zip, town, country for owner of a bank account NEW: batch referential objects NEW: Can add the add now link on date into addfieldvalue() NEW: Can add an array of several links in date selector NEW: Can bin accounting line for a given month NEW: Can edit inline the VAT number from supplier tab NEW: Can go back to draft on shipment when stock change not on validate NEW: Can modify bank account of sepa payment (if file not sent yet) NEW: Can set a checkbox in formconfirm by clicking on the label NEW: Can set the page "List of opportunities" as landing page NEW: Can show the SQL request used on emailing selection NEW: can stay on edit field when errors occurs NEW: comment in api_mymodule for separate methods NEW: create email substitution variable for intervention signature URL NEW: Contacts: presend mass action in contact list NEW: Contacts: hook printFieldListFrom in contact list NEW: Customers: add date due and labels into customer comm card NEW: Debug the custom CSS feature to avoid a directory search/scan at NEW: dev name NEW: Disable bad reputation product price NEW: Email: autofill email form with the email template with status "Default" on NEW: Email: don't have closed contact proposed as receiver for the mails NEW: Email: can set flag default value on email templates NEW: Email-Collector: add field reply-to in email collector as possible filter NEW: Email-Collector: substitute date now in email collector NEW: Email-Collector: operation type in email collector to load or create contact NEW: Email-Collector: easier setup - can also use ! for negative search NEW: Email-Templates: show module into list of email templates NEW: Events: can add any contact on events if global MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT is set at 1 NEW: Events: list with color NEW: Events: remove default percentage for event creation url NEW: formconfirm can support field with format datetime NEW: GeoIP: Can test a geoip conversion from the geoip setup page NEW: GUI: add a CSS editor into the admin GUI NEW: GUI: add dropdown button actions (example on Create button on project) NEW: GUI: color for start date and owner NEW: GUI: new tab for reception and shipment NEW: GUI: better design for the page of discounts of a thirdparty NEW: GUI: can set background style with MAIN_LOGIN_BACKGROUND_STYLE NEW: Help: Tooltip to explain how to add a photo on a product NEW: Help: Possibility to link to German pages in help NEW: helper functions for dates + small demo case NEW: HR - Salary: can fill date of salary payment with date of start of salary NEW: HR - Salary: can modify the date of payment of a salary (if not reconciled) NEW: HR - Salary: date for salary payment includes the hour/min NEW: HR - Salary: adding button Send Email on the salary file NEW: Import: filter on entity in import NEW: Import: map table to element for get entity in import NEW: inc.php: handle parameters from argv NEW: Installation: Auto activate some modules on install (Export/Import/Wysiwyg editor) NEW: Invoice: show category of operations NEW: Invoice: add customer code to invoices listing NEW: Keep a link between user created from recruitment and application NEW: Mass Actions: Better responsive for mass actions NEW: Members: add numbering modules for members NEW: Members: add widget box_members_by_tags.php NEW: Members: Captcha for public member's subscription form NEW: migration script + delete old table + rename fields and indexes NEW: MRP MO: Dynamic choice of warehouse and batch in MO production. NEW: Multicurrency REST API to create, update, delete, update rate... NEW: Multiselect for filter on prospection status NEW: [Bulk delete Project tasks] NEW: No overwrite of optionals during put() contact NEW: Notifications: add Customer Order delivered (ORDER_NEW) in module Notification NEW: Notifications: for Sign or Refused Propal from Online Page NEW: Now we can edit amount on VAT and salaries clone action NEW: only get open contact from liste_contact function, to not have access to closed contact as mail receiver NEW: Option: MAIN_SECURITY_MAXFILESIZE_DOWNLOADED #yogosha10660 NEW: Option to manage deposit slips for more payment modes (not only NEW: Option to show column for field and line selection on the left NEW: Orders: add sub total in order list det NEW: Orders: list product in orders NEW: Orders export: allow to export field 'shipment method' NEW: payment default values when supplier order created from reception NEW: Payment: manage contracts NEW: Payment: sepaStripe now creates the payment mode with type pm_ using new API NEW: Payment: add partial payment reason "withholding tax" NEW: Payment: Can edit account on miscellaneous payment (if not transferred) NEW: Print PDF: category of operation for crabe PDF model NEW: Print PDF: Name and date to print on PDF Sign NEW: Print PDF: Use the more recent PDF templates for documents by default on a fresh install NEW: Print PDF: Option PDF_SHOW_PHONE_AFTER_USER_CONTACT to show phone after specific assigned contact on PDF NEW: Print PDF: Option PDF_SHOW_EMAIL_AFTER_USER_CONTACT to show email after specific assigned contact on PDF NEW: product images on popup are cached NEW: Products: Add origin info when create a product batch when created from a movement stock NEW: Products: Add statistics by amount on statistics of products. NEW: Products: Add SQL constraint on product_stock table to allow only existing product and warehouse #23543 NEW: Proposals: filter for Signed+Billed in proposals NEW: Proposals: can modify margin rates in offers like VAT rates NEW: Proposals: option filter for NoSalesRepresentativeAffected in proposals list NEW: Proposals: constant PROPALE_ADDON_NOTE_PUBLIC_DEFAULT NEW: Reception: can receive more than qty ordered on reception NEW: referential objects of batch NEW: remove keys whose table element is the same as element in map list NEW: repair script skip views NEW: search on time spent duration range NEW: Security: Save date to invalidate other session into user table NEW: Security: Invalidate all sessions of a user when password is modified. NEW: Service Contracts: Filter on amount and qty on list of service's contracts NEW: set today start time at beginning NEW: Show main currency in company info user tooltip NEW: Show supplier invoice ref of direct debit transfer tab invoices NEW: Social Networks: expend/collapse list of social networks NEW: Stock limit for alert and desired optimal stock by product and warehouse import NEW: Stock: Add warehouse create and modify triggers. NEW: Stock: Can select several warehouses into the view stock at date in past NEW: Stripe: add STRIPE_DEBUG, a way to log Stripe IPN NEW: Supplier Invoices: add ability of ODT support to supplier invoices NEW: Supplier Order: show supplier name in getNomUrl of supplier order NEW: Supplier Order: set payment default values when supplier order created from reception NEW: Supplier Price: Add a status on supplier price ref (WIP to close a supplier ref) NEW: Support different bank account for several direct debit payments NEW: Support multiselect in the warehouse selection combo box NEW: Survey: Comment on survey is possible only after vote. NEW: TakePOS: adapt category and product pictures sizes on TakePOS NEW: TakePOS: limit load products in TakePOS NEW: The batch for remind on due date can be setup for using validation date NEW: The refresh link for IMAP collector is always visible NEW: Third-Party: use an ajax component to switch prospection status on thirdparty list NEW: Tickets: Send a notification email when ticket assigned NEW: Tickets: set ticket status to answered if the client has answered from the public interface NEW: Tickets: added an option to display the progress of tickets on the public interface NEW: Tickets: add link to thirdparty tickets history NEW: Tickets: notify also the contributor affected to a ticket if a new message public is post (add global TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ALSO_CONTRIBUTOR) NEW: Upgrades: The upgrade process can be done by creating a file upgrade.unlock NEW: Use a cache file for external RSS in calendar NEW: Use by default the domain $dolibarr_main_url_root for SMTP HELO NEW: Users: add a public virtual card page for each user NEW: VAT can be modified during add of line NEW: Website Module: Increment website counter on each page access in website module NEW: Website Module: Show counter of access of website in website list NEW: Widgets: Show picto into the combobox of widgets NEW: Widgets: Implement MAIN_ACTIVATE_FILECACHE on birthday widget NEW: Widgets: Add widget "The next upcoming events" NEW: Widgets: Add widget of open opportunities For developers or integrators: ------------------------------ NEW: Make it possible to select hours and minutes in form_confirm NEW: add triggers on mailing NEW: Add a trigger when create a shipping line batch and fix propagate missing errors NEW: add function for listing objects from directory NEW: add helplist property to describe fields of objects NEW: API: Support contact in post() document API NEW: API: more APIs (update currency rate, upload of supplier documents, ...) NEW: Hooks: printFieldListFrom in contact list NEW: Hooks: add hook in loadLotStock() in html.formproduct.class.php file NEW: Hooks: add hook 'llxFooter' NEW: Hooks: add hook online sign NEW: Hooks: add sent info in the parameters provided to the hook sendMailAfter NEW: Libraries: Update libs parsedownto 1.7.4, phpspreadsheet lib to v1.12, ESCPOS v3.0, jquery, Stripe. NEW: ModuleBuilder: updating in modulbuilder on tab Menu when adding object NEW: ModuleBuilder: add/edit permissions NEW: ModuleBuilder: better generated documentation NEW: add setAsSelectUser into factory for generic setup page NEW: add option keepspace into dol_string_nospecialchar() NEW: dol_sort_array can sort on alphabetical order even if val is num NEW: dolExplodeIntoArray can accept regex NEW: element time integration code + SQL NEW: tables: llx_element_time to store time spent on several elements (mo, ticket...) NEW: Provide the oldcopy value when calling setValueFrom() function with a trigger key NEW: getCommonSubstitutionArray to have more substitute keys NEW: write all fields and their properties in asciidoc format WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Minimal PHP version is now PHP 7.1 instead of PHP 7.0 * Sensitive data like keys in setup pages, that need encryption (for example the API keys of users, the CRON security key, the keys into the Stripe module, or external modules setup pages that store sensitive keys or password), are using the $dolibarr_main_instance_unique_id as part of the key for encryption. So, if you restore or duplicate the data from another instance dump, you must also update this parameter in the conf.php file to allow decryption in the new instance, or better, you must reenter the sensitive data into the setup pages of the new instance to resave them correctly. Note that to find all the parameters that are encrypted into the setup database, you can do a "SELECT * FROM llx_const WHERE value LIKE '%dolcrypt%';" * The deprecated method "escapeunderscore()" of database handlers has been removed. You must use "escapeforlike()" instead. * The method "nb_expedition()" has been renamed into "countNbOfShipments()" * Revert default type of hooks. Default is now 'addreplace' hooks (and exception become 'output' hooks, that become deprecated). * Deprecated property libelle removed from entrepot class. * The type 'text' in ->fields property does not accept html content anymore. Use the type 'html' for that. * The module for WebService SOAP API have been deprecated. Use instead the Webservice REST API module. * The method htmlPrintOnlinePaymentFooter() used for public footer pages has been renamed into htmlPrintOnlineFooter() and moved into company.lib.php * The method getCheckOption() and deleteCPUser() of class Holiday has been removed (it was not used) ***** ChangeLog for 17.0.4 compared to 17.0.3 ***** FIX: $this->newref already exists and could have been modified by trigger but we still use a local variable for the filesystem-based renaming FIX: 16.0 only, backport fix for SQL error on global search product FIX: 17.0: deprecated field should only be a fallback FIX: 17.0 PHP8: supplier invoice class: FIX: 17.0 - php8 warnings: test for $field existence before checking is_null FIX: #25399 (#26694) FIX: #25458 intervention localizations (backport v17) (#26757) FIX: #25580 install/step1.php - wrong command line argument used for $main_dir (#25581) FIX: #25919 FIX: #25934 #25929 FIX: #26100 - Ticket - On edit, list of closed project must be excluded (#26223) FIX: #26195 - Various payment - List of project excluded those assigned to third parties (#26222) FIX: #26735 FIX: #26994 FIX: #27262 Recurrent invoice - user to string conversion FIX: Accountancy - Possibility to write in bookkeeping expense report operation with some line not bound (#26545) FIX: Accountancy - Update Quadra export format FIX: add action update_extras to don card FIX: add_customer_ref_on_linked_shipment (#26349) FIX: add display of an error when attempting to delete a committed transaction (#26573) FIX: Adding the $encode parameter to recursive _replaceHtmlWithOdtTag() utilisation FIX: add warning in the changelog FIX: avoid php8 warnings (#25596) FIX: avoid warning : Cannot use a scalar value as an array (#26437) FIX: Backport memory fix for fatal error when +100000 products FIX: backport SQL error on global search product FIX: bad accountancy code autoselection for supplier ventilation FIX: Bad calculation of localtax when price_base_type not defined. FIX: bad check return for sendfile FIX: bad from and to FIX: Bad value of accounting account shown in list. Edit fails. FIX: Barcode header cell not well displayed FIX: Bar code verification should be done by entity because generation does (#28087) FIX: # Bug Estimated Stock at date value in V14 (#26479) FIX: Can't access to rec supplier invoice card FIX: Can't delete a fourn commande row if a commande ligne is linked FIX: check tva_tx before comparing price_min_ttc (#25220) FIX: commande context (#26497) FIX: compare the result of the send mail file function FIX: could not delete a fourn commande row if a commande ligne is linked FIX: count cronjob list differs of lines shown nb FIX: crabe PDF is generating in conf->entity instead of object->entity FIX: creation of invoice from contract with discount lines FIX: CVE-2024-23817 (#28089) FIX: dir output path for ODT models on reception card FIX: disable pointer events on jQuery-UI tooltips to prevent a glitch (fast-blinking tooltip) FIX: Error handling for computed values on import (#24897) FIX: escape HTML tags in return value of getFullName() (#26735) FIX: export FEC FIX: Fatal error converting object of class User to string (php8) FIX: fatal error with bad definition of dictionaries FIX: filter by entity on contact is missing FIX: Fix supplier invoice security check FIX: HTML in ODT templates (#26181) FIX: include FIX: label FIX: line special_code never saved (#28051) FIX: link to create purchase order from sale order FIX: menu auguria FIX: message order in ticket public view is not coherent with tickets events tab FIX: Missing begin transaction when updating supplier recurring invoice FIX: missing contact_id for the trigger FIX: Missing error message on CommandeFourn creation FIX: missing fk_account situation invoice FIX: missing project entity filter (Issue #26243) (#26247) FIX: modification of complementary attributes in commercial proposals FIX: modification of complementary attributes in invoices (#26180) FIX: more correctly parse the select part to be replaced in sql queries FIX: not create/update extrafields for visibility 0,2 and 5 FIX: notification information on intervention validated confirmation message (v17+) FIX: payment card: misleading message when delete button disabled FIX: payment : language is not propagated to following pages FIX: pdf cornas page head multicell width (backport v17) FIX: possible inconsistency between llx_ecm_files and file system when BILL_SUPPLIER_VALIDATES changes ref FIX: Prices visible on TakePOS KO with multiprices support FIX: product list accounting length FIX: propal list : warning if product module is not enabled (#25583) FIX: Propal's negative quantities FIX: Quick search Intervention redirect to wrong page FIX: reception odt dir output path FIX: regression on rounding stocks fields on product list FIX_reload_linked_objects_on_propal_closeas FIX: Return right content type FIX: right access on salary card and tabs FIX: rights paymentsc paiementcharge FIX: same broken feature as v18 (Multicompany) FIX: Save user modif id when changing a contact status FIX: search by ref & rowid in don list FIX: search by thirdparty in don list FIX: special_code update line keep old value. (#26819) FIX: SQL concatenation error FIX: SQL request parenthesis FIX: substitute project variables in invoice documents (#26445) FIX: Suppliers addlines never have VAT if buyprice for this supplier FIX: [TAKEPOS] display prices with or without taxes depending on setup (TAKEPOS_CHANGE_PRICE_HT) FIX: TakePOS receipt preview in admin #25648 FIX: template invoice list extrafield filters (backport v17) (#26227) FIX: thirdparty object in proposal card is not loaded FIX: too long output FIX: translation button FIX: use event.key instead event.which to avoid keyboard difference FIX: Use of line->insert instead of line->create FIX: user creation when LDAP is configured (#26332) FIX: Use the wrong logo size on PDF FIX: v17: Param $notrigger in $societe->create() causes method to return true regardless of actual result of database functions (#26499) FIX: warning param $lineID getSpecialCode is negatif (#26826) FIX: warning php8.2 undefined_array_key (#26830) FIX: warning when Workboard Responses display non numeric strings FIX: Wrong backtopage given for the stocktransfer button from the stocktransfer list (#26271) FIX: wrong place of trigger delete ***** ChangeLog for 17.0.3 compared to 17.0.2 ***** FIX: #20304 propaldates update FIX: #24508 Label not reported when creating a supplier invoice template (#25340) FIX: #24569 filters on stockadate page FIX: #24631 Filter on categories of warehouses faulty FIX: #24695 FIX: #24756 Total sum on annual report bank FIX: #24918 FIX: #24985 Societe - Function thirdparty merging not working with module whose tables are not deployed by default FIX: #24991 FIX: #24997 Update slovakia vat rate FIX: #25223 FIX: ability to disable forcing focus on select2 to avoid side effects FIX: Add hidden conf to add extrafields in canelle template : INVOICE_ADD_EXTRAFIELD_IN_NOTE FIX: Add/Update required modules for thirdparties (by categ) & partnership FIX: ajax on off setup type FIX: avoid php8 warning FIX: Bad management of localtax on TakePOS due to typo error in var name FIX: can define empty qty by default when create object line FIX: can not remove the last selected value with checkbox FIX: case special char for password in email admin page FIX: Change $key into $tmpkey FIX: CommonObject::getRights() FIX: commonobject: getRights() did not find rights correctly for objects built using modulebuilder FIX: CVE reported by BELABED Skander (Akerva) FIX: CVE XSS on company name reported by Belabed Skander from Akerva FIX: decimal values were not possible on shipment quantities (introduced by #24882) FIX: default value for condition of payment on proposal FIX: default values were not set for specimen objects FIX: Delete of bank of a thirdparty must need the edit thirdparty perm FIX: display project tasks list columns (#24557) FIX: dol_print_error parameters on ticket fetch method (#25318) FIX: dol_trunc may not have the desired behaviour for truncating a cryptographic initialiszation vector, for instance when MAIN_DISABLE_TRUNC is used FIX: Donation - Missing Language key FIX: error expedition qty 0 FIX: extrafield quick edit not working on products FIX: fatal error on Stripe setup page and security when terminal not used FIX: Fatal Error PHP 8 : division by 0 (#25384) FIX|Fix Change strpos for expedition and receipt in files.lib.php $haystack and $needle inversion FIX: Fix main and left menu info for the root menu of the list of accountancy journal FIX: Homogenise handling of null extrafield value in create/update FIX: Langs was not loaded for extrafields error FIX: Missing localtaxes on receipt in TakePOS FIX: no change on thirdparties.modules.php required modules FIX: OAUth2 module for Google with scopes for people and calendar FIX: php8.1 warning on lists with total due to unset array key (#25460) FIX: quickedit code missing on product card FIX: Selection of customer on second or more parallel sell in TakePOS FIX: Showing bank account on list for direct debit FIX: SQL migration file FIX: String was compared to an integer FIX: to avoid wrong path of file (#25320) FIX: Total sum on annual report bank FIX: translation extrafield mass action #24080 FIX: Try to fix the date of invoice on TakePOS on eastern timezone FIX: TVA calc option must be the same on update line as on create line FIX: Update mouvementstock.class.php (#25396) FIX: update product on translation update FIX: use dol_substr instead of dol_trunc for truncating openssl initialization vector FIX: We should always be able to filter on action type no matter if we can't read actions of others (#24462) FIX: wrong var name ***** ChangeLog for 17.0.2 compared to 17.0.1 ***** FIX: Change strpos for expedition and receipt in files.lib $haystack and $needle inversion FIX: Add hidden conf to add extrafields in canelle template : INVOICE_ADD_EXTRAFIELD_IN_NOTE FIX: #24414 FIX: #24798 Deleting member subscription is not possible FIX: add a test for updating date on task update in tab time consumed pro… FIX: add charchesociales in security.lib.php FIX: Add Missing rights check on holiday calendar FIX: Add the possibility to events owner to check their events from the list when the perm "Read the actions (events or tasks) of others" is not active FIX: Authorize '0' subprice in supplier proposal line FIX: avoid error when computed property of extrafields is used FIX: avoid warnings php8 FIX: Back to cancel on reception creation FIX: Bad deletion of email when there is several emails processed FIX: bank account not visible on credit transfer FIX: Better support for option MAIN_NO_INPUT_PRICE_WITH_TAX FIX: broken feature : send private message by email FIX: categorie compatibility with actioncomm FIX: Click on "NEW" in simple POS was broken FIX: Compress in xz for better debian old version compatibility FIX: Correct Evaluation for extrafields FIX: Count only attendee draft of validated. FIX: Creation of thumbs when images.lib.php was already included FIX: delete of warehouse FIX: deletion of a line of time spent (backport e3aa438d2a582313dfd5178b8cc5975e0c912c25) FIX: Deployment of external module failed with copy dir error. FIX: edit field value of url FIX: error management on emoji and utf8 validity by emailcollector FIX: expense report autofill ttc input if force ttc conf is enabled FIX: filter missing id on consumption contact card FIX: Filter on member status FIX: Filter status orders in list no invoiced if validated + in progress + delivered FIX: Fiscal year list ref display FIX: for empty shipping FIX: INVOICE_SHOW_SHIPPING_ADDRESS FIX: jump to direct record on member search was broken FIX: label of columns must be short into invoice PDF table FIX: making search in takepos broken when TAKEPOS_PRODUCT_IN_STOCK is set FIX: Margin calculation for credit notes on margin reports FIX: message MAIN_MESSAGE_INSTALL_MODULES_DISABLED_CONTACT_US FIX: missing checking if file is uploaded FIX: missing constant and avoid submit button conflict FIX: missing entity field in unique index (since v16) FIX: Missing error message display on insertExtrafields() FIX: missing mrp module dependency FIX: More complete fix for #24411 FIX: No error message because $price_ht_devise is equal to '0' if not filled because of price2num FIX: No usage of the function updateProduction in the update function FIX: On company change, we must reuse the company parameters FIX: Operator to search category Knowledge FIX: Pb in install when password start with some special char like ! FIX: pb in sending email when mail contains data src image. FIX: PDF Font for turkish language FIX: product notes rights FIX: Propagate correct origin/origin_id when creating order from proposal FIX: Propagate extrafields from supplier order to reception FIX: reassortlot search categorie + add inithooks FIX: Reception process loose some lines on first error. FIX: redesign of the function : updateProduction FIX: ref_client on Project Overview for propale FIX: reference id in getnomurl function. FIX: regression Undefined $datepaid FIX: remove NOTOKENRENOWAL (backport commit v17 7c316229db8060781ee50f4465b1133b5aeef156) FIX: Remove warning on lettering - Impossible to write in ledger v16 v17 v18 FIX: Report of date of task suggested only if there is tasks FIX: Rounding on total margin on invoice list FIX: Search List Select Extrafields with condition FIX: Search when criteria start with ! FIX: Sending email from attendee list FIX: Shipping address same third party FIX: special chars in generated file name from build doc mass action FIX: supplier invoice status on bank transfer line FIX: supplier link on bank transfer line FIX: Task events not displayed FIX: token errors on public interface FIX: Transfer between accounts with different currencies was broken FIX: Update hour of intervention line FIX: Upload of files on public ticket interface FIX: Use max parameters of widget graph product distribution FIX: Warehouse total line FIX: When salary module is not enabled, bad permission check on user list FIX: wrong colspan for tasks list ***** ChangeLog for 17.0.1 compared to 17.0.0 ***** FIX: 17.0 PHP Warning invalid argument supplied for foreach FIX: #[23799] - External users are not able to create events - correction FIX: #23966 Error "Param dbt_keyfield is required but not defined FIX: #24138 Fix box_birthdays SQL for postgres FIX: #24201 Upload of external module fails to copy from incorrectly generated temp source dir FIX: #24240 Dolibarr V17.0.0 PHP8 fatal error FIX: accountancy lettering: better error management FIX: accountancy lettering: correctly calculated number of lettering operations done FIX: accountancy lettering: error management and prevention FIX: accountancy lettering: prevent null results when fetching link with payments FIX: action delete card fac rec FIX: Add bookmark with search fields that are arrays (backport 4157263cb898f1847cfcfc22dee6007c01b13a4d) FIX: Add missing hook on LibStatut FIX: Add more context for selectForFormsListWhere Hook FIX: Autofill / clear qty in inventory page FIX: avoid php8 warnings FIX: avoid phpunit error FIX: can not show all csv fields (a reason for that ?) FIX: change date on select date input when prefix is used FIX: dol_textishtml() function FIX: expense report accountancy: sql syntax error when performing automatic linking FIX: Extrafields in Notes to unify with orders or invoices. FIX: fatal error when margin enable (missing check on element), fix User::hasRight() when checking a margin right FIX: feedbacks FIX: FILTER_VALIDATE_EMAIL param is not a string FIX: #24298 No error or 0.00 instead of NULL in database anymore when emptying an extrafield of type price on a propal card FIX: full group by handle FIX: holiday counter massaction: ErrorBadValueForParamNotAString and PHP 8 warning when no approval user right FIX: installation superadmin creation: PHP 8 warning FIX: invoices order on sells journal FIX: it was not possible to update extrafields of expedition lines with batch without editing batch value FIX: limit after order in get objects in category FIX: method dolGetGlobalString not defined with saphir FIX: missing column default workstation FIX: missing drop foreign key before modify field FIX: missing "multidir_output" for project sharing (Multicompany) FIX: missing protection on ajax public ticket page for valid email FIX: ODT management inverted between purchase invoice and order FIX: PDF Espadon => display extrafields FIX: PDF Espadon Expedition : notes and tracking number FIX: Phpunit Rename WebsiteTest.class.php to WebsiteTest.php FIX: project referent elements list: conf to hide tasks was flipped FIX: Protection on agenda view for a thirdparty id that does not exist FIX: search_project_user FIX: societe list: regression to redirection to customer card when single result of search filters FIX: SQL error "unknown column p.fk_soc" because ANSI-92 joins take precedence over ANSI-89 joins FIX: task have the same entity of project FIX: token error when closing ticket from public interface FIX: Warning on purchase order + Property fk_commande not defined ***** ChangeLog for 17.0.0 compared to 16.0.0 ***** For users: --------------- NEW: Minimal PHP version is now PHP 7.0 instead of PHP 5.6 NEW: #21780 Add pid field to Cronjob class and store PID on job execution NEW: #20650 can move the checkbox column on left (experimental option MAIN_CHECKBOX_LEFT_COLUMN) NEW: #21000 Added columns 'alias_name' on project, supplier invoice, supplier order, supplier proposals and task list NEW: #21395 Added option for dark theme mode in display - color and theme NEW: #21397 added option to auto define barcode numbers for third-parties in barcode module setup NEW: #21399 NEW: #21442 Enhancement of module builder init NEW: #21654 add bank account number used on invoices for debit NEW: #22048 Added notes to productlot module NEW: #22298 Bank - Add salaries & vat in the tab of planned entries of a bank account NEW: #22328 NEW: #22424 NEW: #22500 member module set up made easier NEW: #22527 projects and thirdparties can be viewed as conversation ("Message" view), like events/agenda. NEW: #22546 can now set user supervisors using mass action in htdocs/user NEW: #22594 can chose if VAT ID is unique or not for third parties NEW: #22622 all partnerships displayed on tab partnership of a thirdparty and member NEW: #22676 massaction for updating product prices NEW: #22735 Massaction to assign users on projects NEW: #4482 adding js to hide/show advanced option on the export data page NEW: Accountancy - Add a graphic option to enable lettering function - FPC21 NEW: Accountancy - Add a way to clean some words when you generate thirdparty accounting account NEW: Accountancy - Added an option during export to export or not the lettering FPC21 NEW: Accountancy - Manage supplier deposit with specific account NEW: Accountancy - Model Digitaria - Add a way to clean some words when you generate thirdparty accounting account FPC22 NEW: Add a button "Test collect" in email collector NEW: Add a constant to disallow modification of the product reference. NEW: Add a method doAutoRenewContracts that can be used as a cron task. NEW: Add " as enclosure by default for CSV export. Keep removing CR/LF. NEW: add attached file in presend email form of thirdparty card NEW: Add a way to enter LICENSE file content in property of website NEW: Add badge in admin extrafields setup NEW: add constant PROPAL_BYPASS_VALIDATED_STATUS NEW: Add date event (!= date project) and location on event organization NEW: Add employment anniversary in birthday box NEW: Add extrafield type "IP" to store IP addresses NEW: Add fail2ban rules examples to limit access to /public pages NEW: Add filter "Product subject to lot/Serial" in stock per lot/serial NEW: Add hidden option MAIN_EMAIL_SUPPORT_ACK to restore Email ack checkbox (feature abandoned by mailers) NEW: Add IMAP port setting on email collector module NEW: Adding JAPAN Chart-of-Account and regions/departments NEW: Adding NIF verification for Algeria NEW: Add link to create an element from the category page NEW: add margin infos to takepos invoice lines NEW: Add max size send for "backup and link to mail" option NEW: Add method httponly_accessforbidden() NEW: Add more advice into the Setup security page NEW: Add new global variable for keeping the previous signature information on proposal (case of reopening a proposal) NEW: Add objectLink on shipment NEW: Add option --force on CLI cron_run_jobs.php NEW: Add option "Show price on the generated documents for receptions" NEW: Add performance index (name for company and contact) and llx_bank_url(url_id) NEW: Add picto property on sub-module for password generation NEW: add redirect on action confirm addconsumedline and addproduceline NEW: Add a new advanced permission "read price" NEW: Add substitution key __SENDEREMAIL_SIGNATURE__ NEW: Add the referrer-policy to "same-origin" by default on all public pages. NEW: Add the SMTP header References on ticket email created by email NEW: Add the thirdparty column to the time list (projet/tasks/time.php) NEW: Add trigger to record the event of sending an email from a project #20912 NEW: Allow download link option in module configuration (propal,invoice,supplier proposal, order) NEW: Bulk action to remove a category in list/search website pages NEW: Can copy/paste images into emails sent. NEW: Can edit label of an emailing even once sent NEW: Can edit property css, cssview, csslist on extrafields NEW: Can enter the unit price including the vat when adding new product lines on invoices, orders, proposals, ... NEW: Can invoice task time per different services NEW: Can join several files by default on email form NEW: Can send an email on scheduled job error NEW: Can set a commercial discount by entering amount including VAT NEW: Can set a monthly frequency (or multiple) in cron tasks. NEW: Can set start and end dates and comment on button "Activate all services" NEW: Can sort on preselected best supplier price NEW: Can use products categories to make inventory NEW: Change filter type on tickets list into a multiselect combo NEW: conf TIMESPENT_ALWAYS_UPDATE_THM, when it's on we always check current thm of user to update it in task time line NEW: constant PROPAL_NEW_AS_SIGNED NEW: show date delivery planned on orders linked to company and product NEW: Default doc template of contracts is not mandatory NEW: Default values in extrafields are no more limited to 255 char. NEW: display currency in takepos menu NEW: Enable online signature for interventions NEW: extrafield price with currency NEW: filter on reception dates (from / to) in cheque paiement card NEW: Members: default_lang for members NEW: Members: Table of membership types NEW: Members: add free membership amounts at the membership type level NEW: TakePOS: Header Scroll in TakePOS NEW: TakePOS: add price to product box in TakePOS NEW: TakePOS: add setup parameters, can setup terminal name NEW: TakePOS: support of Stripe Terminal with TakePOS NEW: TakePOS: Receipt preview in TakePOS setup NEW: TakePOS: different product list on smartphone NEW: Website: can delete a whole website if disabled NEW: Website: can remove a website template NEW: Website: can set header "Strict-Transport-Security" in web sites. NEW: Website: can switch status of website and page from the website toolbar NEW: Website: Templates of websites are now directories and not zip into core repo NEW: Website: add 4 other templates in website module NEW: Website: Add counters for public access of pages on a website NEW: If we select another view list mode, we keep it NEW: Init module bookcal NEW: Encrypt all sensitive constants in llx_const using dolEncrypt/dolDecrypt NEW: Invoice - Add french mention on pdf when vat debit option is on NEW: invoice export : add accounting affectation NEW: label on products categories filter NEW: The link "add to bookmark" is always on top in the bookmark popup NEW: MAIN_SEARCH_CATEGORY_PRODUCT_ON_LISTS const to show category customer filter NEW: Make module WebservicesClient deprecated. Use module WebHook instead. NEW: manage no email with thirdparties (better for GDPR) NEW: Manage Position (Rank) on Contract Lines NEW: Manage VAT on all lines on purchases cycle NEW: Page to show virtual stock at a future date NEW: On a bank reconciled line, we can modify the bank receipt NEW: On a form to send an email, we show all emails of all contacts of object NEW: Option PRODUCTBATCH_SHOW_WAREHOUSE_ON_SHIPMENT showing wh on PDF NEW: Option PRODUIT_DESC_IN_FORM accept (desktop only or +smartphone) NEW: Page for mass stock transfer can be used with no source stock NEW: parent company column and filter in invoice and order list NEW: Add "Show Sales rep" option for PDF NEW: Picto for shared link is clickable NEW: possibility to select scopes with checkbox for Oauth tokens NEW: private and public note on user, thirdparty and contact list NEW: product categories filter on inventory list NEW: Product supplier price: autofill default supplier VAT NEW: Project - author field become an available column on lists NEW: Reception - Add a from/to on search on date field NEW: Start a simple support of recurrent events on agenda NEW: Resize parent company column in order list NEW: Saved token of OAUTH module are now encrypted into llx_oauth_token NEW: Save one click to select on delivery ack, on emails. NEW: scheduled job to send unpaid invoice reminder can now use the cc and bcc from email template NEW: set thirdparty type with company modify trigger NEW: Show also scheduled task never finished in scheduled task widget NEW: show badge with number of extrafields in setup NEW: show category tree in sellist and chkbxlst for common object NEW: Show picto and color into combo for selection of tags NEW: show product label on inventory NEW: show sell-by and eat-by dates only if not empty NEW: show SellBy/EatBy dates for each batch product in shipment card NEW: Can skip accept/refuse steps for proposals (option PROPAL_SKIP_ACCEPT_REFUSE) NEW: experimental SMTP using PhpImap allowing OAuth2 authentication (need to add option MAIN_IMAP_USE_PHPIMAP) NEW: can substitute project title in mail template NEW: Supplier order list - Add column private and public note NEW: The purge of files can purge only if older than a number of seconds NEW: Update ActionComm type_code on email message ticket NEW: VAT - Admin - Add information on deadline day for submission of VAT declaration NEW: expand/collapse permissions on user permission page NEW: Show delivery mode on PDF for proposals NEW: Add the target to select attendees of event for emailings NEW: Can set background style with MAIN_LOGIN_BACKGROUND_STYLE Modules NEW: Experimental module Asset For developers or integrators: ------------------------------ NEW: ModuleBuilder can generate code for a class from an existing SQL table NEW: #22370 Modulebuilder supports 'alwayseditable' (like extrafields) NEW: #20912 Add trigger to record the event of sending an email from a project NEW: #21750 Added "Get lines and Post lines from BOM" at the REST Service NEW: Removed completely the need for the library adodbtime NEW: hook on agenda pages NEW: hook to complete payment in TakePOS NEW: hook "changeHelpURL" to modify target of the help button NEW: hook formConfirm on action comm card NEW: hook to modify supplier product html select NEW: Add new hook for show virtual stock details on product stock card NEW: Add new hooks for actioncomm NEW: conf->global->SYSLOG_FILE_ONEPERSESSION accept a string NEW: translation for contact type API, setup/ticket API, shipping method API NEW: All ajax pages have now a header build with top_httphead() NEW: support multilang in Civilities API NEW: Add API for the partnership module NEW: Add "Get lines and Post lines from BOM" in the API NEW: Replace property fk_categories_product with categories_product in inventory class NEW: Rewrite of SQL request. Removed the join on category table (for filter on category), replaced with a EXISTS/NOT NEW: Add oldcopy to Ticket so triggers intercepting TICKET_MODIFY have access to old values of the updated properties NEW: #19680 Add option PRODUCT_ALLOW_EXTERNAL_DOWNLOAD to automatically have uploaded files shared publicly by a link NEW: Add option FICHINTER_ALLOW_EXTERNAL_DOWNLOAD WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Minimal PHP version is now PHP 7.0 instead of PHP 5.6 * Core has introduced a Universal Filter Syntax for search criteria. Example: ((((field1:=:value1) OR (field2:in:1,2,3)) AND ...). In rare case, some filters could be provided by URL parameters. For such cases (societe/ajax/company.php), use of Universal Filter Syntax become mandatory. * The signature of method getNomUrl() of class ProductFournisseur has been modified to match the signature of method Product->getNomUrl() * Trigger ORDER_SUPPLIER_DISPATCH is removed, use ORDER_SUPPLIER_RECEIVE and/or LINEORDER_SUPPLIER_DISPATCH instead. * All functions fetch_all() have been set to deprecated for naming consistency, use fetchAll() instead. * Code standardization: '$user->rights->propale' is now '$user->rights->propal' everywhere. * Deprecated method set_billed() on shipment and reception class has been removed. Use setBilled() instead. * Tables llx_prelevement_facture and llx_prelevement_facture_demande have been renamed into llx_prelevement and llx_prelevement_demande. * Renamed MAIN_LIST_ALLOW_NOTES into MAIN_LIST_HIDE_NOTES and renamed MAIN_LIST_ALLOW_PRIVATE_NOTES into MAIN_LIST_HIDE_PRIVATE_NOTES * Renamed the substitution for "project label" instead of "project title" in substitution variables * You must use "$objectoffield" to manipulate the current object inside the form of computed custom extrafields instead of $obj/$object. * Making a global search is sending the parameter using always the name search_all (instead of sometimes sall and search_all) * The property $url_last_version must be public if defined into module descriptor files; ***** ChangeLog for 16.0.5 compared to 16.0.4 ***** FIX: 16.0 propalestats Unknown column 'p.fk_soc' in 'on clause' FIX: #23804 FIX: #23860 FIX: #23966 Error "Param dbt_keyfield is required but not defined" FIX: accountancy lettering: better error management FIX: accountancy lettering: correctly calculated number of lettering operations done FIX: accountancy lettering: error management and prevention FIX: accountancy lettering: prevent null results when fetching link with payments FIX: Add missing hook on LibStatut FIX: Add more context for selectForFormsListWhere Hook FIX: attach file and send by mail in ticket FIX: bad check on if in get_all_ways FIX: Cannot import find type_fees with cgenericdic.class because it has id and not rowid FIX: clicktodial backtopage FIX: discount wasn't taken into account when adding a line in BOM FIX: expense reports: error when selecting mileage fees expense type if MAIN_USE_EXPENSE_IK disabled FIX: expense reports: JS error when selecting mileage fees expense type if MAIN_USE_EXPENSE_IK disabled FIX: Extrafields in Notes to unify with orders or invoices. FIX: fatal error on clicktodial backtopage FIX: filter sql accounting account FIX: Get data back on product update FIX: Get data back when error on command create FIX: label dictionary is used by barcode and member module FIX: mandatory date for service didn't work for invoice FIX: missing "authorid" for getNomUrl link right access FIX: missing getEntity filter FIX: vulnerability: missing protection on ajax public ticket page for valid email. FIX: Missing right to edit service note when module product is disabled FIX: multicompany compatibility FIX: object $user is not defined FIX: Object of class LDAP\Connection could not be converted to string FIX: parse error and NAN FIX: product ref fourn same size in supplier order/invoice as in product price fourn FIX: Profit calculation on project preview tab. FIX: Remove orphelan $this->db->rollback() in the function insertExtrafields() FIX: request new password with "mc" and "twofactor" authentication FIX: Resolve error message due to missing arguments FIX: select for task in event card FIX: several email sent to the same recipient when adding message from ticket FIX: shipping list for external user FIX: SQL error "unknown column p.fk_soc" because ANSI-92 joins take precedence over ANSI-89 joins FIX: strato pdf FIX: typos in getAttchments() $arrayobject FIX: whitespaces FIX: wrong url param name action ***** ChangeLog for 16.0.4 compared to 16.0.3 ***** FIX: Amount of localtax1 and 2 not correctly save on purchase order (the rate was saved instead) FIX: #20415 FIX: #21280 FIX: #22271 FIX: #22524 FIX: #22837 FIX: #22964 FIX: #23008 FIX: #23012 FIX: #23019 Impossible to add task times to an existing draft invoice FIX: #23072 FIX: #23075 FIX: #23087 FIX: #23115 FIX: #23116 FIX: #23117 FIX: #23281 FIX: #23420 : wrong check on $search_categ value causing FATAL ERROR FIX: Accountancy - Quadra export FIX: add border left on image product when conf activated FIX: Add missing token when deleting template inn order_supplier admin menu FIX: API access for deactivated users FIX: bad selection of barcode numbering module FIX: Can't see all time spent by all user FIX: CI FIX: CommonObject - showOptionals - Display blank td when MAIN_VIEW_LINE_NUMBER is enabled and action is confirm_valid FIX: Documents API inconsistency FIX: Empty FormSetup emailTemplate type IF empty fieldvalue FIX: Errors Handling for CreateFrom Hooks FIX: error with dol_banner_tab, ref is needed FIX: ExpenseReport card was not reloaded after addline FIX: get multicurrency infos of propal when create order from propal with "WORKFLOW_PROPAL_AUTOCREATE_ORDER" conf FIX: Give predictable order to inventory lines FIX: include class multicurrency FIX: methods declaration (backport fix 67b9a7dc07d708231d12b5e58800334d4a01ef98) FIX: multicurrency_tx and not currency_tx FIX: on public ticket list, only the page 1 was accessible. Other pages were 404 error. FIX: PGSQL Integer type does not have a free length FIX: Product list in setup.php in new Module FIX: propal and order stats broken on Tag+User(restricted customer list) FIX: saving of numbering module for jobs FIX: Stickler FIX: travis FIX: wrong check on $search_categ value causing fatal error FIX: wrong stock list with multicompany and without stock sharing ***** ChangeLog for 16.0.3 compared to 16.0.2 ***** FIX: $sign is useless FIX: #18304 Member subscription confirmation email sent even if mandatory fields are missing FIX: #19828 FIX: #19877 FIX: #22509 default value on integer fields don't retrieve by setSaveQuery FIX: #22786 FIX: #22813 FIX: #22824 Accountancy - Journal - Search on subledger when list of subledger is disabled FIX: Backup using the low memory mode FIX: Bankaccounts API fetch with 'id' and 'socid' FIX: base64_decode should be forbidden in dol_eval FIX: Broken Permissions check, $object is null. FIX: compute next value when year is on one digit for reset counter FIX: copy same behaviour in other accountancy files FIX: Fix the position of the verification condition of the test field in case of multi entities FIX: for #22882 FIX: for #22952 FIX: merge errors on mailing card FIX: PaymentBankTransfer Type page management with Select and Input on create.php FIX: remove not initialized variable FIX: SQL request parenthesis FIX: Use the Hook addMoreActionsButtons resPrint FIX: Wrong Extrafields Element For Assets ***** ChangeLog for 16.0.2 compared to 16.0.1 ***** FIX: 16.0 - computed extrafields are not displayed if the object has no other extrafields FIX: #22538 FIX: Accountancy - Review of Winfic - eWinfic - Winsis compta export format FIX: add loadRoleMode on getlinearray FIX: Autosearch on takepos was broken FIX: avoid access forbidden with numeric ref FIX: avoid error, check of product fetch is already check before FIX: avoid error, fetch of product is mandatory (by id or by ref) FIX: avoid unnecessary multiple calculation (#22637) FIX: bug on selected value for select_bom() function FIX: can not set prospect status "Do not contact" FIX: change in the communication status of the prospect FIX: check $id, already checked before FIX: closed warehouse for shipping FIX: extrafields_add tpl for stock movement FIX: the request SQL for transversal user, the join on usergroup table must be with getEntity('usergroup') FIX: Import of contact when there is duplicate thirdparties FIX: Import of socialnetwork field FIX: input selector is wrong with PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES usage FIX: install wizard error management FIX: just add integer FIX: Missing $object for online signature link build FIX: missing quote FIX: only modify hidden checkbox/multislected extrafields on update if they are provided in request FIX: php doc FIX: private message ticket become public if edit action FIX: remove > 0 and -1 FIX: remove db object to avoid error with postgresql FIX: Search ambiguous field on MO list FIX: Search on social networks FIX: Subscription must be stopped when max of attendees reached. FIX: supplier price update: missing error reporting FIX: travis & stickler feedbacks FIX: we must be able to select only bom of a specific product + several fixes on select_bom() function FIX: wrong perm check FIX: wrong typo, remove quote FIX: wrong var typo ***** ChangeLog for 16.0.1 compared to 16.0.0 ***** FIX: #16476 on massaction the pdf generation is not using the t… FIX: #21416 Filter tag no-categorie in members FIX: #21543 FIX: #21799 inactive companies shall not be selectable for new proposals, orders and invoices FIX: #21859 Don't show html balise on list for private/public note FIX: #22164 FIX: #22241 FIX: #22263 Accountancy - Account number expected in place of a rowid on parent account on export FIX: #22264 Accountancy - Translation on chart of accounts export FIX: #22265 Accountancy - Account number expected in place of a rowid on export FIX: #22334 FIX: #22360 FIX: #22379 creating events on supplier order FIX: #22382 Error on length of supplier reference FIX: #22386 IBAN not mandatory for International Export Countries FIX: #22440 Lang Key "UserAccountNotDefined" is missing FIX: #22482 FIX: #22507 FIX: Accountancy - Some manuals operations are displayed in subledger FIX: API reception return error 500 FIX: avoid override initial message ($this instead $object) FIX: avoid some warnings (php8+) FIX: Bad backtopage and CSRF on link for ticket message FIX: bad closing select FIX: broken feature, wrong fk_parent_line after cloning object FIX: Column label FIX: compatibility if javascript not activated FIX: compatibility with Mysql <= 5.7 FIX: contact deletion: execute trigger before really deleting FIX: CronJob sendBackup FIX: CSRF + lost value of constant after use save button FIX: CSS FIX: data integrity for llx_delivery table FIX: default value for partnership status FIX: deletion of the MO_CHILD link FIX: Dictionary - Display error on cache_vatrates FIX: Dolibarr#16476 version 2a FIX: Duplicate creation of invoice when closing shipment linked to order FIX: Duplicate in list when filtering on categories FIX: extrafields with value '0' was '' FIX: filters lost when sorting on productMargin and customerMargins FIX: fk_expedition in $line can be useful for triggers FIX: Import in upgrade when using a socialnetwork field. FIX: input hidden with fk_product of line on mo production can be useful FIX: inventory code must be different at each transaction FIX: inventory total columns FIX: Issue #16476 on massaction the pdf generation is not using the thirdparty language settings FIX: Linked object agenda card FIX: missing check if category module is enabled FIX: missing check if incoice as a payment (wrong status) FIX: missing class "societe" when create another object with workflow FIX: missing error message if image size too large FIX: Missing reposition FIX: missing the management of a constant in the Ticket config FIX: Missing token in different URLs links FIX: @ must be allowed into dol_eval to allow rules including external module string 'abc@def' FIX: - php V8 get number doc saphir FIX: - php V8 propal index last draft FIX: Preview button position on documents list (case when the file is too long) FIX: Project - on global view, missing display of ref customer FIX: Protection against bad value into accuracy setup FIX: reading of trackid in emailcollector (when on recipient suffix) FIX: recruitment linked files FIX: Remove use of code we should not have FIX: Restore the option MAIN_OPTIMIZEFORTEXTBROWSER FIX: Rich text is not displayed FIX: same thing in deleteline FIX: Supplier Reference is lost when page breaks FIX: support of array parameters in "add to bookmark" feature. FIX: Test that web dir is correct in install FIX: the shipment PDF was using the full size logo instead of small FIX: Token Error : delete stock transfer FIX: ToOfferALinkForOnlinePayment not translated FIX: tooltip of technical tables added of a module FIX: wrong result check when update expensereport line ***** ChangeLog for 16.0.0 compared to 15.0.0 ***** For users: --------------- NEW: PHP 8.0 and 8.1 compatibility: Warning!! Application works correctly with PHP 8.0 and 8.1 but you will experience a lot of PHP warnings into the PHP server log files (depending on your PHP setup). Removal of all PHP warnings on server side is planned for v17. NEW: Support for recurring purchase invoices. NEW: #20292 Include German public holidays NEW: Can show ZATCA QR-Code on PDFs NEW: Can show Swiss QR-Code on PDFs NEW: #17123 added ExtraFields for Stock Movement NEW: #20609 new massaction to assign a sale representatives on a selection of thirdparties NEW: #20653 edit discount pourcentage for all lines in one shot NEW: Accept 'auto' for ref of object on import of purchase order/proposal NEW: Accountancy - Add more filters and info on page to bind accounting accounts NEW: Accountancy - Add subledger account when generate a transaction with a deposit invoice NEW: Accountancy - Add a massaction to preselect an account (customer and supplier list) NEW: Accountancy - Add hidden feature for accounting reconciliation NEW: ACE Editor is restored at same cursor position after a save. NEW: Add "addMoreActionsButtons" hook to subscription form NEW: Add an option in GUI to show a Quick add button into top menu bar NEW: Add a workflow to auto link contract on a ticket NEW: Add column template invoice in invoice list NEW: Add column "Total HT" to products array on document creation card NEW: Add configuration for text color of button action NEW: Show the event block on recurring invoices #20870 NEW: Add firstname, lastname and max number of attendees for module "Event Organization" NEW: Add margin info in proposal and order list NEW: Add more fields to detect duplicate during import of thirdparties NEW: Add option to foce delivery on email for purchase order receipt to yes NEW: Add possibility to create contract from invoice NEW: Add possibility with constant MAIN_LOGIN_BADCHARUNAUTHORIZED to define bad character unauthorized into login name NEW: Add private and public notes on tax files NEW: Add substitutions "user numbers" NEW: allow cut&paste as real numeric value to excel NEW: A public form to send a message and create a lead is available NEW: automatically set totally received status in reception NEW: Auto set invoice paid when adding credit not and remain to pay is 0 NEW: Backup tool has an "lowmemory" option for mysqldump on large database NEW: Can enter price with tax for predefined products on purchase objects NEW: Can removed doc templates from setup page of thirdparty NEW: Can use ! to make a search that exclude a string NEW: clean values and amount in FEC import NEW: const MAIL_MASS_ACTION_ADD_LAST_IF_MAIN_DOC_NOT_FOUND for mailing mass action NEW: Contact filter project list NEW: Create contract from invoice NEW: Database: Can store the session into database (instead of being managed by PHP) NEW: Database: Some core tables are created only at module activation NEW: Default value for MAIN_SECURITY_CSRF_WITH_TOKEN is now 2 (GET are also protected against CSRF attacks) NEW: deposit payment terms: add field into dictionary admin page to define default percentage of deposit. NEW: Dictionaries - add possibility to manage countries in EEC NEW: Dictionaries - Availability dictionary has a new column unit and number NEW: Display errors in a message box after generating documents NEW: Enhance the import. Can use 'auto' for the ref (import of orders) NEW: Events on Proposal to Return to Draft NEW: Exports - add entity filter in exports NEW: Page to list expense report payments NEW: JS inventory autocalc input NEW: language support for more emailing target selectors NEW: leave requests: add field into type dictionary to block request if balance is negative NEW: Mass action "Close shipments" NEW: Module BOM - add tabs for nets BOM NEW: Module BOM - add the possibility to add sub-BOMs to BOM NEW: Module Recruitment - Add a public page with list of all open job positions. NEW: Module Recruitment - Add a tab with list of application on the jobposition file. NEW: Add option to move checkbox column as first column on Thirdparty list (only few screens) NEW: payment conditions enabling semi-automatic deposit creation (Issue #18439) NEW: possibility to consume multiple batch NEW: Reverse movement product consumption NEW: Send email to the supplier order contact NEW: add permission to report time on timesheet NEW: Knowledge Management - add status "Obsolete" to KM articles NEW: MRP - split consumption line on MO NEW: MRP - display physical and virtual stock of the products when creating OF from a BOM NEW: MRP - display product ref in "Object link" product tab for BOM NEW: Orders - support user_modif in order NEW: Products - add massaction "Edit Extrafield" for Product NEW: Products - List - add thumbnail field in product list NEW: Products - Statistics - can filter on a thirdparty NEW: Projects - add filter "opportunity status" on statistics of projects. NEW: Proposals - option update prices on proposal cloning NEW: Proposals - List - add column date of Signature on proposal list NEW: SEPA XML - option to place payment Type Info at Credit transfer Transaction level NEW: Stocks - stock filter in reassort lists NEW: Stocks - stock limit in stock export CSV NEW: Stocks - Inventory - can change value of AWP during the inventory NEW: Supplier order - Show ref supplier of reception in linked object block NEW: Surveys - Show number of votes into the label of tab "Results" of a survey NEW: TakePOS - barcode rule to insert product in TakePOS NEW: TakePOS - pagination on search results NEW: TakePOS - show product reference NEW: TakePOS - add constant to hide categories NEW: TakePOS - add constant to show category description NEW: TakePOS - add constant to show only the products in stock NEW: Themes - add param color button action NEW: Themes - Change in theme colors does not need to use the refresh button NEW: Themes - more modes for THEME_TOPMENU_DISABLE_IMAGE (2, 3, ...) NEW: Themes - MD - add param border table for md theme NEW: Third-Parties - add rules "customer accountancy code" is mandatory to validate invoice NEW: Third-Parties - can set the parent company during the creation of thirdparty (action=add of societe/card.php) NEW: Tickets - allow a Ticket to be automatically marked as read when created from backend NEW: Tickets - create Third-party with contact if not found on public ticket NEW: Tickets - option to default check "notify tier at creation" NEW: Tickets - Trigger: allow to automatically send messages on new tickets NEW: Tickets - optional display warning icons on ticket list NEW: Websites Module - supports now the multicompany module NEW: Websites Module - on redirect of page in website module, GET parameters are kept. NEW: The 'reposition' class works on ajax constantonoff that make redirects NEW: total mark rate in list NEW: uncheck "send message" by default on a ticket when private messages has been checked NEW: VAT Report by month - Show detail by rate and also by code NEW: Added MMK currency (Myanmar Kyat) NEW: On a form to send an email, we show all emails of contacts of object Modules state NEW: Module Partnership Management - stable NEW: Module Event Organization Management - stable For developers or integrators: ------------------------------ NEW: dol_uncompress() supports more extensions (.gz, .bz2, .zstd). Only .zip was supported before. NEW: Implement a generic method for Kaban views NEW: Upgrade chartjs library to 3.7.1 NEW: stripe element with more gateways NEW: solde() function evolution to be able to get solde until a chosen date NEW: Suggest a way to run upgrade per entities. NEW: Support html content for multiselect component. NEW: ModuleBuilder - Add tabs view in module builder NEW: ModuleBuilder - More feature that can be modified after module generation NEW: Identification of tr is possible with by attribute data-id on some pages NEW: Import with select boxes V2 NEW: Can use current entity filter on 'chkbxlst' NEW: Creation of the function select_bom() used to display bom select list NEW: Add trigger and event on completely received status change NEW: Add utility function send backup by mail NEW: add WordPress OAuth to save a token (not SSO) NEW: A module can embed a SQL script run at each Dolibarr upgrade NEW: Add param to keep the robot=index meta tag on public pages NEW: Add method hintindex() in database handlers. NEW: add modifications for new function "$db->prefix()" NEW: addMoreActionsButtonsList hook for button in list NEW: Standardize a lot of code. NEW: Add a protection into PHPunit to avoid to forget a var_dump API: NEW: API Proposals - Add POST lines NEW: API REST filter states by country NEW: Add API to get a template invoice NEW: Add datem and type parameters to API to create movements NEW: #19294 implement detailed timespent in task of project API NEW: #20736 Allow extrafields SQL filters on REST API product lookup NEW: Can update rank of invoice, proposal and order lines with API update NEW: update rank line is possible on API for customer invoices, sales orders and supplier invoice NEW: Add option MAIN_API_DEBUG to save API logs into a file Hooks: NEW: Hook getNomUrl available everywhere in tooltip of ref links NEW: Add hooks: selectContactListWhere hook, selectThirdpartyListWhere hook NEW: Add hook before the public ticket list NEW: Add hook for Notif NEW: Add hook for more buttons NEW: add hook printFieldListWhere in product ressort card NEW: Add hook printFieldListWhere in "show_contacts" function NEW: Add hook printFieldWhere in load_state_board function NEW: Add hooks contact tab badge and hooks parameter for avoid conflicts NEW: Add hook selectProductsListWhere in select_produits_list function NEW: Add hooks in commercial index NEW: Add hooks in customers and products boxes NEW: Add hooks in thirdparty index page NEW: Add hooks on project task time page NEW: Add hooks on salaries and sociales card NEW: Add hooks select product list and select thirdparty list function NEW: Add hook to getSellPrice function NEW: TakePos - add hooks complete product display NEW: TakePos - add hooks for cart display NEW: TakePos - add hooks to complete ajax return array NEW: TakePOS - add hook doaction in TakePOS invoice Config Options: NEW: Add hidden option on contract PDF line to hide qty and price NEW: Option MAIL_MASS_ACTION_ADD_LAST_IF_MAIN_DOC_NOT_FOUND to send last document in mass mailing action NEW: Option MAIN_API_DEBUG to save API logs into a file NEW: Option MAIN_MAIL_AUTOCOPY_TO can accept several email and special keys NEW: Option MAIN_SEARCH_CAT_OR_BY_DEFAULT const for search by category NEW: Option INVOICEREC_SET_AUTOFILL_DATE_START/END WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * There is a new specific permission to be allowed to enter timesheets. If you use timesheet, don't forget to give the new permission (disable and enable the module project if it is not visible). * The default value for MAIN_SECURITY_CSRF_WITH_TOKEN has been set to 2. It means any POST and any GET request that contains the "action" or "massaction" with a value of a sensitive action must also a valid token parameter (With previous value 1, only POST was concerned). Note: With value 3, any URL with parameter "action" or "massaction" need the token, whatever is the value of the action. * verifCond('stringtoevaluate') now return false when string contains a bad syntax content instead of true. * The deprecated method thirdparty_doc_create() has been removed. You can use the generateDocument() instead. * All triggers with a name XXX_UPDATE have been renamed with name XXX_MODIFY for code consistency purpose. * Rename build_path_from_id_categ() into buildPathFromId() and set method to private. * Move massaction 'confirm_createbills' from actions_massactions.inc.php to commande/list.php * Method fetch_all_resources(), fetch_all_used(), fetch_all_available() of DolResource has been removed (they were not used by core code). * Method fetch_all of DolResource has been renamed into fetchAll() to match naming conventions. * The hook 'upgrade' and 'doUpgrade2" has been renamed 'doUpgradeBefore' and 'doUpgradeAfterDB'. A new trigger 'doUpgradeAfterFiles' has been introduced. * The context hook 'suppliercard' when on the supplier tab of a thirdparty has been renamed into 'thirdpartysupplier' * Because the module Resources highly linked to the Agenda module, the menu for Resources module has been moved into top menu Agenda. ***** ChangeLog for 15.0.3 compared to 15.0.2 ***** FIX: 15.0: modules cannot declare more than 1 cron job using the same method with different parameters FIX: 15 fix graph ficheinter status FIX: #18704 FIX: #20444 FIX: #20448 missing preg_replace for vat rate when adding a free line FIX: #20476 migration postgresql 13.0.x to 14.0.x packaging type FIX: #20487 missing letter D in constant THIRDPARTIES_DISABLE_RELATED_OBJECT_TAB FIX: #20527 Accountancy - Unbalanced entry proposed when an employee are declared on a social contribution FIX: #20621 signature online with proposal with n page. FIX: #20696 FIX: #20828 FIX: #20886 : manage durations in list_print_total.tpl.php FIX: #20902 FIX: #21051 FIX: #21093 FIX: #21138 FIX: #21140 FIX: #21174 FIX: #21323 FIX: #21472 On the bank transfer lists, a change of page switches to the lists of the direct debit module FIX: #21495 FIX: #21518 FIX: Accountancy - Label of VAT account is empty FIX: Accountancy - Model account list - Problem of CSRF FIX: Accountancy - Partitioning of the entity on an automatic binding FIX: add missing thead, th and id on table FIX: backport commit 5b3fcc5e43979b1b0789bf81fb8f1b2b59c93056, chkbxlst cannot be emptied FIX: Bank account not set when creating invoice from order FIX: Bank transfer - Link on code supplier invoice was bad FIX: Can convert a partially closed down payment when close for FIX: class center linkedObjectblock order date FIX: count elements in invoice list (Issue #21444) FIX: Customer price non numeric warning when 0 vat. FIX: errors in getLinesArray() FIX: False alert of WAF when there is "set" into some URL action=update. FIX: Intervention graph by status on ficheinter Index page FIX: Intervention url link into Commerce index FIX: Fix get origin from other than supplier proposal when add a new supplier proposal FIX: Fix show errors in card FIX: fourn/commande/card.php Added "$object" parameter to $formfile->showdocuments call FIX: french traductions for payment methods FIX: hook for dol_format_address FIX: Index page for "Sales" give wrong URL link to Intervention FIX: issue Dolibarr #21495 for v15 FIX: label and get_substitutionarray_each_var_object on ODT generation FIX: load product stock in inventory lines FIX: missing morecss for multiselectarray FIX: missins time spent list menu FIX: new member subscription: bank account and payment mode might be hidden FIX: ODT generation of BOM document FIX: ODT tags for subobjects {object_subobject_yyy} was not working. FIX: qty received label in Squille PDF model FIX: rank duplicate on mass action invoice from multiple orders FIX: regression + add $forceentity parameter FIX: regression PR #20713 FIX: security breach if we have same ref number in multiple entities FIX: selection of type of invoice FIX: Send remind to pay invoice only on validated invoices FIX: Show sellist type of extrafield when none category selected FIX: signature online with proposal with n page. FIX: sql error when PRODUCT_USE_SUPPLIER_PACKAGING enabled. FIX: sql order FIX: trash icon on crontask list to do not work FIX: v15 linked object block center order date FIX: Warning on attribute FIX: We must remove empty values of $features array in fetchByProductCombination2ValuePairs() because some products can use only several attributes in their variations and not necessarily all. In this case, fetch doesn't work without my correction FIX: with callback function FIX: xml file for company with special chars in name FIX: Zatca QR code must use company name/vat ***** ChangeLog for 15.0.2 compared to 15.0.1 ***** FIX: #19777 #20281 FIX: #20140 #20301 FIX: #20279 Accountancy - PostGreSQL - Error on mass update lines already binded FIX: #20476 migration postgresql 14.0.x to 15.0.x packaging type FIX: #20733 Inventory: Do not use batch qty even if present if batch module is disabled. FIX: action comm list: holiday last day not included + handle duration with halfdays FIX: Add missing entity on salary's payment FIX: Add 'recruitment' into check array FIX: add tools to fix bad bank amount in accounting with multicurrency FIX: assign member category to a member FIX: backport FIX: bad bank amount in accounting with multicurrency FIX: Bad condition on remx FIX: Bad filter on date on salary list FIX: bad link to add a customer price (token duplicated) FIX: bad status of member on widget by type and status FIX: better error management at product selling price update FIX: Can't edit bank record FIX: check mandatory thirdparty fields for mass action FIX: check thirdparty object loaded and properties exist FIX: comment FIX: compatibility for ticket number sharing FIX: compatibility with multicompany sharings FIX: contact card: single extrafield update failed FIX: country not visible into list of states FIX: Delete an extrafield where type is double FIX: deprecated module are not more viewed as external modules FIX: Disable customer type by default if type prospect/customer is disabled FIX: each time we create a supplier order, we need to give it a ref_supplier FIX: Error management FIX: fatal error for $db usage in tpl FIX: filter into the list of product lots FIX: Filter on Object Referent page give CRSF page FIX: Fix default options ($hidedetails, $hidedesc, $hideref) with globales when generate PDF in mass actions FIX: Fix search by filters FIX: Fix the adding of lines in the create invoice functions FIX: forgotten form confirm before various payment delete FIX: holiday/leave requests: write status change emails in HTML FIX: include discount price for PMP after a reception (Issue #20029) FIX: incrementation FIX: in salary stats and payment list, we must check right perms as well as salary list FIX: intervention entity missing FIX: label tax cat trad FIX: Mass action ship orders FIX: missing advanced perms FIX: missing call to executeHooks() FIX: Missing entity on adding new VAT FIX: missing hook for row ordering FIX: missing hook parameter ($possiblelinks) FIX: missing parenthesis FIX: missing picto in combo of mass actions of thirdparties. FIX: missing signature library when ODT model is used FIX: Missing unset fields after updateline expensereport FIX: ModuileBuilder - Fix getLinesArray() error reporting FIX: Move delete task time trigger position FIX: Navigation between invoices FIX: No empty line inserted into accounting_bookkeeping FIX: Numbering of sepa files FIX: object cloning: set unique extrafield values to null to prevent duplicates FIX: on update with action reminder in future there is user key error FIX: originproductline array td identification data-id FIX: out of memory when more than 100 000 invoices. FIX: permit access to medias when logged in a different entity FIX: phpcs FIX: project creation prevented if PROJECTLEADER contact role renamed, de-activated or deleted FIX: project timesheet by week: cleanup unused code FIX: project timesheet: public holidays offset by 1 day FIX: project timesheets: assume Saturday and Sunday as default weekend days when working days conf is empty or badly formed FIX: propal list: bad error management when setting "not signed" mass action FIX: propal list mass action translations and error management (v14 edition) FIX: propal list: missing not signed massaction translation keys for transifex FIX: PR returns FIX: ref_client doesn't exists on supplier invoice, then ref_fourn needs to have a default value when we want to bill several supplier orders FIX: replenish and manage product stock by warhouse FIX: sending email on payment of registration of event FIX: SEPA ICS is not mandatory for bank transfer FIX: Set datec when add time spent on a project task FIX: status filter on supplierOrder stats doesn't work FIX: stickler-ci FIX: still prevent project creation if PROJECTLEADER role unavailable, but with a specific error message FIX: Supplier order stats FIX: Tabulation must be allowed for HTML content FIX: tool to fix bank account not in main currency for vendor invoice FIX: translations FIX: Travis + Update dev FIX: truncate Customer Reference too long on PDF header (PR #20718) FIX: uniformize code FIX: Update of sale price (log not correctly updated) FIX: user actions rights when mulit-company transverse mode is enabled FIX: user employee tab: offset in open days messes up holiday length calculation FIX: We need to have a different default_ref_supplier for each new fourn invoice FIX: "WHERE" clause missing on resource export FIX: #yogosha9754 ***** ChangeLog for 15.0.1 compared to 15.0.0 ***** FIX: #19777 #20281 FIX: bad position of extrafields for interventions FIX: Blocking situation when a payment was deleted in bank. FIX: creation of the shipment if order contains services FIX: Drag and drop line of files on join files tab FIX: Error management on mass action "Approve holiday" FIX: error with php8 FIX: in case of VAT refund, negative amount must be allowed FIX: invoice pdf: lines originating from deposits were not detailed anymore FIX: Invoice - When you create an invoice for a given thirdparty, fk_account is not retrieved from company card FIX: list of visible type of event was not correctly filtered FIX: Missing or bad permissions FIX: Missing the field date start/end in export supplier invoice/order FIX: On large proposal or invoice, fix n(n+1) sql into a n sql. FIX: options should not exists on invoices FIX: payment not completed when using Paypal. FIX: permission to download files of expense report with readall. FIX- Preview icon in documents list PDF in the admin page third-party FIX: shipping list, e.shipping_method_id should be e.fk_shipping_method. FIX: Show product photo on Supplier order Cornas model. FIX: User name in ManufacturingOrder FIX: viewimage.php blocks requests with multicompany from other enties FIX: #yogosha9048 FIX: #yogosha9054 FIX: #yogosha9095 ***** ChangeLog for 15.0.0 compared to 14.0.0 ***** For users: --------------- NEW: Online proposal signature NEW: Can define some max limit on expense report (per period, per type or expense, ...) NEW: Provide a special pages for bookmarks and multicompany for a better use of some mobile applications (like DoliDroid) NEW: Allow the use of __NEWREF__ to get for example the new reference a draft order will get after validation. NEW: Add option to disable globally some notifications emails. NEW: #18401 Add __NEWREF__ substitute to get new object reference. NEW: #18403 Add __URL_SHIPMENT__ substitute to get the URL of a shipment NEW: #18689 REST API module: add api key generate / modify permission. NEW: #18663 Make "L'Annuaire des Entreprises" the default provider for SIREN verification for French thirdparties. NEW: #18046 Add tags on ticket/categories NEW: #18326 Workflow: Close order on shipment closing. NEW: #18770 Can enter the buying price (for Weighted Average Price update) on lines during the reception step NEW: #18814 Add legal form for Sweden NEW: #18820 Accountancy - Add product account in import/export of thirdparty (level 3) NEW: Accountancy - Format FEC/FEC2 - Add column NumFacture NEW: Add $dolibarr_main_db_readonly in conf.php for readonly access. NEW: add auto creation of agenda event on supplier_order cancellation NEW: Add a PDF document template for Manufacturing Orders NEW: Add budget field into task #18986 NEW: add cancel button to `classify reception` form on supplier_orders NEW: Added address field into contacts list NEW: Added documents page and send mail possibility in payments NEW: Add edit option in propal NEW: Added linked files page and send mail possibility in payments NEW: Add field date from/to in customer and supplier payment list NEW: Add filter from date to date into action/evt list NEW: Add import / export of MO and BOMLines - Close #18499 NEW: Adding accounting export model for iSuite Expert NEW: add link to an element by ref NEW: add missing printFieldListFrom hook call on several lists NEW: add MRP into Object Linked Box NEW: Add option to hide customer code on PDF documents NEW: Add param $nolog to avoid logging into dol_delete_recursive_dir() NEW: Add sale representative in order and invoice list NEW: add a setting to create PDF in PDF/A - 1b format #18990 NEW: Add `SOCIETE_SHOW_VAT_IN_LIST` to display VAT number in combo list of thirdparties NEW: Add sortorder on units list NEW: Adds PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES to hide product label in supplier order lines NEW: Add STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE to hide unit price on some pages NEW: add support for zstd compression NEW: Allow drag and drop on kits NEW: Allow exporting supplier order validation date + validation user NEW: Allows product ref generation after the form is validated with PRODUCT_GENERATE_REF_AFTER_FORM NEW: autocomplete account group when editing an account card NEW: Auto create invoice for payment done on an order with online payment link of order NEW: Can edit fields of proposal when proposal is not yet signed NEW: Can edit the translation key of an overwrote translation key. NEW: can enable/disable external calendar by default NEW: Can hide sender name on PDF documents NEW: Can select lot from a combo list of existing batch numbers (in MRP consumption) NEW: Can set the default BOM on a product NEW: Can set/unset the usual working day of the week (friday, saturday, sunday) NEW: Can show progression of task into combo list of tasks NEW: can upload the odt file for the product doc template NEW: Contract - Add From/to input on search date NEW: Customer Display with TakePOS NEW: Split Sale in TakePOS NEW: Customer invoice template list - Add input date from/to NEW: date filter on project list and task list From->To NEW: display shipping method and tracking url on shipment list NEW: expense reports: conf to force amounts to be entered only including taxes NEW: expense reports: conf to pre-fill start/end dates with bounds of current month NEW: expense reports: show link to already existing overlapping expense report NEW: expense reports: can make project field mandatory on lines NEW: Expose bank account holder, label and number NEW: feature #18986 NEW: field and behavior in product object NEW: generate intervention from time spent NEW: holiday: handle monthly balance updates with cronjob NEW: HRM integration, source code NEW: HRM admin - Add tabs NEW: HRM - Include more options to manage/custom dashboard NEW: Increase size of params of actions for emailcollector NEW: Invoice list - Use complete country select field with EEC or not NEW: mass action delete, no more break if at least one object has child NEW: mass action paid on customer invoice list NEW: mass action validate on supplier orders list NEW: mass action send email to all attendees of an event NEW: mass action to switch status on sale / on purchase of a product NEW: expense reports: conf to pre-fill start/end dates with bounds of current month NEW: Option "Add a link on the PDF to make the online payment" NEW: More options to generate PDF (show Frame option, width of picture option) NEW: Preview of pdf files of expense report lines NEW: print without details NEW: project time spent: conf to prevent recording time after X months NEW: rewrite bind accountancy code finding on customer and sales invoice NEW: Societe - Add perentity functionality on customer/supplier accountancy auxiliary account NEW: Survey - Add a clickable link in email send NEW: Social Contributions - Add from/to filter on list NEW: Supplier order and proposal - Add From/to input on search date NEW: Task - Add From/to input on search date NEW: Add theme option THEME_ELDY_USEBORDERONTABLE NEW: The Anti-CSRF protection MAIN_SECURITY_CSRF_WITH_TOKEN is on to value 1 by default NEW: Update SQL : install and migration NEW: Use an ajax call for the clicktodial feature instead of href link. NEW: when multiple order linked to facture, show list into note. NEW: when we delete several objects with massaction, if some object has a child we must see which objects are concerned and nevertheless delete objects which can be deleted NEW: Editing a page in website module keep old page with name .back NEW: External backups can be downloaded from the "About info page". Modules NEW: Stable module Knowledge Management NEW: Experimental module Event Organization Management NEW: Experimental module Workstations Management NEW: Development of module Partnership Management OLD: module SimplePOS has been completely removed -> use TakePOS For developers: --------------- API: NEW: #18319 REST API - Shipment: Add 'close' action / endpoint / POST method. NEW: add API /approve and /makeOrder for purchase orders NEW: API for knowledgemanagement NEW: API get list of legal form of business NEW: API list of staff units NEW: Hidden option API_DISABLE_COMPRESSION is now visible in API setup page. Hook: NEW: add hook 'beforeBodyClose' NEW: add hook 'hookGetEntity' NEW: add hook 'menuLeftMenuItems' to filter the leftmenu items NEW: add hook 'printUnderHeaderPDFline' on invoice PDF templates (can be used for example to add a barcode or more information on header of invoices). NEW: add hookmanager on note pages NEW: hook after rank update NEW: 'printFieldListFrom' hook call on several lists ModuleBuilder: NEW: add the property "copytoclipboard" in modulebuilder NEW: Use lang selector when using a field key 'lang' in modulebuilder Options: NEW: add options MAIN_IBAN_IS_NEVER_MANDATORY, MAIN_IBAN_NOT_MANDATORY, PROPAL_NOT_BILLABLE, PROPAL_REOPEN_UNSIGNED_ONLY, PROPOSAL_ARE_NOT_BILLABLE, TICKETS_MESSAGE_FORCE_MAIL Trigger: NEW: add action trigger for member excluded NEW: Introduce method hasRight NEW: Can use textarea field into a confirm popup. NEW: Can use the result_mode of mysqli driver. Save memory for list count NEW: add code codebar column on serial/lot structure NEW: add date_valid and date_approve columns in the list of supplier orders NEW: we need to be able to put more filters on deleteByParentField() function NEW: make it easier to set the `keyword`, `keywords` and `description` attributes of an ecm file object NEW: Experimental feature to manage user sessions in database WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * ALL EXTERNAL MODULES THAT WERE NOT CORRECTLY DEVELOPED WILL NOT WORK ON V15 (All modules that forgot to manage the security token field into forms will be broken. The security token field is expected since Dolibarr v9 but a lot of external modules did not implement it). * Update hook 'printOriginObjectLine', removed check on product type and special code. Need now reshook. * Old deprecated module "SimplePOS" has been completely removed. Use module "TakePOS" is you need a Point Of Sale. * The method static ActionComm::getActions($db, ...) is no more static. Use $actioncomm->getActions(...) instead (without $db param). * The 'action=delete&file=...' has been replaced with 'action=deletefile&file=...' to avoid confusion with deletion of object lines. * Method getDictvalue has been renamed into getDictionaryValue to match camel case rule. * To execute shell or command line command, your code must never use method like exec, shell_exec, popen, .. but must use the built-in method executeCLI() available into core/class/utils.class.php * Class file expeditionbatch.class.php renamed to expeditionlinebatch.class.php * ExpeditionLineBatch::fetchAll is not static anymore and first parameter $db is removed * ExtraFields->showOutputField parameter 4 'extrafieldsobjectkey' is now required * CommonObject method add_object_linked now sets targettype to 'mymodule_myobject' instead of 'myobject', you can use hook 'setLinkedObjectSourceTargetType' to set your usual targettype ***** ChangeLog for 14.0.5 compared to 14.0.4 ***** FIX: 13.0: printFieldListWhere called twice on same query FIX: 14.0.4 fatal error on cron list. FIX: #19476 FIX: #19564 FIX: #19651 FIX: Accountancy - SQL error on subledger account search in journal FIX: apply eldy's suggestion to not overwrite existing extrafields of $line FIX: Can't close a down payment if paid with credit notes. FIX: better compatibility with multicompany FIX: contact card: bad colspan value for separator extrafield in creation/modification form FIX: discounts are applied both when fetching the best supplier price and when displaying it FIX: double display for contact categorie on societe create card FIX: fatal error on cron list. FIX: holiday list: only mass delete if leave request is not in draft, canceled or refused, like in card FIX: holiday mass deletion: correct return of record deleted FIX: Holiday month report FIX: info tab on customer invoice record not found FIX: line extrafields are inoperative in dispatch cards even when they exist FIX: list of categories in stats of supplier invoices FIX: missing default value for more comprehensive FIX: multicurrency: fields in discount uninitialized when creating deposit FIX: Navigation on bank transaction list FIX: Can't edit a bank transaction due to bad permission check. FIX: Option MAIN_DIRECT_STATUS_UPDATE broken. Ajax on/off not saving value in DB after updating to version >=12 FIX: postgresql compatibility, "" as is not authorized FIX: printFieldListWhere called twice (at different locations) for the same SQL query, can result in syntax errors FIX: select too large into addrights (pb of missing parenthesis) FIX: set optional from post, we can't untick boolean field on product card FIX: Take into consideration work leave over several months FIX: test if method exist on wrong object FIX: title for nature of third party in company list FIX: Urgent onglet contact inaccessible depuis une facture FIX: wrong syntax of sql request ***** ChangeLog for 14.0.4 compared to 14.0.3 ***** FIX: $totalarray is overwritten, totals were lost FIX: 13.0 - due to a typo in the 'mode' parameter, the "first name" column of the list of members displays the full name FIX: 13.0: end date required to edit a ticket message FIX: 13.0 feedback of PR #18993: make ticket messages punctual events with attr percentage = -1 FIX: 13.0 PR #18993: add comment on modified part FIX: 13.0: sometimes firstname was mistyped as fistname FIX: 14.0 - civility field of private third party creation form has inadequate width FIX: 14.0 - civility field width inadequate due to select2 calculating the width while the field has no width (display: none) FIX: 14.0 - due to a typo in the 'mode' parameter, the "first name" co… FIX: #18634 : Problem of virtual stock with reception module enabled FIX: #18695 Added ref_ext to supplier invoice FIX: #18698 Supplier invoice list - "alert" checkbox not working FIX: #18735 FIX: #18767 : Adherent delete FIX: #18797 FIX: #18854 FIX: #18875 in v14 FIX: #18910 FIX: #18910 : MRP List SQL query syntax error with more than one extrafileds. FIX: #18912 Accountancy - SQL error when custom group is added without country defined FIX: #18934 on-registration in the extrafieldsline database for deliveries FIX: #18968 FIX: #19008 FIX: #19014 - the properties of some fields are not updated when you submit the form FIX: #19210 FIX: #19214 : PostgreSQL error on admin/limits.php FIX: #19241 Project - Fix display salary in overview FIX: #19305 FIX: 2 columns for total labels FIX: Accountancy - Format Quadra export - Missing line type C to create automatically a subledger account with label FIX: Accountancy - If deposit invoice is used, force binding in deposit accounting account to solve transaction FIX: Accountancy - Missing specific filename for export on format FEC2, Ciel & repare it FIX: Accountancy - Option of export popup are inverted FIX: Accountancy - PHP8 FIX: Accountancy - Product admin - SQL error when we affect accounting account with product_perentity activated FIX: Accountancy simplified - Salaries are not present in report FIX: Accountancy - Some correction on export name FIX: Accountancy - Trunc code_journal to 2 in format XIMPORT (Ciel, Sage50) FIX: add warehouse in projects' overview count FIX: also on customer index for automatic binding FIX: Attachment of pdf into shipment when sending email FIX: autocalculation of the supplier price in main currency. FIX: avoid warning if $categories is an id FIX: bad sign of amount stored for multicurrency columns on credit notes FIX: Bad use of a forced contact of another company on PDF/ODT documents FIX: Bad use of dol_concatdesc() FIX: Button text on proposal card for create a invoice FIX: calculateCosts of BOM must not be included into fetch FIX: calculation of balance in conciliation page on desc sorting. FIX: card.php FIX: Change date format of the inventorycode to be equal as mass stock transfer FIX: check if greater 0 FIX: close cash with some terminals in TakePOS FIX: compatibility with Multicompany FIX: consistent UX when calling a tab from the invoice card with empty ref/id FIX: default language defined for IN country FIX: Expense report - In edit mode, field qty doesn't accept decimal unlike the create mode FIX: fetch of product with modulebuilder load too much data FIX: filter for export of accounting documents FIX: Filter on categories FIX: generate documents with PDF options FIX: indentation FIX: init hookmanager after loading $conf values FIX: invoice: impossible to create an invoice because of very bad check + warnings when trying to print tabs for invoice with no ID FIX: legal issue on expense report pdf (must also show price without tax) FIX: list of categories in stats of supplier invoices FIX: load translate array after setting lang FIX: lost superadmin grade after edit user card FIX: missing filter status=1 on rss feeds FIX: missing permission check reported by me@lainwir3d.net on product api FIX: missing return status FIX: missing sql filter by entity FIX: move fetch_optionnal into $ac_static->fetch() FIX: only a superadmin can modify entity FIX: only ones value is return for dictionaries FIX: optional visibility on create card FIX: payment style and html5 tags FIX: payment using wrong type in takepos when too many payment mode FIX: PR#18931 Remove useless explicit call to dol_shutdown FIX: Product accountancy affectation with product_perentity activated (PR #18620) FIX: products/services card: hidden extrafields were overridden FIX: project task list: extrafields could not be displayed FIX: Propal list - Problem of pagination on date FIX: reload user lang FIX: Remove not complete order from the virtual stock FIX: Replenish: SQL error when no warehouse has been created + Warning when there are no warehouses FIX: resource list : Use standard code to handle list filters FIX: restrictedArea for payment delete FIX: Ret PR FIX: second approval back in stable feature as is the setting for minimum amount (last part from PR#14286) FIX: selected lines on supplier invoice create FIX: Selection of type "people" for membership must hide the company FIX: select list of orders not complete when field type of company is on FIX: show end hours in events linked to objects FIX: support of localtax on expense report FIX: task time: can't filter by user with pgsql + show error message FIX: task time: keep on using natural_search FIX: tcpdf vulnerability to roman numeral bomb, cf. tecnickom/TCPDF issue #315 FIX: Test when date of invoie is in future (pb with TZ and offset) FIX: Ticket - Card - Wrong font awesome library FIX: Ticket - Duplicate field project when we create ticket from project FIX: translation into email for member at membership validation. FIX: Travis Sanitize SQL FIX: unprivileged user can see task associated with a not allowed project FIX: URGENT: impossible to create an invoice FIX: Use of accent into filename of GED FIX: user date timezone offset FIX: User salary card - translation problem FIX: user without permission can set ticket subject FIX: We need a default price base type in variant creation case with multiprices when parent has been created with only one level price FIX: wrong array key value FIX: wrong check FIX: wrong position of error message Sync transifex. ***** ChangeLog for 14.0.3 compared to 14.0.2 ***** FIX: #18698 Supplier invoice list - "alert" checkbox not working FIX: #18735 FIX: #18767 : Member delete FIX: #18854 FIX: #18910 : MRP List SQL query syntax error with more than one extrafileds. FIX: Accountancy - Format Quadra export - Missing line type C to create automatically a subledger account with label FIX: Accountancy - Missing specific filename for export on format FEC2, Ciel & repare it FIX: Accountancy - Option of export popup are inverted FIX: Accountancy - Some correction on export name FIX: Accountancy - Trunc code_journal to 2 in format XIMPORT (Ciel, Sage50) FIX: add warehouse in projects' overview count FIX: autocalculation of the supplier price in main currency. FIX: avoid warning if $categories is an id FIX: Bad use of a forced contact of another company on PDF/ODT documents FIX: Button text on proposal card to create a invoice FIX: calculateCosts of BOM must not be included into fetch FIX: check if greater 0 FIX: default language defined for IN country FIX: fetch of product with modulebuilder load too much data FIX: Filter on categories FIX: indentation FIX: init hookmanager after loading $conf values FIX: legal issue on expense report pdf (must also show price without tax) FIX: missing filter status=1 on rss feeds FIX: move fetch_optionnal into $ac_static->fetch() FIX: payment using wrong type in takepos when too many payment mode FIX: Product accountancy affectation with product_perentity activated (PR #18620) FIX: products/services card: hidden extrafields were overridden FIX: Propal list - Problem of pagination on date FIX: selected lines on supplier invoice create FIX: Selection of type "people" for membership must hide the company FIX: select list of orders not complete when field type of company is on FIX: support of localtax on expense report FIX: task time: can't filter by user with pgsql + show error message FIX: task time: keep on using natural_search FIX: Test when date of invoie is in future (pb with TZ and offset) FIX: translation into email for member at membership validation. FIX: unprivileged user can see task associated with a not allowed project FIX: user without permission can set ticket subject ***** ChangeLog for 14.0.2 compared to 14.0.1 ***** FIX: #18353 Invoice list translation issue FIX: #18375 SQL Error on tasks statistics FIX: #18465 FIX: #18484 FIX: #18531 FIX: #18542 REST API: set global $user variable to DolibarrApiAccess::user. FIX: #18544 Shipment REST API: load thirdparty object into the shipment before validating. FIX: #18544 Shipment rest api: load thirdparty object when validating FIX: #18565 FIX: #18589 #18617 FIX: #18591 : Remove double quotes of SQL Queries for postgresql compatibility FIX: #18666 Order / Shipment list: Don't SQL JOIN category table when not necessary. FIX: Accountancy - Some problems of length with general & subledger account FIX: add DISTINCT FIX: Add option $noescapecommand in executeCLI for better compatibility FIX: Add token to remove error when removing widget FIX: Add token when remove the last widget on home page FIX: an approved holiday can be canceled by an admin. FIX: better sql request FIX: change LOG_DEBUG with LOG_WARNING in syslog and remove sql error in syslog (already done) FIX: Collapsing of extrafields has disappeared. FIX: Date of payment of subscription must not be set to 1970-01-01. FIX: Export of website generates a package that contains a sql error FIX: Field already present in SQL request FIX: increase maxlength of password input FIX: invoice fetch not found syslog debug level instead of error FIX: Invoice list - Wrong name for column total_tva FIX: invoice validation: when checking if any vat rate has a negative amount, prevent false positives with -1E-14 amounts FIX: Manage credit note on situation invoice for calculate margin FIX: Menu List of project was not visible. FIX: migration script FIX: multicompany transverse mode compatibility FIX: option "Default value for field 'Refuse bulk emailings'" FIX: Recommended session.cookie_samesite must be 'Lax' not 'Strict'. FIX: Relative discount with high nb of decimals FIX: salary extrafields don't work and table is not well named FIX: Supplier invoice list - Wrong language key used FIX: wrong table_element_line FIX: wrong users count in multicompany transverse mode FIX: #yogosha6944 Protection against traversal path. ***** ChangeLog for 14.0.1 compared to 14.0.0 ***** FIX: $conf->task used but it does not exist, use $conf->projet instead FIX: #18181 FIX: #18212 : Add url field FIX: #18267 FIX: #18289 #18294 FIX: #18341 lang not loaded FIX: #18389 Accountancy - Bug on LDcompta10 export for supplier invoice FIX: #18399 Fix shipment validation email template override. FIX: Accountancy - Debug Export Sage50 / CIEL Compta / CIEL Compta Evo (Format XIMPORT) FIX: Accountancy - Rules to delete & modify transaction not applied in ledger & subledger FIX: Accountancy - Search date on journal FIX: Accountancy - SQL error on select journal on journal FIX: Accountancy - SQL error when insert a manual transaction FIX: add include missing file '/core/actions_dellink.inc.php' in project card FIX: avoid to have link to create bookmark on page to create bookmark FIX: bad approver shown on holiday once approved FIX: bad closing div on error message FIX: cannot add time spentd when column ref is not displayed FIX: Can't remove a permission of a group FIX: Can't set cost price when product is not on purchase FIX: compatibility postgresql FIX: filter on status Draft in modulebuilder FIX: holiday card: hooks uninitialized FIX: Invoice - Missing button to reopen an abandoned situation invoice FIX: Link of download main doc on vat list FIX: look and field v14 FIX: Missing column Date validation in ledger & subledger FIX: on admin/pdf.php (with javascript enabled) if you set some boolean confs then click on "save", all boolean values are reset FIX: on supplier order, JOIN with product fourn price table must be done with fk_soc too to avoid display several times a same line (because of same supplier product ref) FIX: postgresql filter select search extrafield FIX: shipping validation workflow: 'ORDER_NEW' trigger called from wrong object FIX: show info of company into user dropdown FIX: totalDayAll hours in tasks FIX: update product lot FIX: using Tulip, deposit mask was not saved FIX: #yogosha6907 ***** ChangeLog for 14.0.0 compared to 13.0.0 ***** For users: ---------- NEW: Module Recruitment to follow application to job positions is now stable. NEW: Feature to make Stock Inventories NEW: Several security issues after a second private bug hunting campaign. NEW: A lot of fix into english text after a small proofreading campaign (still not perfect, but really better) NEW: All main menu entries are using the picto of the module NEW: Add a copy to clipboard button on some fields NEW: Add an example of scheduled job to send email reminder for unpaid invoices NEW: Add some color and picto for the direction of movement NEW: add the column "Channel" into the list of orders NEW: Add the column "alias" of company in the list of proposal, order, invoice NEW: Add the column "Office phone" and "User mobile" in user list NEW: Add the column "Price level" in thirdparty list NEW: Add some company information in the dropdown login menu NEW: Add edit/delete action icons on categories list pages NEW: Add hidden option to auto load input line extrafield into new lines NEW: Add import profile to import BOM NEW: Add link picto to the stock movement on the detail of production NEW: Add mass action "Set tag" for product/service, user, thirdparty, warehouse, project, bank account, members NEW: Add bulk action Validate and Set to billed on order list. NEW: Add possibility to exports userGroups fields on user exports NEW: Can search on lots or serials into the quick search bar NEW: Add support for Friday as a non working day NEW: auto notification with module Notification can use templated emails NEW: Can clone a cron job NEW: Can create a lot from the list view (Look and feel standardization). NEW: Can filter on extrafields date on lists NEW: Can filter on rowid in list of blocked logs NEW: Can hide columns "time consumed" on timesheet per week NEW: Can set an employee on each social contribution NEW: Can set order of execution of hooks NEW: Can toggle FCKeditor on public/private notes NEW: Check update availability for externals modules using a button on module page NEW: Choose lines to use while creating intervention card from origin NEW: Columns shipment method, payment mode, payment term in proposal and order list NEW: Conf for default actioncomm status NEW: Dictionary for availability - Add a column position NEW: Can set a user related to a social contribution NEW: ICS Direct debit can be set with a different value for each bank account NEW: LDAP: usergroup search can be filtered NEW: Make public bookmarks editable by admin users only NEW: If main logo not defined, can use the squarred logo on login page NEW: The manifest file can use the squared image if available NEW: Enhance the multicurrency rate editor NEW: Normalise Type company field with ajax combobox NEW: preload product description on selection for customer propal/order/invoice NEW: Search usergroups & resources NEW: Setup Page for module creation with module builder enhancement #FoundationFunding NEW: Show picto of module into the list of dictionaries NEW: Show the total of payment on the payment confirmation page NEW: The global setup for Mandatory fields can now be done on combo list too. NEW: translate in "en_US" to complete PR 16980 NEW: Update the list of taxes available by default for France NEW: Salary payment request and Salary payment are 2 different steps in workflow on Salary payment recording NEW: VAT payment request and VAT payment are now 2 different steps in workflow on VAT payment recording NEW: VAT report - Optimisation & collapse by rate NEW: When a doc file is shared, link is visible from the main page of doc. NEW: #16378 more E-Mail Contact substitution Values for better salutation NEW: option to keep the "Automatically create the payment" checkbox empty on the tax creation page Accountancy NEW: Add FEC import NEW: Add a confirmation form with options on export (for notified export and validate operations) NEW: Add select date from/to in already bind customer and supplier list NEW: FEC / FEC2 export - Add new field DateLimitReglmt NEW: In ledger & journals, show link on bank transaction NEW: Possibility to filter on journals in balance NEW: Add a page to list subledger accounts NEW: Multiselect journal code filter on journal / balance / ledger NEW: Add first step to close fiscal year Agenda NEW: add support for Friday as a non working day NEW: can show the leave dates/holidays on the agenda view NEW: Support color for types of event Bank NEW: Bank Entries : display user linked to a salary or a taxes NEW: Add bulk actions for Bank Transfer ECM/GED NEW: add DB fields note_public and note_private for ECM module NEW: can filter files in ECM/GED on status Shared / Not shared Invoices NEW: add a check to avoid an invoice date in the future NEW: add the total of margin in invoice list NEW: can set a percentage when creating an invoice from another object NEW: Support down payment on supplier invoice (& some adjustments) Margin NEW: add the total of margin in invoice list NEW: add the total of margin in page by user Members NEW: #17292 default subscription amount by adherent type NEW: option to automatically create a login/user when a new subscription of a member is done online NEW: option to select membership type on the online payment page for membership subscription or renewal Products NEW: Add price min and price min including tax into product export NEW: Add a ref in product customer price NEW: customer ref for product customer prices NEW: Set status of all variants when changing status of parent Projects/Tasks NEW: option to automatically close an open project when all its tasks are done (=progress 100%) NEW: can show the project ref into PDF documents NEW: when we add contacts/users to a project, ask to also affect them on tasks NEW: Can hide columns "time consumed" on timesheet per week Proposals NEW: add bulk action to set a commercial proposal to status "Refused" NEW: can set a warehouse in a proposal NEW: date and user signature on proposal (Issue 16062) #16980 Shipment NEW: add option in Workflow module to set a shipment as closed TakePOS NEW: delayed payment in TakePOS #14456? NEW: display date range if exist in TakePOS NEW: display resiliate status in TakePOS for member NEW: edit sales lines rights in TakePOS NEW: option for TakePOS to show the total price without tax NEW: more permissions in TakePOS (can edit added line, can modify once order sent to kitchen) Third Party / Contacts NEW: add contact tag and bulk email status on the thirdparty + contact create form NEW: can set a warehouse on a thirdparty Tickets NEW: can use captcha on public page to create a ticket #16347 NEW: can set if a ticket group is visible on public interface or not Warehouse/Stock NEW: Feature to make Stock Inventories NEW: can make massive stock transfers from a CSV file NEW: Stock movement list - add more complete date field NEW: can set a warehouse in a proposal NEW: can set a warehouse on a thirdparty Website Module NEW: #17113 Can upload a favicon in website module NEW: add a new permission "Export website" NEW: add last date of modification for website pages in the list of pages NEW: Save old page with .old extension on disk when editing a website page Workflows NEW: add option in Workflow module to set a shipment as closed for Admins NEW: Add a security center page with all information and advice related to the security of your instance NEW: Add a performance center page with all information and advice related to the performance of your instance Modules NEW: Module Recruitment is now stable NEW: start new experimental module Event Organization Management NEW: start new experimental module Partnership Management NEW: start new experimental module Knowledge Management NEW: start new experimental module Workstations Management NEW: Check update availability for externals modules using a button on module page Module SimplePOS is deprecated - TakePOS is recommended for the future new Options NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug" NEW: add constant ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY to manage binding with accountancy account declared on thirdparty card NEW: add constant MAIN_PRODUCT_PERENTITY_SHARED to manage some information (Accounting account) when product is shared on several entities NEW: add constant MAIN_COMPANY_PERENTITY_SHARED to manage some information (Accounting account) when company is shared on several entities For developers: --------------- NEW: Can edit an object property in module builder NEW: Add data-eec=1 for EEC countries on select for js interaction NEW: Add experimental repair script to switch to dynamic row format and utf8mb4 encoding NEW: Add function showValueWithClipboardCPButton() to add a copy/paste NEW: Upgrade Stripe PHP lib to 7.67.0 NEW: Support sepa_debit in stripe paymentmethods list NEW: Update doleditor.class.php for easily activate SCAYT NEW: Add triggers in the function add_object_linked(), updateObjectLinked() and deleteObjectLinked() NEW: Add triggers OBJECT_LINK_INSERT, OBJECT_LINK_UPDATE et OBJECT_LINK_DELETE in the function add_object_linked(), updateObjectLinked() and deleteObjectLinked() NEW: can set a target image in dolcropresize function NEW: can set a label as placeholder for combo lists NEW: Add pagination on Get Products response API NEW: Add the DefaultValues CRUD class NEW: Extrafields of documents lines are inside the lines, not any more on separate TR NEW: unit selection on object edit line APIs NEW: API add option $includeifobjectisused to get a product NEW: API get the list of product ids only NEW: add link to OpenAPI specifications XML file in REST API module setup: swagger.json file can be included into external tools like redoc NEW: add native compression in REST APIs NEW: Product Variants API, add variant stock to response by parameter NEW: Product API route added to get product stock and product with or without variants #13739 #17390 Hooks NEW: hook printFieldListTitle for cabyprodserv.php NEW: hook to allow external modules to add their own shortlist of recent objects NEW: SQL-altering hooks in the turnover by product report NEW: add form confirm hook on company card NEW: add hook addSectionECMAuto method to add custom directory into ECM auto files WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Module SimplePOS is deprecated. If you need a POS module, please use the module TakePOS. * The ICS value for direct debit or credit transfer is now stored on each bank account instead of into the global setup. * API /setup/shipment_methods has been replaced with API /setup/shipping_methods * Field "total" renamed into "total_ht" for table llx_facture, llx_facture_rec for better field name consistency * Field "tva" renamed into "total_tva" for llx_facture, table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency * Field "total" renamed into "total_ttc" for table llx_propal, llx_supplier_proposal for better field name consistency * If your database is PostgreSQL, you must use version 9.1.0 or more (Dolibarr need the SQL function CONCAT) * If your database is MySQL or MariaDB, you need at least version 5.1 * Function set_price_level() has been renamed into setPriceLevel() to follow camelcase rules * Removed deprecated substitution key __REFCLIENT__ (replaced with __REF_CLIENT__) * Removed constant MAIN_COUNTRIES_IN_EEC. You can now set if country is in Europe or not from the dictionary of countries. * v14 seems to work correctly on PHP v8 but it generates a lot of verbose warnings. Currently, v14 i snot yet officially supported with PHP 8. * To execute shell or command line command, your code must never use method like exec, shell_exec, popen, .. but must use the built-in method executeCLI() available into core/class/utils.class.php * the trigger "*_DELETE_CONTACT" inside "delete_contact()" function from commonobject.class.php is call before delete the object element and a $object->context['contact_id'] is now available for this trigger ***** ChangeLog for 13.0.5 compared to 13.0.4 ***** FIX: 13.0: class CommandeFournisseurDispatch provides trigger for UPDATE but not for CREATE / DELETE FIX: #18389 Accountancy - Bug on LDcompta10 export for supplier invoice FIX: #18591 : Remove double quotes of SQL Queries for postgresql compatibility FIX: Accountancy - Debug Export Sage50 / CIEL Compta / CIEL Compta Evo (Format XIMPORT) FIX: Accountancy - Some problems of length with general & subledger account FIX: add DISTINCT FIX: an approved holiday can be canceled by an admin. FIX: autocalculation of the supplier price in main currency. FIX: better sql request FIX: cannot add time spend when column ref is not displayed FIX: compatibility postgre sql FIX: holiday card: hooks uninitialized FIX: Invoice - Missing button to reopen an abandoned situation invoice FIX: invoice validation: when checking if any VAT rate has a negative amount, prevent false positives with -1.0E-14 amounts FIX: list of categories in stats of supplier invoices FIX: Manage credit note on situation invoice for calculate margin FIX: method_exists needs object at first param FIX: move fetch_optionnal into $ac_static->fetch() FIX: multicompany transverse mode compatibility FIX: on supplier order, JOIN with product fourn price table must be done with fk_soc too to avoid display several times a same line (because of same supplier product ref) FIX: postgre filter select search extrafield FIX: products/services card: hidden extrafields were overridden FIX: shipping validation workflow: 'ORDER_NEW' trigger called from wrong object FIX: task time: can't filter by user with pgsql + show error message FIX: task time: keep on using natural_search FIX: wrong users count in multicompany transverse mode ***** ChangeLog for 13.0.4 compared to 13.0.3 ***** FIX: Allow disabling of a module (not a dangerous action) even if there is problem with token (due to bugged modules). FIX: 13.0 - fatal - missing inclusion of ajax.lib.php for calling 'ajax_autocompleter()' FIX: #17919 pictures in docs FIX: #18006 FIX: Accountancy - if we define a date start, automatic binding try to continue to solve old binding FIX: Accountancy - Limit date payment not registered on purchases operations FIX: Can't edit replacement invoice FIX: deposit can create credit note in payment conf FIX: division by zero on create FIX: holiday: balances not updated correctly with pgsql because of case sensitivity field FIX: holiday: status filter parameter has been renamed but not in links it was used FIX: List and Create Companies Left Menus FIX: method exists FIX: need to add payment sum to getlibstatus function in object linked block FIX: permission to close a proposal when using advanced permissions FIX: Problem of z-index with popup and top menu FIX: same thing on supplier orders FIX: Status of invoice when making a replacement invoice FIX: update contact birthday alert ***** ChangeLog for 13.0.3 compared to 13.0.2 ***** FIX: 13.0 warning - missing quotes around 'label' FIX: #16143 Old PG requires "()" on DROP FUNCTION FIX: #16843 FIX: #17060 FIX: #17192 - With tz < 0, event is show in bad day on calendar views FIX: #17363 FIX: #17476 releve.php: Fix SQL statement FIX: #17967 Fix: #17906 : fix access denied FIX: Accountancy - Import in general ledger FIX: Accountancy - Quadra export - wrong data on credit FIX: Accountancy - Warning on the pages of the preparatory statements of accounting entries FIX: Add function price2num for rounding values in productAlertStock box FIX: Add parameter to function price2num() FIX: Cannot delete a batch material from item receipts FIX: cast int FIX: Change parameters MF to MS for price2num() function FIX: create event from contact card preselect contact correctly FIX: create sociales : keep values error form FIX: dol_print_date for %a and %b with some timezone FIX: email is not case sensitive FIX: error for duplicate thirdparty found correctly returned by ws FIX: Espadon PDF shippment model with long public note now working FIX: esupplier order: error 500 when using packaging with product where it is not defined FIX: Filter on debit/credit FIX: Filter on supplier payment list FIX: fix checkbox displayed according to module project setup parameters - work in progress FIX: inconsistency in margin recording with option "Force to sale price" FIX: invoice PDF generation after payment FIX: mask selector fournisseur if module not activate FIX: merge third party also works for bank URL entry FIX: Missing extrafields into export of agenda record FIX: missing parameter in select for POP FIX: missing return edit if update error FIX: missing token on dolGetButtonAction for action delete FIX: payment creation: re-generate invoice PDF with correct display options FIX: payment validation: invoices PDF were no re-generated, make it with correct display options FIX: Periodicity by default on fiscal year, according to the now date, we have plus 1 year added FIX: pgsql: prevent 'WHERE 1' FIX: PHP version requirement in composer.json FIX: project visibility field with two option FIX: saving template email FIX: search accented words in product description (consumption page) FIX: Search on date in accountancy FIX: selection of project for reception must use FIX: shhhhhh ! There is nothing here... FIX: Show input field checkbox selection FIX: Show Ref.Supplier in LinkToObjectBlock FIX: SQL Error show_contacts : socialnetworks FIX: Start hour on ACCOUNTING_DATE_START_BINDING FIX: supplier order: error 500 when using packaging with product where it is not defined FIX: test must be === and not == FIX: test on link type FIX: type link extrafield case for advanced target emailing FIX: Write right on document ***** ChangeLog for 13.0.2 compared to 13.0.1 ***** FIX: 11.0 - $this->socid injected in query without checking for empty value FIX: #16096 #16085 Any call of ajax pages must provide the token FIX: #16296 FIX: #16325 FIX: #16341 : Fetch the Product ExtraFields in Shippment lines FIX: #16366 FIX: #16393 Do not sanitize FIX: #16420 #16423 #16488 #16477 FIX: #16431 FIX: #16465 FIX: #16480 FIX: #16485 FIX: #16487 FIX: #16503 FIX: #16530 FIX: #16533 FIX: #16629 FIX: #16671 Can not generate zip file of documents in backup tool FIX: Add "Now" link on social charges creation card FIX: avoid undefined URL and missing token FIX: Bad project filter in ticket list FIX: Buttons to disable bindings not working FIX: class not found when creating recurring invoice from invoice+discount FIX: File attachment on lots/batches FIX: handling $heightforinfotot when he's superior to a page height on Supplier Invoice FIX: hourglass and hide button to pay FIX: massaction validate invoice do not regenerate PDF FIX: #16627 fix missing mp4 video mime FIX: picto on shipment to reset qty to 0. Some quantities were not reset. FIX: Protection to avoid #16504 FIX: rounding amount on card updating FIX: rounding amount on social charges card updating FIX: select list dependencies now work for ModuleBuilder sellist field FIX: status in popup of member in widget FIX: status on tooltip on widgets FIX: Timezone management for datetime on list of events FIX: Timezone management for datetime with modulebuilder and extrafields FIX: Total_ht not show in contract link element FIX: use post instead get FIX: use var "saved_url" instead global var "$url" FIX: Various payment - Missing fields for check transmitter & bank name FIX: warning if setup of chart of account is not yet done. FIX: wrong extension ***** ChangeLog for 13.0.1 compared to 13.0.0 ***** FIX: 10.0 before crediting a withdrawal receipt, check whether it has been credited already. FIX: 11.0 when a mandatory extrafield of type sellist contains '0' it should be considered empty and trigger an error message upon insertion FIX: 11.0 when a new intervention is created from an object, a new $extrafields object is instantiated but not initialized FIX: create MO, Column 'tms' cannot be null FIX: #14290 #15900 FIX: #16076 patch user/list.php for extrafields FIX: #16077 patch wrong timezone FIX: #16079 error of service date at duplicated invoice FIX: #16080 mailing list title FIX: #16084 DB error at projects FIX: #16107 FIX: #16118 Timezone problem on some fields FIX: #16131 FIX: #16135 FIX: #16143 FIX: #16156 FIX: #16160 FIX: #16165 Create customer discount without VAT FIX: #16185 FIX: #16189 fix download/see check deposit PDF FIX: #16215 FIX: Accountancy - label_operation is used instead of label_compte FIX: Add critical price patch FIX: Assignment of actors on tasks FIX: Bad dates on info tabs FIX: cash fence for takepos with multientity FIX: CSRF errors on margin forms FIX: encoding status in graph of vendor proposals FIX: Fix detect dispatched product and set to received completely when the supplier order have services (support STOCK_SUPPORTS_SERVICES) FIX: hide/unhide external ICS calendars FIX: link to create event when task is in a project with a thirdparty FIX: Localtax must be converted with price2num FIX: manage price min for PRODUIT_CUSTOMER_PRICES FIX: Missing language ico FIX: Must not be able to edit vat of all lines if not draft FIX: Bad "htdocs" found into a path FIX: removed no more used proc update_modified_column_date_m on pgsql (its presence triggered errors) FIX: Vulnerability report by Ricardo Matias FIX: select default mail template FIX: Select transport mode function when creating a supplier invoice and add unique key to the table llx_c_transport_mode in migrate sql FIX: Merge of thirdparties : "unknown column fk_soc" + "Delivery" label FIX: SQL Error in group by with postgres or mysql strict mode FIX: TakePOS : load date function FIX: Timeout during import FIX: Trigger on expense report was not fired FIX: User creation of expense report not visible FIX: warning when adding a line if $remise_percent is an empty string FIX: status late on purchase orders FIX: ODT generation very slow FIX: amount in summary of report FIX: VAT value when code contains number FIX: payment term label on PDF FIX: date selector when using reduced year (like on smartphone) ***** ChangeLog for 13.0.0 compared to 12.0.0 ***** For users: ---------- NEW: Module "Credit transfer SEPA" to manage payment of vendors using bank credit transfer SEPA files. NEW: Module Intracomm report NEW: Module Reception (for a more accurate management of your receptions) moved from experimental to stable. NEW: Module Recruitment to manage Job position and applications. NEW: Several security issues after a private bug bounty campaign. NEW: Accountancy - add chart of sub accounts NEW: Accountancy - add options to disable binding on sales, purchases & expense reports independently of the modules NEW: Accountancy balance - add a menu entry to show subtotal by group NEW: Accountancy - change menu disposition NEW: Accountancy - on transfers, select the periodicity by default NEW: Accountancy - add export for Gestinum (v3 & v5) #15180 NEW: new currency rate editor NEW: Solve blocking feature. Can increase stock of a Kit without changing subproduct stock. NEW: add a widget to show the customers with outstanding limits reached NEW: add 2 rules for emailcollector: Message send/not sent from Dolibarr NEW: add a counter of number of words for pages in website module NEW: add a page to list Stock at a given date in the past NEW: add a start date to begin binding in accountancy NEW: add a statistics page to list popularity of products on invoices NEW: add calendar selection for agenda view NEW: Support documents generation for ticket edition (PDF or ODT) NEW: add column payment term into list of supplier invoices NEW: add column quantity in product margin page NEW: add column vat rate in page to define accounting account on product/service NEW: add costprice in fields of products list NEW: add an import profile for CUSTOMER ORDER, PO, PROPOSAL MODULE, SUPPLIER INVOICE NEW: add employee link in expense report binding page NEW: add EORI No. as ProfID5 #15382 NEW: add export for various payments NEW: add Extrafields labels and values in mail on create ticket NEW: add Extrafields support on ECM module NEW: add filter rules "is answer" and "is not answer" in email collector NEW: add focus when editing on product/stock/product.php -> close #14548 NEW: add free text on each terminal of cash desk NEW: add global search for customer payments and vendor payments NEW: add global search for miscellaneous payments NEW: add helper function for table headers with numbers NEW: add link to edit property from the search result of website pages NEW: add link to reset qty on supplier dispatch page NEW: add MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const to remove header stored by email collector NEW: add Manufacturing Orders attached files into the automatic ECM view NEW: add margin info in invoice list NEW: add mass action to set category on a list of website pages NEW: add mass deletion for events NEW: add mass deletion for draft invoices NEW: add more filters on monthly statement list NEW: add option TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT NEW: add option to define a default warehouse at user level NEW: add option to include products without alert in replenish NEW: add order by lastname and firstname by default in get sales representatives NEW: add PDF document templates for warehouses (list of stock) NEW: add a prospect status for the contact with management of custom icon NEW: add public note on products ; this also partially fix the #14342 NEW: add quick dropdown menu in top right menu (experimental with MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN) NEW: add region in export companies and contacts NEW: add rights on margin info on invoice list NEW: add search param for close date on order list NEW: add show preview for mail attachment on form mail NEW: add State/Province origin for products NEW: add the workflow interaction close intervention on closing ticket NEW: add tracking number in list and search_all items NEW: add vcard for adherent and user NEW: add week number for month view in agenda NEW: Algeria data (VAT and forme_juridique) NEW: allow click on all header numbers on commerce area NEW: allow to reopen interventions (green button) NEW: allow zero quantity on supplier/vendor order line NEW: better currency rate editor NEW: can build vendor invoice from vendor orders NEW: can change a product in lines of a recurring invoice or contract NEW: can set the size of the logo on PDF documents NEW: can change VAT rate of all lines of a draft object in one step NEW: can define date range of validity of a login during creation NEW: can disable, from edit page, the whole web site NEW: can edit and set sales representatives directly on thirdparty card NEW: can edit the list of sending email profiles NEW: can enable/disable users in bulk actions NEW: can filter on accounting system ref in export of chart of account NEW: can filter on container type, language and tags in the list of web pages NEW: can hide eatby, sellby dates with option PRODUCT_DISABLE_EATBY and PRODUCT_DISABLE_SELLBY NEW: can import proposals, sales orders, supplier invoices NEW: can set a dedicated SMTP config for sending email from public ticket interface NEW: can set tags/categories to website pages NEW: can set type of price without tax per default for new sale price creation NEW: can use desired stock of a given warehouse for replenishment NEW: common behavior for monthly leave list view NEW: convert all subscription in datetime NEW: date shipment from order accepts hours NEW: price level compatibility for variant NEW: display stat for BOM on "object referent"/linked Object product tab NEW: Email configuration - allow auto signed certificate when smtp ssl activated NEW: enable free emails input with select2 NEW: Events in agenda for contact NEW: filter on progress column in task list NEW: filter product list by country and/or state/province NEW: format tickets sent by mail in public interface NEW: form to add customer/supplier into categories NEW: Framework is ready for CSRF token protection on explicit GET URLs NEW: helper functions for export with phpspreadsheet NEW: hide closed contract lines NEW: hide label in PDF for variants NEW: if specific help page is available, we change color of icon NEW: include the tag editor of page as a popup into website editor NEW: introduce constant FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM NEW: introducing new modal boxes in TakePOS NEW: keep TakePOS terminal when login/logout NEW: link on balance to the ledger NEW: manage errors on update extra fields in ticket card NEW: mass-actions for the event list view NEW: more filter for "View change logs" NEW: multiselect type and date to date filter NEW: new line template: hidden conf to fill service dates from the last service line NEW: PDF model storm for delivery NEW: possibility to group payments by mode and show their subtotal NEW: Priority and transparency from external calendar events NEW: Products - Nature of product is now a dictionary #13287 NEW: Products Import/Export 'default warehouse' and 'use batch number' fields NEW: Purchase price table: added filterable table columns NEW: rate editor for multicurrency NEW: ref_ext field for Commande lines, order lines, Attributes and Combinations, Invoice lines, payments, order lines NEW: remove new lines in mail on add ticket message NEW: Rule "email to" accept wildcard * NEW: save filter of the project homepage NEW: select-able columns on customer and supplier invoice paymnet list NEW: select-able columns on miscellaneous payments + more data columns NEW: select-able columns on social taxes list NEW: send context and remove new lines on create ticket NEW: show category filter on lists only when user have rights to read categories NEW: show header number and make it clickable in warehouse area, payment area, shipment area NEW: show image of user in the combo select of users NEW: show label on batch card NEW: show links for select and multi-select in category extra field NEW: show module and permission ids on user/group rights (only admin) NEW: show place from events on import calendar NEW: show references in contract form on interventions NEW: show tags and status in search list of website pages NEW: show user on external calendar events (when found) NEW: subject title with company name instead of application title in ticket message NEW: Support for Samba4 AD NEW: TakePOS appearance tab with more visual parameters NEW: TakePOS add alert before changing thirdparty NEW: TakePOS add third order printer NEW: TakePOS can change thirdparty with barcode scan NEW: TakePOS can create a thirdparty customer from TakePOS frontend NEW: TakePOS connector compatibility with RECEIPT PRINTERS module NEW: TakePOS add delayed payment NEW: TakePOS display date range if exist NEW: TakePOS display resiliate status for members NEW: TakePOS Gift Receipt NEW: TakePOS multicurrency compatibility NEW: TakePOS multicurrency total NEW: TakePOS print payment method and change NEW: TakePOS restrict thirdparty to customer NEW: TakePOS show available stock NEW: TakePOS Weighing Scale compatibility with TakePOS connector #14725 NEW: Thirdparty Import new fields: mother company,outstanding debt limit,bank account,incoterms NEW: Thirdparty module : box on customer/supplier tab for invoice outsantding amount late NEW: Ticket classification on create from email collector NEW: Ticket message notifications when edited from public interface NEW: Ticket translate classification labels in ticket NEW: VAT rate for Angola #15606 NEW: VAT and juridical status for Algeria NEW: VAT report - Invert constant to show by default zero VAT in reports NEW: website page fields selection NEW: website - global header of a website can also have dynamic content NEW: when creating a user from a member linked to a thirdparty, you can choose to create it as external or internal user NEW: add clone button on miscellaneous payment NEW: add option to put the product label in bold in the PDF templates if configured #15065 NEW: add option "If the feature to manage kits of module Stock is used, show details of subproducts of a kit on PDF." For developers: --------------- NEW: add __MEMBER_TYPE__ and __TYPE__ substitution key NEW: add function dolButtonToOpenUrlInDialogPopup() to be able to open page into a popup NEW: show line number on intervention card (via MAIN_VIEW_LINE_NUMBER) NEW: add some fields to link website page to an other object NEW: fill ECM src object fields in dol_add_file_process NEW: conf to allow to show the full tree in warehouse popup NEW: can use parameter ?THEME_DARKMODEENABLED=2 for a preview of theme in dark mode NEW: can force the antivirus from conf file or autoprepend ini setup NEW: can add event to log into blockedlog module with a constant NEW: add property cssview when declaring fields of an object NEW: can use dynamic code into the 'enabled' property of DAO fields NEW: field ref_ext in llx_commandedet NEW: fields ref_ext for Attributes and Combinations NEW: OAuth SCOPE for Admin SDK NEW: standardizes API thirdparties by email like other object NEW: Triggers Attributes and Attributes values NEW: add incoterms data into the substitution array NEW: add send context for ticket NEW: add a message in error_log after detection of SQL or script injection NEW: add validation of MX domain for emails NEW: calculate the virtual stock in transverse mode ( not on getEntity('commande'), ... but on getEntity('stock') ) NEW: Graphics can be horizontal bars NEW: add param to not show links when output tags APIs NEW: API get contacts list of a given order NEW: API endpoint getContacts and clean results NEW: API can update a payment NEW: API get member by thirdparty NEW: API get thirdparty by barcode NEW: API get users by email / login NEW: fetch contact by email with REST API NEW: get state dictionary by REST API NEW: improve Product API for variant products NEW: retrieve discount from invoice from API NEW: Thirdparty REST API: endpoint to set price level NEW: use new category API for project list view HOOKs NEW: add hook on propal card NEW: add hooks on newpayment page to allow external payment modules NEW: add hooks on stats pages NEW: add formConfirm hook on product page NEW: add two hooks printFieldListFrom and printFieldSearchParam NEW: add hook "loginCheckSecurityAccess" WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * The object "livraison" has been renamed into "delivery" (directory, class, keys, methods with livraison in name ...). * All properties ->contactid have been renamed into ->contact_id * All properties ->titre have been renamed into ->title * Property $paiementid in API 'api_supplier_invoices.php' has been renamed into into $payment_mode_id * Property 'num_paiement' has been renamed 'num_payment' everywhere for better code consistency. * The deprecated substitution key __SIGNATURE__ has been removed. Replace it with __USER_SIGNATURE__ if you used the old syntax in your email templates. * The hidden option HOLIDAY_MORE_PUBLIC_HOLIDAYS has been removed. Use instead the dictionary table if you need to define custom days of holiday. * If you build a class that implement CommonObject to use the incoterm properties or methods (->fk_incoterm, ->label_incoterm, ->location_incoterm), you must now also include declaration of the Trait 'CommonIncoterm' in your class. All incoterm functions were moved into this Trait. * The GETPOST(..., 'alpha') has now the same behaviour than GETPOST(..., 'alphanohtml') so no html will be allowed. Use GETPOST(..., 'restricthtml') to accept HTML. * If you have links in your code with '&action=add', '&action=update', '&action=delete' as a parameter, you must also add '&token='.newToken() as another parameter to avoid CSRF protection errors. * The API addPayment for api_invoice has evolved to accept amount into a foreign currency. You must provide array(amount=>X,mutlicurrency_ammount=>Y) instead of simple amount. * The method select_thirdparty(), deprecated since 3.8, into html.form.class.php has been removed. * Depreciate all methods with name ->valid(). Use instead methods ->validate(). * Function showStripePaymentUrl, getStripePaymentUrl, showPaypalPaymentUrl and getPaypalPaymentUrl has been removed. The generic one showOnlinePaymentUrl and getOnlinePaymentUrl are always used. * Context for hook showSocinfoOnPrint has been moved from "showsocinfoonprint" to "main" * Library htdocs/includes/phpoffice/phpexcel as been removed (replaced with htdocs/includes/phpoffice/PhpSpreadsheet) * Database transaction in your triggers must be correctly balanced (one close for one open). If not, an error will be returned by the trigger, even if trigger did return error code. * Dolibarr v13 is still compatible with any PHP version between 5.6.0 and 7.4.*; Unit tests are OK with PHP 8.0 but some warnings or troubles may appears with PHP 8.0. * All your Ajax services must contains such a line at begin of file: if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Disables token renewal ***** ChangeLog for 12.0.5 compared to 12.0.4 ***** FIX: before crediting a withdrawal receipt, check whether it has been credited already FIX: mandatory extrafields of type sellist FIX: when a mandatory extrafield of type sellist contains '0' it should be considered empty and trigger an error message upon insertion FIX: when a new intervention is created from an object, a new $extrafields object is instantiated but not initialized FIX: "openall" filter on ticket list does not include read tickets FIX: ticket - extrafields of type 'date' are not saved FIX: ticket - the "openall" filter on the ticket list does not include tickets with status READ FIX: #14290 #15900 FIX: #15388 #15891 FIX: #15465 External user sees last 5 shipments to other customers in the dashboard FIX: #15629 FIX: #15751 Miscellaneous payment type change to 0 after updating subledger account FIX: #15946 FIX: #15966 #15967 FIX: Accountancy - Fix some problems on CEGID export FIX: Accountancy - label_operation is used instead of label_compte FIX: Accountancy - Retire entire opening balance feature FIX: add autofix of count of email target when data is corrupted FIX: add categories params on llxHeader filter FIX: Add critical price patch from 12 to 11. FIX: Bad cleaning of VAT rate when numbers are into code FIX: Bad dates filtering in the ticket list causes sql error FIX: balance starting and ending fiscal month #14197 FIX: bom line unit display #13831 FIX: cash fence for takepos with multientity FIX: Check of customer/vendor code fails in some cases FIX: create ticket : thirdparty/contact notification #15629 FIX: Creation of thirdparty when setup is empty FIX: Dates of sales start in TakePOS FIX: dupliacete customer or supplier code must be error dipslayed with new code proposed FIX: Export FEC - Force Carriage Return Line Feed FIX: Facture Situation Out : status condition FIX: Filter on date of next generation on template invoices FIX: Fix detect dispatched product and set to received completely when the supplier order have services (support STOCK_SUPPORTS_SERVICES) FIX: Invoice Situation Out : status condition FIX: issue 15659 : Missing test if supplier conf is enabled FIX: link to create event when task is in a project with a thirdparty FIX: Localtax must be converted with price2num FIX: manage price min for PRODUIT_CUSTOMER_PRICES FIX: missing GETPOST parameters on card_presend.tpl.php FIX: missing socid into link to create event from project agenda tab FIX: Must delete extrafields before main table on product deletion. FIX: (path) htdocs removed FIX: php alert sms.php FIX: right to show VAT rate in product list FIX: select default mail template FIX: Timeout during import FIX: update order by api FIX: useless tracking number displayed on pdf if empty issue #14501 FIX: Visible date of payment FIX: warning when adding a line if $remise_percent is an empty string FIX: When creating a new POS sell, the creation date must be modified. FIX: wrong name for search status param issue #15516 ***** ChangeLog for 12.0.4 compared to 12.0.3 ***** FIX: make formConfirm an addreplace-type hook FIX: regex to remove 'action' parameter: taking feedback from PR#15213 into account FIX: remove 'action' parameter from redirect URL when reordering lines on a document FIX: error when displaying lines on order after adding a line if both MAIN_MULTILANGS and MAIN_DISABLE_PDF_AUTOUPDATE are activated FIX: on survey creation, entity is always set to 1 ⇒ set it to $conf->entity FIX: set entity to $conf->entity (instead of 1 by default) when creating a survey; otherwise the survey cannot be listed from the entity it was created on unless it is the main entity FIX: the stringent XSS protection provided by 'alphanohtml' causes problems with some clients who used basic tags (bold, italic, underline) in product labels. Using 'restricthtml' instead could be a good compromise. FIX: third party of object is not always fetched when initiating the e-mail presend action (e.g. from an order) FIX: when the cronjob 'params' field is empty, the cron method is called with one empty string param instead of no params at all FIX: XSS protection too stringent -> replace 'alphanohtml' with 'restricthtml' FIX: #13067 including opening balance in calculation of displayed balance FIX: #14326 FIX: #14649 FIX: #14901 FIX: #14927 Change ContratLigne property type to product_type FIX: #14979 FIX: #15074 FIX: #15111 Fix special characters output in PDF FIX: #15161 MO translation conflict FIX: #15163 FIX: #15199 FIX: #15208 FIX: #15303 FIX: #15365 export of extrafields for user and resources FIX: #15374 : "New" doesn't clear total amounts FIX: #15501 FIX: #15572 FIX: #15590 FIX: #15618 FIX: supplier proposals as linked objects of events are not correctly fetched FIX: when users create an event from a supplier proposal, the "linked objects" section says "Deleted" FIX: Accountancy - Some adjustments on length of the account (general & auxiliary) FIX: admin conf selected FIX: also check if there is a method $object->fetch_thirdparty() before calling it FIX: autofocus on first setup FIX: Bad rights to send contract FIX: Better error message with IMAP when connection fails FIX: Can create user but not update user with activedirectory FIX: Can receipt of a product that required lot after disabling stock and FIX: Can't create shipment for virtual product. Add FIX: can't empty action comm desc FIX: CA report by product/service : subcategory filter FIX: Clean orphan records in llx_ecm_files into repair script. FIX: default accountancy values and posted values FIX: Deletion of expensereport + other generated object not complete. FIX: disabled users must not be available in sales representative list on societe edit mode FIX: Dol print error : conf usage thirdparty propagate extrafields to FIX: Don't display inactive users in birthday box and company card FIX: empty value is needed on filter list FIX: enable HTML in product labels depending on conf MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML FIX: error 500 on cash closure FIX: excess comma FIX: Export FEC - Remove line at zero FIX: extrafield required error after submit FIX: filter on project list FIX: force payment mode to withdraw FIX: formatting of prices with foreign languages FIX: handling $heightforinfotot when he's superior to a page height FIX: if no PDF default model in admin for expense report, do not create a PDF FIX: invoice payment terms edition: error management FIX: list of fields in list of recurring invoices was empty FIX: load default linked options for linked sellist extra fields FIX: Loan - Return on list when you cancel create form or delete a loan FIX: Missing lang trans FIX: no empty value in required extrafield FIX: Param joinfiles not sanitized FIX: Payment by BankTransfer FIX: pdf_getlinetotalwithtax must show total incl tax FIX: Problem on supplier payment card FIX: product auto volume calculation FIX: product customer prices: missing triggers in CRUD class FIX: Request on purchase orders in timeout even on very small databases FIX: set paid on total discount of a product in cash desk FIX: several warning with the barcode use in ODT templates FIX: SHIP MODE install v12 bug insert FIX: stripe for connect mode FIX: subcat filter FIX: supplier invoice: automatically calculate payment term when modifying payment condition FIX: SUPPLIER PROPOSAL v12 bug add FIX: table making extrafield input too small on advance target mailing FIX: table making extrafield too small advtagertmailing FIX: Unable to edit extrafields in expense report FIX: update margins rates on object line edit FIX: uses price2numjs FIX: various payments: bad data handling for subledger account + useless db commit/rollback FIX: virtual products: displayed value is by unit FIX: virtual products: supplier discount was not applied in component list FIX: warning for purchase order delivery late. FIX: Warning on late purchase order delivery FIX: WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING must not consider services while STOCK_SUPPORTS_SERVICES is empty FIX: wrong tab FIX: Yogosha report 4425 (backport) FIX: Yogosha report 4434 (backport) ***** ChangeLog for 12.0.3 compared to 12.0.2 ***** FIX: 10.0 - when the mime file name is different from the filesystem name, the attachment name should be the mime filename FIX: 11.0 - expenses lines overlapping the total amounts frame FIX: 12.0 - round value of virtual stock on product stock reassort list FIX: #14469 FIX: #14474 Error when deleting FIX: #14530 FIX: #14703 FIX: - Accountancy balance Error SQL on entity FIX: Bad number of subscription (forgotten when member was resiliated) FIX: bad route url to delete subproduct with API FIX: Category for supplements not saved FIX: Compatibility with modules without document generation FIX: Cron load lang FIX: CSS FIX: Error management. Do no try to approve PO if validation fails. FIX: expenses lines overlapping the frame for total amounts. FIX: Filter in "billed" of orders was not saved FIX: infinite fetch object linked loop FIX: Intervention lose html tags when updating FIX: JS CRASH - bad usage of moreparam FIX: lang fr retained warranty FIX: Look and feel v12: First tab must be name of object FIX: missing entity check FIX: missing param for hook FIX: Missing transaction on PO actions FIX: MySQL Strict mode FIX: param entity in html form file FIX: Problems on FEC format FIX: round stock value on product list FIX: - Send mail from contact : select mail model FIX: set sales representatives on create company card FIX: Setup of stock increase/decrease FIX: sign of amount with credit note and multicurrencies FIX: Static property called as non static FIX: task leftmenu FIX: title button attribute id empty FIX: unit price divided by quantity when accepting supplier price proposal FIX: Update extrafields on line only if it is supported FIX: Update line of BOM FIX: using decimal on stock correction FIX: Visualization rights correction on last modified contacts box FIX: Wrong redirection FIX: Yogosha report 4425 (backport) ***** ChangeLog for 12.0.2 compared to 12.0.1 ***** FIX: computation of the bottom margin of
returns NaN because body is not loaded yet FIX: DebugBar hides content at page bottom FIX: allow more harmless html tags FIX: Bad back to link FIX: Bad param FIX: Can go on page even when module is disabled FIX: Change position of line in BOM FIX: Checkbox "drop table" was not checked when using php method to generate backup dump FIX: ClickToDial tab of users has disappeared FIX: CSS FIX: date in supplier price log tooltip. FIX: Debug module direct debit order. Solve conflict with credit transfer FIX: Debug setup of receipt printer module FIX: dolGetElementUrl and agenda page for external modules FIX: DO not erase variable $key and $label during output of extrafields FIX: duration fields size with firefox FIX: Edit extrafield of type long text loose carriage returns FIX: Fails to retraive accounting code of social contribution sometimes FIX: Filter too large for extrafields with type text or html FIX: If using a rounding step, localtax1+2 not included in total FIX: input field of extrafields must keep data if form submit fails. FIX: Label of opportunities in graph with special chars badly encoded FIX: locataxes lost on lines when cloning a vendor invoice FIX: Look and feel v12 FIX: Missing PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE conf support in supplier order FIX: Navigation in object fails to find the next ref in some cases FIX: null required FIX: order by amount ht uses wrong column FIX: Order by amount in product propal stats must be done on d.total_ht and not p.total FIX: page for confirmation of payments is empty FIX: Param of fetch_name_optionals_label must be object->table_element FIX: Picto of HRM module FIX: product label and desc were never updated when modifying translation FIX: redirect on contact card from main search FIX: Reposition and nav FIX: search warehouse list FIX: Setup of clicktodial hang on smartphone FIX: Setup of currency limit and accuracy FIX: shipping creation: checks not done on weight and sizes FIX: Should not be able to edit qty on shipment when no stock available FIX: Size of image on the help popup of modules FIX: Sql error on stat by referring entries of a product FIX: Warning if no bank account defined FIX: We need to see unit line on PDF even though it's an option FIX: wrong element var for fetch_name_optionals_label function with expeditions FIX: wrong link to third invoice templates FIX: Disable svg as supported image by default (can contains javascript). Set MAIN_ALLOW_SVG_FILES_AS_IMAGES to 1 to have svg accepted FIX: #14076 FIX: #14146 FIX: #14209 FIX: #14222 FIX: #14236 FIX: #14241 Mysql 8 compatibility FIX: #14253 FIX: #14256 FIX: #14259 FIX: #14279 FIX: #14291 FIX: #14292 FIX: #14336 ***** ChangeLog for 12.0.1 compared to 12.0.0 ***** FIX: reposition was broken if url end with #anchor FIX: $_POST must be GETPOST FIX: 10.0 - fatal with postgreSQL FIX: #14109 FIX: #14112 FIX: #14142 FIX: all extrafields cleared after update of one of them FIX: Avoid warning when creating a module with already existing files FIX: change selected fields on company card FIX: Correct ModuleBuilder left menu FIX: create a deposit with amount using comma didn't work FIX: CSS FIX: Entry from stripe intent were reported into SEPA payments FIX: Filter on status, closing opening status FIX: html lost on html extrafield FIX: Label of popup on thirdparty FIX: missing possibility to change entity when propal cloning FIX: missing setup of extrafields for MO FIX: Missing the tooltip when creating bank account FIX: Missing token FIX: non numeric value on comm/card.php FIX: SQL Problem in customer invoice list FIX: SQL Problem in social contribution list FIX: SQL Problem in supplier invoice list FIX: SQL syntax error when editing extrafields FIX: SQL type FIX: TakePOS 12 hook FIX: Update form erased extrafields that were hidden FIX: Update of extrafields date FIX: Update of extrafiels on draft object FIX: upload documents into manual ECM was reported a permission error FIX: Use of office365 TLS with SMTPs method. FIX: wrong origin FIX: Permission error during import ***** ChangeLog for 12.0.0 compared to 11.0.0 ***** For users: NEW: Module MO (Manufacturing Order) is available as stable module. NEW: Receipt printer module moved from 'development' to 'experimental' NEW: add option MAIN_VIEW_LINE_NUMBER_IN_LIST for some lists NEW: add numbering module for TakePOS module NEW: 2 new options when creating an invoice from time spent on a project : by period or by task NEW: Accountancy add column thirdparty on binding page NEW: Accountancy - Add Export for Fiducial Winfic eWinfic WinSis Compta NEW: Accountancy - Add Export LD compta version 10 NEW: Accountancy - Add mode intra & export for product or service bought NEW: Accountancy - Add possibility to manage a short alternative label for account - Use to simplify accountancy NEW: Accountancy - General ledger - Add an option to search not reconciled lines NEW: Add accountancy code of thirdparty in contact and supplier export NEW: support webp image format NEW: add checkbox "overwrite if exists" into ECM/DMS module NEW: add a link to notes in members list NEW: add a parameter to group same products in TakePOS NEW: add a parameter to sort product by label in TakePOS NEW: add a profil to import contact categories NEW: add company extrafields into order export NEW: add const CASHDESK_FORCE_DECREASE_STOCK to force batch decrementation NEW: add const TAKEPOS_NUMPAD_USE_PAYMENT_ICON to use icons on payment buttons NEW: add csv separator setup in module admin NEW: add dedicated substitutions keys for extrafields of type date and datetime NEW: add default warehouse for dispatch NEW: add due date in feature "Export accounting documents" NEW: add duration information for fichinter NEW: Start support of Dark theme into ELDY theme NEW: Add field author public alias for blog post on website module NEW: Add "finished" field on product list NEW: Add French association chart of accounts 2018 NEW: Add French farm chart of accounts 2014 NEW: Add French foundation chart of accounts 2018 NEW: add global reduction in cash desk NEW: Add graph type 'piesemicircle' NEW: Add hook getInputIdProf. Better solution for #13228 NEW: Add hook on margin list page NEW: add icon on payment buttons in cash desk NEW: Add include various payments and loans in accounting report with simplfified accountancy NEW: Add invoice stat graph and categ search NEW: Addition of delivery times in substitution variables NEW: add member to validate on dashboard NEW: Add method to add social network sharing buttons on blog posts NEW: add multicurrency columns to document lists NEW: add numbering module for cash desk NEW: add Opening Balance column to balance.php NEW: add opportunity status in project stats NEW: Add option PDF_USE_ALSO_LANGUAGE_CODE to generate PDF in 2 languages NEW: Add option to hide all inactive users into combo list of users. NEW: add PDF certificate if present on document folder NEW: add product if only one found NEW: Add product on key "Enter" in search bar NEW: add professional ID 1 in sepamandate document NEW: Add Project Ref Column on list of social/fiscal contributions NEW: add Project Ref in events export NEW: add public and private notes in propal list NEW: Add social networks of the company NEW: Add sorting for contacts of ... pages NEW: Add substitution variables for url of document in backoffice NEW: Add tel and fax in warehouse card NEW: add total of value in product stat NEW: add total weighted amount in project list NEW: add units in product list NEW: add VAT ID in sepamandate document NEW: add VAT rates in free zone for product/service in TakePOS NEW: add weighted amount on project/opportunity NEW: add width and height measures in product list NEW: add WYSiWYG on member type's description NEW: [Allow constants values to be overridden by environment variables] NEW: Allow custom module class origine type in Mouvementstock NEW: allow display extrafields on pdf NEW: Allow extrafields on pdf : extend to line desc NEW: allow time consumed to be linked to another task NEW: Another way to navigate between pages for some lists NEW: Add author column in the client/supplier invoice lists and into order list NEW: bank account tags for invoice ODT template NEW: Bar Restaurant tab and Auto order NEW: better filter on shipment list as other list NEW: Better php module view admin NEW: Bookkeeping - Add link to document & pdf NEW: Bookmarks are now in top menu bar NEW: Can check all events in one click in setup of audited events NEW: Can create an deposit from order using a percentage of qty. NEW: Can edit option PDF_USE_ALSO_LANGUAGE_CODE from PDF setup page NEW: Can enter and edit stripe credit card using the Stripe card ID NEW: Can filter on donation status in list NEW: Can replace a string into all pages in website module NEW: Can select several fields to personalize list before submit. NEW: Can select which element to export in export accounting documents. NEW: can update contact in import model NEW: Cash Fence in TakePOS NEW: Categories and subcategories sorted by label in TakePOS NEW: Categories for actioncomm NEW: Category filter for bank and warehouse list NEW: Chart of accounts to Ecuador NEW: class tool for converting units NEW: Close #13011 Add button create thirdparty when creating intervention NEW: Colorful theme for TakePOS NEW: columns units in product list NEW: compatibility of translabel with more dictionaries NEW: Confirm file delete on invoice card NEW: "contact_civility" for ODT templates NEW: CUPS printing compatibility for TakePOS NEW: Customer command list - Add date start & date end NEW: display weight in shipment list NEW: Documentation about PHP support in Dolibarr NEW: Donation - Update FR CERFA to 11580*04 NEW: Easier way to setup the different types of tax. Better visibility. NEW: Expedition list - Add date start & date end NEW: Experiment supplier packaging with option PRODUCT_USE_SUPPLIER_PACKAGING: Using price according to the minimum quantity NEW: Export module, add extrafields for Contract and Contract line NEW: Extend retained warranty to be available for all invoices NEW: French new regions NEW: hook and data id NEW: hook on ics generation to add more events in eventarray NEW: hook on product load stats NEW: If $dolibarr_main_force_https is set, the flag 'secure' on session NEW: ignore dir for apple pay with stripe NEW: Invoice list - Add date start & date end NEW: invoice list: enable multicurrency columns NEW: labels on reduction buttons in cash desk NEW: Minimum sell prices taking into account in TakePOS NEW: monthly view to enter time NEW: Multiple sales in TakePOS NEW: multiselect categorie client stats facturation NEW: no confirm discard ticket if paid NEW: not show linked table on add message action NEW: only auto print paid ticket in cash desk NEW: only show units columns in product list (not in service list) NEW: order list: enable multicurrency columns NEW: Overwrite tpl with module_part['tpl'] is deprecated. USe hooks NEW: possibility to defined rounding rules by currency NEW: possibility to show society info when print page NEW: Povide a RSS Feed for blogposts NEW: PRODUCT_SHOW_ORIGIN_IN_COMBO NEW: Project task list, add column selector and extrafields NEW: Propal list - Add date start & date end NEW: propal list: enable multicurrency columns NEW: RECEIPT_PRINTER_NB_CHARACT_BY_LINE and FIX: product label NEW: Restore version of application on main screen (for screenshots) NEW: Salaries list - Add date start & date end NEW: search on key code "enter" if defined in TakePOS NEW: set payment method on paid ticket in TakePOS NEW: Show active widget state of a RSS feed NEW: Show count of each category elements in category card NEW: Show creator, last update user of category/tag in the information tab NEW: Show list of users in the user category card NEW: show messages on ticket card NEW: show "New category" button in top of sub categories list NEW: show project label in project index NEW: Show units of products in stocks and hide total units if content is of diffents units NEW: sorting elements on project overview NEW: special option MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION to store in document line created form other documents lines the id of original lines and origin class line rather than origin object id and origin object type NEW: stats invoice graph with 3 bars (3 years instead of 2) NEW: supplier invoice list: enable multicurrency columns NEW: supplier order list: enable multicurrency columns NEW: supplier proposal list: enable multicurrency columns NEW: Support of tag {line_pos} for line numbers for tables in ODT templates NEW: Support some HTML contents into ODT documents NEW: Parameters for Bar Restaurant are grouped in same tab NEW: Takepos : Sort products by reference NEW: Takepos supplements are supported. NEW: The info_admin() can show text after click on other text NEW: The module selection uses a KanBan view by default. NEW: tooltip for Unit_type and scale in "Dictionary setup - Measuring Units" NEW: tooltip notes with first public note and then private note NEW: Tree view for sub-categories NEW: Truncate columns names when too long and show full title as popup NEW: upload odt models for invoices, order, proposal, thirdparties and shipments. NEW: Use native --convert-to feature to convert to pdf NEW: Add user on order list NEW: Various payment list - Add search date start & date end & subledger account NEW: visu FROM day TO day in permonth view NEW: Website logs are now into a separated log file. NEW: X-Axis on graph are shown vertically when there is a lot of values. NEW: Can force ref of a variant product For developers or integrators: NEW: Add a method $form->widgetForTranslation to allow any field of a form to be entered into different languages. NEW: Add API to get types of expense reports NEW: API filter bankaccounts by category NEW: API filter contacts by category NEW: API filter members by category NEW: API filter projects by category NEW: API filter thirdparty by category NEW: API filter user by category NEW: API filter warehouses by categorie NEW: api for get user's documents NEW: api invoice get by ref NEW: API to update purchase price. NEW: Move engine to build charts from jflot to chart.js NEW: Upgrade ace to 1.4.8 - Upgrade select2 to 4.0.13 NEW: Upgrade Stripe library to 6.43.1 NEW: Bookkeeping by account - Add selectfields & hook NEW: Can force position of legend of graph on right (instead of top) NEW: Can change destination of "Back to list" using a "backtolist" parameter NEW: add more category types from hook NEW: enable put for agendaevents api NEW: filter by product on supplier order API NEW: get documents for categories with RESP API NEW: get proposal by ref with API NEW: Hidden option MAIN_TEMP_DIR WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * PHP 5.5 is no more supported. Minimum PHP is now 5.6+. * Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests with HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing the HTML code of content (in such a case, sanitize data later) * Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless. * Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced by a "_" automatically when a reference (with a custom numbering mask that use it) is generated. * Library jflot (replace with chartjs) was removed. * Library geoip (replaced with geoip2) was removed. * Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL was renamed into ORDER_VALID_AFTER_CLOSE_PROPAL. * Object field ref_int is deprecated and set to 'not used', method to fetch object by only ref_int is not supported anymore. * UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE * A new way to navigate between pages in list is available. To use it (not mandatory), you must: - replace line $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); - remove input field in form '';' - add parameter $pagenavastextinput to value 1 when calling print_barre_liste() WARNING FOR DOLIWAMP USERS ONLY: Only people that installed Dolibarr using the all-in-one auto-installer for Windows called "DoliWAMP" are concerned by the following warnings: * DoliWAMP auto-installer for Windows is no more available on 32 bits systems. Use standard package if you need to use such architecture. * It is not possible to migrate from an installation done with the old DoliWAMP auto-installer for Windows by using this new one. You must make a backup of your database, make a fresh installation using the new installer and reload your backup. Don't forget that DoliWAMP is a good solution to make a quick test of Dolibarr on your local computer but is not recommended as a production solution on a local desktop since a local desktop computer has often no backup and security policy, or not as good as on a server (when there is one). DoliWAMP remains a solution for fast test or demo purposes. Prefer using standard packages for production. ***** ChangeLog for 11.0.5 compared to 11.0.4 ***** FIX: $arraydefaultmessage is an object, as well as in /htdocs/core/class/html.formmail.class.php FIX: 10.0 - pagination in prelevement/bons.php FIX: 10.0 - undefined $langs if template file copy fails during activation of modContrat FIX: 11.0 - fatal with postgres on contact/agenda.php FIX: 11.0 - multicurrency amount not fetched when fetching payments from llx_paiement or llx_paiementfourn FIX: 11.0 - when using pdftk as per hidden conf USE_PDFTK_FOR_PDF_CONCAT, check that the file exists before displaying a success message FIX: #13841 FIX: #13877 - Can validate invoice if there is a credit note with VAT 0% on an invoice with other lines with a VAT non 0% FIX: #13968 FIX: #14001 FIX: #14002 FIX: 9.0 - delete unused mandatory argument from migrate_clean_association: argument count mismatch causes a fatal error since php7 FIX: 9.0 - fatal during migration from 3.1 using PHP 7 FIX: Accountancy - Binding index - Add a filter on sql request for module Subtotal & Jalon FIX: avoid error "Call to undefined function measuringUnitString()" FIX: BlindBoolean SQL injection reported by Christian Weiler FIX: Can create a credit note on situation invoice if previous is also FIX: can install module even if (x) was appended during download. FIX: copy value date of VariousPayment onto the new AccountLine FIX: count of open day when date and start are not open should be 0 FIX: Default bank account was not loaded for document generation. FIX: Do not show stats panel if the user does not have permissions FIX: Fix link of the button to create a credit note and fix the awareness of a error that happen when wo create a credit note FIX: force rounding 2 on export ld compta FIX: free text on cash desk FIX: links into emails of notifications FIX: missing file manifest.json.php FIX: missing GetNomURL Hook in warehouse class FIX: missing hook init + table class + $page not set FIX: missing rollbacks on trigger bad return FIX: missing translation value for key "NoMorePredefinedProductToDispatch" FIX: percent must be displayed on one line FIX: php error if multicompany disabled FIX: Privilege escalation reported by wizlynx WLX-2020-011 FIX: replace filter parameter "none" by "restricthtml" FIX: Rounding Total TVA in "crabe" model pdf FIX: Show ref_customer, amount on contract link object FIX: Site ec.europa.eu has moved to https:// FIX: Tickets mail models doesn't work FIX: vulnerability reported by wizlynx WLX-2020-012 FIX: We must only rename current bank receipt FIX: when creating a VariousPayment, the value date is not copied onto the AccountLine that gets created at the same time, so the bank transaction's value date will be the payment date instead of the payment's value date FIX: wrong url param FIX: XSS using the renaming of .noexe files - reported by Nolan. ***** ChangeLog for 11.0.4 compared to 11.0.3 ***** FIX: #13749 FIX: #7594 Expense report multi pagebreak FIX: Access to undeclared static property: Contact::$table_element FIX: actions on supplier proposal not saved (bad trigger name) FIX: Add function "completeTabsHead" to "addreplace" type hook. FIX: All forms must use newToken() FIX: Another "Access to undeclared static property: Contact::$table_element" && "Societe::$table_element" FIX: author search supplier proposal list FIX: A variable was erased by a temporary variable FIX: Avoid infinite loop when a fetch is inside a compute field. FIX: Backto link FIX: Bad position of total in column FIX: bad value in currency into discount created from down payment FIX: buyprice extrafield langfile and tooltip FIX: Buyprice was updated only if min price for this qty had same qty FIX: Can switch from double to price type for extrafields FIX: Can use decimal value in virtual products FIX: child categories only with good entity rights FIX: cloning of emailing when no content selected FIX: closing tags FIX: Combo list of available users to filter on the list of leaves. FIX: Compatibility with multicompany, bad numerotation of task. FIX: consistency of price w/wo vat wrong when price entered with tax FIX: default value of selectMasssAction broken FIX: draftordered replenish virtual stock FIX: Error update SQL into stock reception FIX: expensereport status in generated pdf FIX: extra date field incorrect check FIX: Extrafields of type price must be '' and not '0' if not defined FIX: Foreign currency lost when splitting a discount FIX: get remain to pay with rounding decimals FIX: gzip and bzip2 must use option -f FIX: IHM, unexpected quote FIX: keep viewstatut for doli 3.5 FIX: Link missing into email of some notification FIX: Look and feel v11 FIX: md stylesheet to be included by external modules like eldy FIX: missing array option FIX: missing default accountancy product buy code FIX: missing fk_bank during export of suppliers invoices FIX: missing member entity FIX: missing selectedlines on supplier order but checkbox are displayed FIX: Missing token and take into account max date when it can. FIX: model export list must be sorted by label FIX: multicurrency manage on hidden conf SUPPLIER_PROPOSAL_UPDATE_PRICE_ON_SUPPlIER_PROPOSAL FIX: Must escape shell FIX: Must exclude logs and some dirs for compressed backup FIX: ordered stock already in $stock FIX: picture migration script from doli 9.0 FIX: print pictures on shipment docs FIX: product get purchase prices FIX: product purchase prices FIX: Protection when database has a corrupted product id FIX: remove unused var, $usercancreate can be change by Multicompany FIX: replenish stock to buy FIX: Sanitizing menu parameter FIX: Send email from bulk action of list of thirdparties FIX: setup of suggested payment mode on proposals and orders FIX: Several pb in export of documents FIX: Situation invoice take into account the credit notes. FIX: some others modules (like subtotal) use other product_type than 0 or 1 AND must not be considered in this report FIX: sort by default role makes no sense FIX: sort on company on member list FIX: TakePOS buying price FIX: text version of html emailing (removed the body style) FIX: The "test smtp connectivity" failed on page to setup mass emailing FIX: Error logs an Orderline::delete error, but this is an Orderline::insert error FIX: Translation of tooltips of extrafields FIX: Use getNomURL instead of hard coded link. Fix limit. FIX: Use of image into free text for PDF if DOL_DATA_DIR is outside of FIX: viewstatut to search status FIX: we must export company mail address on contact vcard only if contact email address is empty FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create FIX: Wrong Sql on getListOfTowns api method FIX: wrong user right's name to top menu "commercial" FIX: XSS Vulnerability reported by Mehmet Kelepçe / Gais Cyber Security ***** ChangeLog for 11.0.3 compared to 11.0.2 ***** FIX: unit price for selected supplier products not set. NaN was used. FIX: use bad var to check if total is positive for each VAT rate when validating an invoice FIX: status missing from last customer invoices box when using MAIN_STATUS_USES_CSS FIX: translations for "orders" not loaded in the homepage box FIX: #13194 FIX: #13274 cannot add or update 0 value for an int or double extrafield FIX: #13285 SQL error during migration with pgsql FIX: #13294 FIX: #13313 FIX: Clone Fourn Command, add line's extrafields FIX: cols parameter not propagated to tpl FIX: CSRF error when creating an intervention FIX: date order was -1D and desc with label repetition FIX: empty of series in graph of product distribution FIX: fk_type subscription list via api REST FIX: link when using anchor on "/" in website module FIX: menu export document was not visible when using "simple accounting" FIX: missing class declaration FIX: missing global $conf FIX: Missing token in some forms (avoid unset POST errors) FIX: params of setEventMessage($langs->trans('ErrorProductClone')... FIX: Remove unexisting link FIX: mass action on stock movements FIX: substitute lines dates values on doc generator (ODT, ...) FIX: Ticket - Load Cache Messages Ticket, wrong message's status FIX: Ticket Public - Private messages are displayed FIX: wrong include - replace extrafields_create.tpl.php to extrafields_add.tpl.php ***** ChangeLog for 11.0.2 compared to 11.0.1 ***** FIX: #10309 FIX: #13110 FIX: #13118 FIX: #13124 FIX: #13131 FIX: #13135 FIX: #13146 FIX: #13198 FIX: #13175 FIX: #13182 FIX: #13183 FIX: #13184 FIX: #13263 FIX: #13267 FIX: an external user can not approve FIX: API Get list of documents for supplier_invoice FIX: API to push an expense report FIX: API upload/download doc for expensereport FIX: Avoid to download the export if we just press enter to refresh form FIX: Bad link to template invoices FIX: Bad sort link in accounting report FIX: Bad translation for productlot EatBy and SellBy FIX: better method to check user rights AND usergroup rights ! FIX: CA by product list filter FIX: CSS FIX: Disable js if no javascript FIX: duplicate class name into some log lines FIX: etrafield with visibility=5 were not in read only. FIX: excess paid from situation invoices not counted when calculating remain to pay. FIX: Force FEC export to txt format. FIX: Free input for email no more visible. FIX: Keep assigned users in session when loading projects and tasks FIX: List of viewed projects too large in task widget. FIX: Menu truncated. Add tooltip to have all content. FIX: Missing field "billed" in export. FIX: missing "statut" for getNomUrl() function FIX: modFournisseur is required by modSupplierProposal FIX: Multicompany compatibility FIX: must be == and not = FIX: option for topbar search and bookmarks FIX: option MAIN_OPTIMIZEFORTEXTBROWSER FIX: some responsive troubles FIX: round MT in accountancy books FIX: search with '0' FIX: sort link FIX: SQL Overload in default contact trigger. FIX: SQl syntax error. FIX: Submit of documents for supplier invoices. FIX: timezone must be tzserver and not tzuser as on contract card FIX: token in barcode tools page missing FIX: Bad name of trigger PROPAL_SUPPLIER_TRIGGER, should be PROPOSAL_SUPPLIER_TRIGGER FIX: Type of contact for event does not exists and not supported FIX: Type of contact not saved when creating a contact FIX: typo on check method FIX: undefined function measuringUnitString in product list FIX: Usage of project not available in export. FIX: wrong test FIX: z-index for moretabsList with constant MAIN_MAXTABS_IN_CARD FIX: Use GETPOST instead of POST FIX: HTML Injection FIX: Visualization rights correction on last modified contacts box. FIX: Vulnerability in module from modulebuilder. FIX: Vulnerability reported by code16 ***** ChangeLog for 11.0.1 compared to 11.0.0 ***** FIX: advanced target emailing sql and ergonomy. FIX: After import of a website template, home page was not set. FIX: Avoid deletion of bank record if in accounting FIX: compatibility with multicompany (avoid duplicate data) FIX: Confusion between 'bank reconciled' and 'accounted'. Show both data. FIX: Count of Stripe payment mode must take test/live into account FIX: Creation of Stripe card from backoffice must return a clean message FIX: CVE-2019–17223 FIX: CVE-2019–17223 FIX: CVE-2020-7994 FIX: CVE Need permission to be able to develop modules FIX: #13053 FIX: Disable ticket status change if ticket closed FIX: doc of dictionary API FIX: expedition create line new parameter is not required. FIX: export ledger FIX: FEC export have specific name FIX: Filenames must not contains non ascii char or we will get non ascii FIX: Filter on list of events were lost after "Back to list" FIX: hasDelay for retained warranty FIX: If we can change vendor status, we must be able to change vendor code FIX: links in products/services index FIX: Log of authentication ok or ko + CVE-2020-7996 FIX: Look and feel v11 FIX: Mail smtps truncated if content has a line with single . FIX: missing hook parameter FIX: Missing include FIX: need weight short label in shipping doc FIX: Picture of contact not visible in tooltip FIX: Problem with column label in subscription list FIX: ref_client not visible in tooltip. FIX: search filter on extrafields were not restored after "Back to list" FIX: situation invoice: allow excess paid to be converted to discount FIX: situation invoice: bad amount for previous payments because of local variable overwriting a more global one FIX: situation invoice: can't convert excess received to discount & bad previous payment amount FIX: SQL request and phpunit FIX: Update export_files.php FIX: Use ref into label of ticket message FIX: use "usergroup" instead of "user" FIX: Warning on admin/export_files FIX: #10203 FIX: default filtering for 'select' extrafields should use "=", not "LIKE" FIX: #11975 When a product is split between multiple pages in a document, prices/quantity/etc appear on the last relevant page FIX: #12760 #12763 #12755 #12765 #12751 FIX: #12874 FIX: #12892 FIX: #12908 User login with credentials from self-subscription form fails FIX: #12932 FIX: #12966 FIX: #12973 FIX: #12974 FIX: #12975 FIX: #12978 FIX: #12986 FIX: #12991 FIX: #12992 FIX: #12995 FIX: #13018 Extrafields Supplier invoice FIX: #13019 FIX: #13022 FIX: #13028 FIX: #13038 ExpenseReport PDF - custom category description is not correct FIX: #13046 More complete FIX: #13048 FIX: #13050 FIX: #13077 Replace left join with inner join (left join was useless) FIX: #13085 FIX: #13094 FIX: #13096 FIX: #13100 ***** ChangeLog for 11.0.0 compared to 10.0.0 ***** For Users: NEW: Module BOM is now stable. NEW: Module MO (Manufacturing Order) is available with experimental status. NEW: Can set the Address/Contact by default on third parties. NEW: Add a dictionary to edit list of Social networks. NEW: A nicer dashboard for open elements on Home page. NEW: Add task widget and add task progress bar NEW: Support of deployment of metapackages NEW: Menu "Export accounting document" to generate a zip with all documents requested by a bookkeeper is now stable. NEW: Add button "Save and Stay" in website editor of pages. NEW: Accountancy - Can add specific widget in this accountancy area. NEW: Accountancy - Add export model LDCompta V9 & higher NEW: Accountancy - Add permission on export, delete operations in ledger NEW: Can defined alternative profiles (email and signatures) for users. NEW: add ability to edit price without tax before adding a line of a predefined product. NEW: Add a tab to setup "Opening hours" of company (information only). NEW: Add attendee to ical export + cleanup. NEW: Add bank data of users into the expense report exports. NEW: add clone customers prices in clone product or service. NEW: Add column of module source and POS terminal in the invoice list. NEW: Add column last modification date into the table of targets for emailing. NEW: Add column VAT rate in product list NEW: add constant DISPATCH_FORCE_QTY_INPUT NEW: Add constant MAIN_DISABLE_GLOBAL_WORKBOARD to disable workboard in home page NEW: add country code in import product model NEW: Add 'Direct Cash Payment' button in TakePOS NEW: Add odt support to supplier orders NEW: Add feature to search a string into website containers NEW: Add GET and POST /supplierinvoices/payments REST API endpoints. NEW: Show progress bar for declared progression of tasks. NEW: Add last change date in page "Other setup". Can sort page on name/date. NEW: Add link to export targets of an emailings into a CSV file. NEW: Add link to the public interface on the ticket card. NEW: Add location into event tooltip. Use full day for fullday events NEW: add MAIN_LANGUAGES_ALLOWED constant to limit languages displayed. NEW: add MAIN_SHOW_COMPANY_NAME_IN_BANNER_ADDRESS constant. NEW: add mass actions in shipment list. NEW: add minimum stock filter in load warehoues for product form. NEW: add name_alias in fields used for quick search. NEW: add new rule fetchidfromcodeandlabel for categories import. NEW: add office phone for salespresentatives NEW: add office phone & job on user tooltips NEW: Add option MAIN_PDF_FORCE_FONT_SIZE NEW: Add option MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS NEW: Add option WORKFLOW_CAN_CREATE_PURCHASE_ORDER_FROM_PROPOSAL NEW: Add pagination on list of object of a category NEW: add parent category id or label in import category module NEW: add parent id or ref column in warehouse import NEW: Add search into template NEW: Add shipment widget NEW: Add statistics on product into contracts NEW: Add status of warehouse in the tooltip of a warehouse. NEW: add supplier's product list NEW: add units fields in buying price tab of product card NEW: Add units in select products lines NEW: Add upload document on account statement NEW: Add widgets for BOMs and MOs. NEW: Amount invoiced column in proposal list NEW: Ask the new label and new dates in confirm popup when cloning tax NEW: auto set closing date and user on invoice NEW: Avoid wrap between picto and text on getNomUrl NEW: Balance Stripe connect account for supplier NEW: Bank Add an option for colorize background color of debit or credit movement NEW: Beautify the select box of warehouses NEW: Add birthday widget for members NEW: Widgets uses fiscal year. NEW: Can change supplier when cloning a Purchase Order. NEW: can choose lines to keep while creating order from origin NEW: Can crop/resize image attached on a bank record NEW: Can edit date or RUM mandate. NEW: Can edit link to the translation page in website module NEW: Can edit the price of predefined product during adding in documents NEW: Can enter price tax incl on vendor proposal and purchase orders NEW: Can filter on description on bank account transaction lists. NEW: Can filter on label on invoice in accounting vendor binding pages NEW: Can load multilang translation in same step than fetch_lines NEW: Can restrict access using DAV module to some host IPs only NEW: Can restrict API usage to some IP only NEW: Can select website templates from available default templates with a preview. NEW: Can set a squarred icon on your company setup NEW: can specify hour start end for selectDate and step for minutes NEW: Categories/Tags are also available on warehouses NEW: Check if a resource is in use in an event NEW: Compute column value from others columns in import module NEW: Copy linked categories on product clone process. NEW: Default mode for Stripe is STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION NEW: Digitaria model for numbering accountancy thirdparty NEW: Display membership in takepos if member linked to the thirdparty NEW: Display supplier in objectline if defined NEW: Add default duration of subscriptions on members type NEW: Email template for Takepos (to send invoice) NEW: Expense request and holiday validator fields NEW: Export ledger table in Charlemagne format NEW: Extend option ORDER_ADD_ORDERS_WITH_PARENT_PROD_IF_INCDEC for all virtual product stats (renamed into PRODUCT_STATS_WITH_PARENT_PROD_IF_INCDEC) NEW: Value "None" to unbind an invoice line and its accounting account is more visible NEW: FCKeditor setup for tickets NEW: The default theme of TakePOS work better on smartphones. NEW: GeoIP v2 support is natively provided -> So IPv6 is supported NEW: List by closing date on order list and proposal list NEW: Look and feel v11: Some setup pages are by default directly in edit mode. NEW: Management of retained warranty on situation invoices NEW: Mass email action on invoice list use billing contact if exists NEW: more living colors for charts and option for "color bind" people NEW: Supports multiple payments in a TakePOS sale NEW: multiselect with checkbox in categories/tags search for product list NEW: Option to allow to create members from third-party NEW: Platform compliance with Stripe Connect NEW: print / send email form in TakePOS NEW: Public holidays are now in a dictionary table (no more hard coded per country) NEW: Better performance by reducing the $companystatic calls on some pages. NEW: Replace the "info" tab on contract with the more complete "agenda" tab. NEW: Save user of last modification in donation record. NEW: Show html combo list instead input text for extrafields typed as list. NEW: Show POS application and the terminal used on invoice card. NEW: Add categories/tags for stocks. NEW: Support Net Measure in product's card.php NEW: Extrafields separator can be collapsed or not NEW: Extrafields support on Leave requests. NEW: Extrafields support on Salaries. NEW: Extrafields support in Product supplier prices. NEW: Add extrafields for warehouses NEW: Add extrafields in export of expense report (and holiday) NEW: The integrity checker now show also the expected size of files. NEW: The order method in purchase order is now mandatory when recording an order. NEW: update / delete stripe account for supplier NEW: Use the gender of member for picto in member lists. NEW: Use the squarre logo as favicon of pages NEW: VAT list - Add date start & date end in filters NEW: widget box for supplier orders awaiting reception NEW: Update translations NEW: #4301 For Developers or integrators: NEW: Compatible with PHP 7.4 NEW: Code for extrafields uses the new array $extrafields->attributes NEW: Can set a filter on object linked in modulebuilder. NEW: Can defined a position of numbering submodules for thirdparties NEW: Add option multiselect for developers on the selector of language. NEW: Add a manifest.json.php file for web app. NEW: Support of deployment of metapackages NEW: Removed deprecated code that create linked object from ->origin NEW: experimental zapier for dolibarr NEW: Accountancy - Add hook bookkeepinglist on general ledger NEW: Can update product type with the update method. NEW: add API shipment mode dictionary NEW: Add API to get Country by code and iso NEW: Add API to get objects by ref, ref_ext, ... NEW: Add anonymous telemetry NEW: Add a category to a contact in API NEW: Add fk projet on stock movement NEW: Add hidden option to set fields for the quick search on products. NEW: add hook on commongeneratedocument NEW: Add hook on fileupload.class.php to enable modules to override… NEW: Add hooks on index pages NEW: adding 'formObjectOptions' hooks loading at card.php of adherents module NEW: Add method getStructuredData for website NEW: Add payments GET and POST REST API endpoints for supplierinvoices. NEW: Add POST /bankaccounts/transfer REST API endpoint. NEW: add "printBucktrackInfo" hook, an external module can add info NEW: Add trigger DIRECT_DEBIT_ORDER_CREATE on widthdraw is missing NEW: API to post documents for "product" and Delete document NEW: add new function "setEntity()" and better compatibility with Multicompany NEW: Can add a button "Create" after combo of object with modulebuilder. NEW: contacts type dictionary in api_setup.class.php NEW: Look and feel v11: Introduce CSS "trforbreak" NEW: list of measuring units API NEW: get social networks dictionary by API NEW: Get thirdparty's salesrepresentatives by API NEW: get user connected information in REST API NEW: mode for list thirdparty API (add easy filter for supplier only) NEW: purchase_prices API NEW: Provides more complete demo data NEW: Module builder can generate CSS of JS file. NEW: Use a dedicated css for the pencil to edit a field. NEW: multilangs in fetch_lines NEW: Add more complete info for triggers actioncom NEW: add multicurrency rate at currency list API NEW: Add 2 hidden options to set the default sorting (sort and order) on document page. NEW: Add hidden option to update supplier buying price during receptions. NEW: Add hidden option PROPOSAL_SHOW_INVOICED_AMOUNT (not reliable if one invoice is done on several order or several proposal) NEW: Add hidden option SUPPLIER_ORDER_CAN_UPDATE_BUYINGPRICE_DURING_RECEIPT for add possibility to update supplier buying price in the reception on a supplier order NEW: Add hidden option THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER to copy extrafields from third party to order. NEW: Add hidden options to send by email even for object with draft status. NEW: Update jquery library to 3.4.1 NEW: Upgrade ACE editor to v1.4.6 WARNING: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: * Properties ->libelle_incoterms were renamed into ->label_incoterms * Removed the method liste_array() of project class. It was not used by core code. * The function show_theme() hase been renamed into showSkins() * Rename 'module_part' parameter into 'modulepart' into document APIs, for consistency. * The deprecated method get_OutstandingBill has been removed. You can use getOutstandingBills() instead. * The hook "moreFamily" must return payment into var "totalpayment" and no more "paiement" (english replace french). * Removed deprecated method actioncomm->add(), use create() instead * If you have developed your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...) * Removed function dol_micro_time. Use native PHP microtime instead. * The trigger BON_PRELEVEMENT_CREATE has been renamed into DIRECT_DEBIT_ORDER_CREATE. * The constant INVOICE_SHOW_POS_IN_EXPORT has been renamed into INVOICE_SHOW_POS. * If your logo is no more visible on the menu bar, you must upload a new logo into 'Home-Setup-Company/Organization' to have it visible again. * All properties 'libstatut', 'labelstatut', 'labelstatus' were renamed into 'labelStatus'. * All properties 'labelstatusshort' and 'labelstatut_short' were renamed into 'labelStatusShort'. * All properties 'type_libelle' were renamed into 'type_label'. * Renamed property of thirdparty "statut_commercial" into "status_prospect_label" * The jquery plugin/dependency multiselect has been removed. It was not used by Dolibarr core. ***** ChangeLog for 10.0.7 compared to 10.0.6 ***** FIX: 10.0 - missing translations for "orders" homepage "orders" box FIX: 10.0 - status missing from last customer invoices box when using MAIN_STATUS_USES_CSS FIX: 10.0 - translations for "orders" not loaded in the homepage box FIX: #10309 FIX: #12875 FIX: #12932 FIX: #12966 FIX: #12973 FIX: #13304 FIX: advanced target emailing sql and ergonomy FIX: an external user can not approved FIX: Bad translation for productlot EatBy and SellBy FIX: better check FIX: better method to check user rights AND usergroup rights ! FIX: CA by prod list filter FIX: can be a string or integer FIX: Check on unicity on prof id was not triggered sometimes FIX: clone of purchase order FIX: compatibility with multicompany (avoid duplicate data) FIX: complex export model loading FIX: date filter not used if no operator FIX: date order was -1D and desc with label repetition FIX: default lang selection when filter FIX: dom and missing param FIX: drafts are now implemented for stats FIX: Error in log for email sending with smtps was not complete FIX: Extrafield position in export field list must respect "pos" field FIX: FEC export format FIX: FEC export have specific name FIX: fetching account on current entity FIX: Filenames must not contains non ascii char or we will get non ascii FIX: fk_type subscription list via api REST FIX: Force FEC export to txt format FIX: get remain to pay with rounding decimals FIX: Invert isSellerInEEC and isBuyerInEEC FIX: keep assigned users in session when loading projects and tasks FIX: length, width and height units coherence in product table FIX: links in products/services index FIX: Mail smtps truncated if content has a line with single . FIX: missing array option FIX: missing global $conf FIX: missing hook parameter FIX: Missing Linked objects Fichinter Ref. in PDF formats FIX: missing "statut" for getNomUrl() function FIX: multicompany for discount FIX: must be == and not = FIX: Problem with column label in subscription list FIX: regex for include or exclude categories in full arbo FIX: Remove unexisting link FIX: remove unused var, $usercancreate can be change by Multicompany FIX: require category class in extrafield FIX: round MT in accountancy books FIX: search with '0' FIX: send expense report mail in HTML format FIX: SQL request and phpunit FIX: substitute lines dates values on doc generator (ODT, ...) FIX: test on 0 better than isset FIX: The "automatic bind" was linked EEC to export accountancy code FIX: thirdparty alias name desappeared if we change country with THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION conf FIX: timezone must be tzserver and not tzuser as well as on contract card FIX: typo on check method FIX: use "usergroup" instead "user" FIX: Visualization rights correction on last modified contacts box FIX: Warning on admin/export_files FIX: We want to be able to import data for extrafields of entity 0 too FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create FIX: wrong test FIX: XSS vulnerability in description of list of audit events. FIX: z-index for moretabsList with constant MAIN_MAXTABS_IN_CARD ***** ChangeLog for 10.0.6 compared to 10.0.5 ***** FIX Regression of 10.0.5 to create/edit proposals and orders. FIX: #12760 #12763 #12755 #12765 #12751 FIX: add product qty in shipment already sent (fix for option STOCK_CALCULATE_ON_SHIPMENT_NEW) FIX: an issue that shows all entities stock FIX: class Facture undefined in displaying margin information FIX: error 500 when getting margin info for objects other than invoices FIX: Loan card - Wrong language key used FIX: Missing language key for MAIN_MAXTABS_IN_CARD FIX: product with empty stock were not visible FIX: remove backward compatibility projectid and uses object id instead FIX: Some issues on salary payment FIX: Some problems on conciliation with others modules FIX: typo on language key FIX: url new for task time spent in project element tab FIX: uses GETPOSTISSET instead of GETPOST for projectfield FIX: var transkey not defined in input hidden FIX: wrong var name and avoid warning ***** ChangeLog for 10.0.5 compared to 10.0.4 ***** FIX: 10.0: add URL param "restore_last_search_values=1" to all backlinks pointing to lists FIX: 10.0: do not display single-letter values (indicating duration unit without value) in product list FIX: #12473 FIX: #12481 : fix ticket creation from thirdparty, mission $socid var FIX: #12482 FIX: #12644 FIX: #12665 Mass invoice validation with stock management FIX: #12688 FIX: #12745 FIX: add and modify category translate form with posted values on errors FIX: add URL param "restore_last_search_values=1" to all backlinks that point to a list FIX: CommandeFournisseurLigne update function must not be able to return other value than 1 if success FIX: contact card state address selected after filling address FIX: dol_string_nohtmltag when there is html with windows EOL "