Daily updates from Odoo
Monday, January 6, 2025
9 changes · 18.0
Enhancements to existing features
Appointment sharing options and category names have been renamed to be easier to understand, such as “Propose Slots,” “Specific Slots,” and “Shared Calendar.” A new Share button on appointment cards lets users open the link-sharing dialog directly, reducing extra steps when sending appointment links.
Original PR description
Purpose ======= Rename Share Availabilities's Dropdown Menus as following: - Select Dates → Propose Slots - Any Time → Share Calendar Rename Appointment Categories Values as following: - Custom → Specific Slots - Recurring → Regular - Any Time → Shared Calendar Add a 'Share' button on Appointment Type Kanban View, that opens a Custom Link modal to share a appointment link -> Remove 'More Options' button in 'Share Availabilities' form view, as it will covered via a generic button. Task-4221267
Resolved issues and error corrections
This fixes an issue that prevented users from adding product videos through the website sales media manager. Product teams can now attach video URLs without overlapping error messages, improving product page media management.
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Have a product template. 2. Press the "Add Media" button in the "Sale" tab of the product form. 3. Try to add a video by pasting the URL. 4. Pressing "Add" displays multiple error messages, one on top of each other. Issue ----- Impossible to add a video as extra media for a product. Cause ----- The `video_url` field is not loaded by the Kanban view, which is used by the `X2ManyMediaViewer` to display the `product.image`. Therefore, updating the `video_url` caused a series of “ field not found” bugs. Solution -------- Add the `video_url` to the Kanban view of the `product.image` model. opw-4391126 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manual payment validation now avoids trying to repost accounting entries that are already posted or cancelled. This prevents an unnecessary error and lets users complete the payment validation flow as expected.
Original PR description
Steps to reproduce: 1. Install account 2. Configure the bank journal so it has an account linked to manual payments 3. Go to Customers -> Payments and create a new payment with a fake user and amount…
Steps to reproduce: 1. Install account 2. Configure the bank journal so it has an account linked to manual payments 3. Go to Customers -> Payments and create a new payment with a fake user and amount 4. Confirm the payment. Then Validate the payment. 5. An error shows up: "The entry must be in draft." --- Description of the issue this commit addresses: When trying to validate a payment (marking it as paid), the move linked to the payment is posted but if the move was already posted or cancelled, an error is raised. This is not a desired behavior. --- Desired behavior after this commit is merged: When following the same process, the move is only posted if it is not posted or cancelled yet to make sure it should pass through the posting method. --- Note on the fix: Cancelled is taken into account for safety purposes but since the payment is manual, no move at that point in the code should ever have state == 'cancel'. --- opw-4445889 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change fixes unnecessary reloading of already cached views when users open similar actions, such as scheduling activities from different contacts. It reduces repeated server requests, making the interface feel faster and lowering avoidable system load.
Original PR description
**Steps to reproduce (a bit technical):** 1. Navigate to the "Contacts" kanban view. 2. Open the Network tab in the browser's developer tools. 3. Click on the first contact activities and "Schedule a…
**Steps to reproduce (a bit technical):** 1. Navigate to the "Contacts" kanban view. 2. Open the Network tab in the browser's developer tools. 3. Click on the first contact activities and "Schedule a new activity". 4. Notice a call to `get_views` in the Network tab. 5. Click on a different contact activities, and "Schedule a new activity". 6. Notice a new call to `get_views` in the Network tab. **Expected:** The view is already cached, so the webclient should not attempt to load it. **Explanation:** This is likely a regression since f983703d, when the embedded actions were introduced. Now, the `embeddedParentResId` is part of the views cache key, and so we get much fewer cache hits. For most views, there isn't really an `embeddedActionId` set, and yet the `embeddedParentResId` was always set. The later is only used in combination with `embeddedActionId`, so it causes a lot of avoidable cache misses. The solution is to simply set the `embeddedParentResId` only if there's an `embeddedActionId`. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where a point-of-sale session could not be closed after processing a negative combined payment, such as a refund or negative-quantity sale. The payment account handling now happens at the right point in the process, preventing closure errors while keeping accounting entries correct.
Original PR description
It is impossible to close a session when there is a combined payment amount with a negative value. Steps to reproduce: - Create a new bank payment method and assign as payment method of a pos.config. - Open a session. - Sell with negative amount (e.g. negative quantity) and pay using the new payment method. - [ISSUE] Try to close the session and you will get an error. When a payment amount is negative, we invert the destination and outstanding accounts. Prior to creation of the `account.payment` record, it's possible that an outstanding account is missing. This value can be missing but will be automatically assigned during the creation of the `account.payment` record. So instead of inverting the accounts before creating the `account.payment` record, we now invert them after the creation. OPW: 4317320
Point of Sale now prevents the same tracked serial number from being selected in multiple active orders. This helps avoid inventory mistakes and fulfillment issues before orders are finalized.
Original PR description
Steps: - Open the POS. - Add a product with serial number tracking to the order line. - Create a new order. - Add the same product to the new order Issue: - it is possible to select the same serial number that was previously used in another order. Fix: - Hide serial numbers that are being used in active orders Task - 3944652
The Sign completion dialog now displays better on mobile and desktop and presents clearer wording to encourage continued use of the Sign app. The close action has been simplified and can guide signed-out users to the Sign app, reducing confusion after completing a document.
Original PR description
The dialog content and button is off on mobile and the dialog should promote better the sign app. This commit fixes the design to improve the promotion and better render the content on both mobile and desktop. - No more sign up button -> close button redirect to /app/sign if user is not connected - Close button is always secondary - Reviewed wording and design task-4434783 
This update ensures that country-specific Point of Sale setups always load the customer or company records they need when a sales session starts. This prevents receipt and fiscal-printer errors caused by partner records being skipped due to loading limits, especially for Chile, Ecuador, and Italy localizations.
Original PR description
For some localizations, some partners are required at all times for the POS to work properly. Since we restrict the number of loaded partners, we need to explicitly add those required partners to the set of partners loaded at the opening of the pos session. Previous fixes implemented this logic in pos_onfig. However it seems like it would make more sense to handle this from res.partner directly. This PR also proposes a fix of the same type for l10n_it_pos, where the partner associated to the current company must be loaded for propoer fiscal data display on the fiscal printer receipts.
Portal users could encounter an access error when moving between shared document folders, preventing them from reaching project-related documents. The fix ensures shared document links are generated reliably, so authorized portal users can browse the folders they have been given access to.
Original PR description
How to reproduce: - install all project related module (I couldn't find the exact module but it should at least involve the website_document which adds the website_id in the model document) - create a portal user and share the project folder and Marketing folder - connect with the portal user, click on the Marketing folder and then on the project folder You get an access error related to the access of a company record. We solve that issue by getting the base URL in sudo in the compute method of access_url of document. This should not be a problem as we get the access_token of the document in the same line which implies that the user has access to the document for which we want to compute the full URL. Task-4244767