Friday, May 16, 2025
7 changes · 17.0
Resolved issues and error corrections
The Nilvera e-invoice purchase journal setting is now shown only in the restricted invoicing settings area. This prevents access errors for users without accounting manager permissions and keeps the Turkish e-invoicing setup aligned with similar invoicing settings.
Original PR description
The l10n_tr_nilvera_purchase_journal_id field was causing access errors due to its placement in the "Integrations" section without any group restriction, exposing it to users without the necessary rights. In contrast, the similar account_peppol_purchase_journal_id field is defined under the "Invoicing" section with the proper group restriction (account.group_account_manager), and behaves correctly. This fix moves the Nilvera field into the same restricted section as the Peppol field, aligning its access control and visibility with other similar fields in the same context. build_error-111279
Online orders now assign quotations to the customer's own salesperson before falling back to the parent company's salesperson. This keeps eCommerce sales ownership consistent with backend sales rules and prevents quotes from being routed to the wrong person.
Original PR description
Steps: - Create a partner and it's parent partner and set different salesperson on each. - Login with child partner and add product to cart. - Go to backend and open related quotation. Issue: - Salesperson set on quotation is customer's parent partner's salesperson even though salesperson set on customer. While in backend it first check customer's salesperson and if customer does not have salesperson then it set parent's salesperson. Cause: - In eCommerce we gave parent's salesperson first priority then customer's salesperson. Fix: - Swap priority to set first customer's salesperson opw-4757042
Fixed an issue where uploading a vendor bill could fail if users had previously grouped the Accounting dashboard by type. The upload now ignores unrelated search defaults, allowing bills and attachments to be created normally.
Original PR description
Step to reproduce: - install accounting - in the dashboard searchbar, add a `Group By` with value `type` - go to vendor bills view from the dashboard - upload any file Error: Wrong value for…
Step to reproduce: - install accounting - in the dashboard searchbar, add a `Group By` with value `type` - go to vendor bills view from the dashboard - upload any file Error: Wrong value for `ir.attachment.type`: 'purchase' Expected: The upload process should go on without any error Explanation: in the `onFileUploaded` hook for vendor bills AccountFileUploader JS component, we included all context when we are creating the `ir.attachment` object. The group-by we added earlier are thus also added as `default_type` in the context. But when creating a record, the ORM checks for all `default_*` key in the context and try to use it as additional values for the created record. Since the key-value combination `type` and `purchase` is not valid in an `ir.attachment` record, it throws this error. Solution: Before passing the context, we have to make sure to clean all the `default_*` contexts to avoid these kind of behaviors. In python, usually we use `clean_context` method before calling `create`. But since this is in JS, we manually filter all key-value item that starts with "default_" in the context object. opw-4512697
Small image attachments no longer show cramped download and delete buttons that could appear in the wrong place. Users can still access delete actions when viewing the image enlarged, making attachment handling cleaner and easier.
Original PR description
Before this commit: When the attachment size was too small, the download and delete buttons on the image overlay were incorrectly positioned, leading to a less user-friendly experience. Aftert this commit: The delete and download button is not shown shown for the small images and you get a delete option when the image is zommed in. task-3563828
When users schedule a custom activity plan from a record, the current page now refreshes in place instead of reopening a default form view. This keeps navigation breadcrumbs clean and helps users immediately see the newly enabled plan in the chatter without losing context.
Original PR description
Scheduling a custom activity plan on a single record should do a `soft_reload` of the current view in order to avoid breadcrumbs pollution. The most frequent use case for that action is scheduling a plan from the chatter of the form view of a record, and retriggering an unnamed default form act_window would only restrict possible operations for the user. After this commit, the current view will be reloaded and the user will most probably be able to see its enabled plan in the chatter. task-4525830
Jordan UBL e-invoice files now keep the required party identification field even when no ID value is available. They also use the correct fallback country code when a partner has no country set, helping avoid validation issues during electronic invoicing.
Original PR description
When generating the JO UBL file, we want to keep the PartyIdentification and its ID node, even if the latter is empty. Also, in the same file, the country code of a partner should be set to 'PN' if the partner doesn't have its country set. task-4656827
The signing flow now prevents users from completing auto-signature with only spaces in the Full Name field. This helps ensure signed documents include a valid signer name and avoids incomplete or invalid signature records.
Original PR description
Currently, entering only spaces in the Full Name field when signing in auto mode enables the sign button, allowing users to proceed without a valid name. Steps to reproduce: 1. Sign > Create a request 2. Attempt to sign in auto mode with only spaces in the Full Name field 3. Observe that the sign button becomes enabled Cause: The system does not checks for whitespace-only name Solution: Add a validation to disable the sign button if the trimmed name is empty in auto mode. opw-4628577