Daily updates from Odoo
Tuesday, January 7, 2025
12 changes
1 change
Enhancements to existing features
Point of Sale now caches repeated price calculations when products are added to an order, reducing delays that grew as carts became larger. This makes adding order lines much faster and improves cashier responsiveness during sales.
Original PR description
**Problem:** A customer experiences a noticeable delay (1 to 2 sec) when adding product in the cart because of lack of caching computations. It gets worse the more orderlines are added in the cart.…
**Problem:**
A customer experiences a noticeable delay (1 to 2 sec) when adding product in
the cart because of lack of caching computations. It gets worse the more
orderlines are added in the cart.
**Solution:**
This commit introduces an implementation of lazy reactive computed value that is
pull-based -- it only recomputes when it's needed. Check the following PR in
odoo/owl for its origin: [odoo/owl#1499](https://github.com/odoo/owl/pull/1499)
This can be used for smart-caching selected getters. In this PR, we made a
getter for the `get_all_prices` method and instead of normal getter access, we
get the result of the getter using the `get` method introduced in the wrapper
class.
This means that in one call stack, calling `get('allPrices')` will only run once
and it will keep returning the cached value until a dependency in its
dependency (calculation) graph changed.
With this patch, adding an orderline is now 300ms -- approximate 5 times faster
than without caching.
Related: https://github.com/odoo/enterprise/pull/673827 changes
Enhancements to existing features
Users can now open spreadsheet attachments directly in the spreadsheet application from the attachment list. This makes it faster to access and edit spreadsheet files without extra steps, improving day-to-day document workflows.
Original PR description
This commit makes it possible to open spreadsheet attachments directly in the spreadsheet application, facilitating the process of accessing and editing spreadsheet documents from the attachment list. task-3829519
This update modernizes internal filtering logic used in data cleaning and project task features. It should preserve existing behavior while making the code easier to maintain and align with current platform practices.
Original PR description
task-4280707 odoo/odoo#191784
Standard project users will no longer see certain field service report actions or a map alert that could lead to access errors. This makes the project and field service experience clearer by only showing options users can actually use.
Original PR description
_*=industry_fsm_report Purpose: ==== Enhance user experience preventing access errors,by hiding specific actions and bootstrap map view alert for project users. Changes: ======= Hide actions for group project user - Hide the bootstrap alert in the map view - Hide the Send Report action - Hide the Field Service Report action task-3814575
Helpdesk learning content links now use the correct website address format, reducing the chance that users are sent to the homepage instead of the intended page. This improves navigation from helpdesk pages and related communications without changing the visible user experience.
Original PR description
In version 16.0, we have fixed the issue of the button “Go to website” that was redirecting users to the home page instead of the intended URL for record with no website (see odoo/odoo#148103). However, this fix didn't solve the underlying problem which is that the website_url is an absolute URL instead of relative one in some model (slide_channel, slide_slide, ...). We solve here the root cause by making the website_url relative and add a new field website_absolute_url. This field replaces website_url in the modified projects (mails, views, ...). Of course, we leave website_url untouched in other modules where it must be relative. Especially for the method open_website_url of website.published.mixin. Note that in some places the absolute URL could be replaced by a relative one (when a link is displayed on the same website) but as it is functionally equivalent, we keep them absolute to keep the changes simple. Task-3844851
Mexican CFDI information is now visible in account move lists beyond outgoing invoices, helping teams review vendor and other accounting documents more easily. Payments also show the fiscal folio, making it simpler to identify and reconcile CFDI-related payment records.
Original PR description
Allow viewing CFDI information in the list view for all account moves, not only outgoing invoices. Also, display the fiscal folio as part of the CFDI information in payments.
This update standardizes the loading spinner icon used across several Odoo applications. It creates a more consistent visual experience when users wait for refreshes, syncing, reports, or other background actions to complete.
Original PR description
*:account_online_payment,account_online_synchronization,appointment,hr_contract_salary,hr_payroll,knowledge,l10n_in_reports_gstr,sale_subscription,social_youtube,spreadsheet_edition,website_appointment Our spinner icons are inconsistent, sometimes using `fa-refresh` or `fa-spinner` this commit replaces the inconsistent icons to use `fa-circle-o-notch` instead. task-3861323 Community PR: https://github.com/odoo/odoo/pull/190733
This update consolidates how products are added to the shopping cart across rental, subscription, delivery, and website sales flows. It makes future changes easier to maintain and helps provide a more consistent checkout experience for customers.
Original PR description
*: sale_renting, sale_subscription, website_delivery_sendcloud, website_sale_renting, website_sale_stock_renting, website_sale_subscription. Adapt to community changes: Cart updates were scattered…
*: sale_renting, sale_subscription, website_delivery_sendcloud, website_sale_renting, website_sale_stock_renting, website_sale_subscription. Adapt to community changes: Cart updates were scattered across multiple areas, with the most advanced implementation residing in the WebsiteSale widget. This fragmented approach made it challenging to override or extend functionality, as developers had to implement changes in various locations and consider multiple dependent processes, such as triggering configurators or handling notifications. Additionally, snippets often required extending the entire WebsiteSale widget logic instead of just public widget's, leading to heavier load times and unnecessary complexity. To address this, the 'Add to Cart' logic has been extracted into a dedicated, easily overridable service. This new tool can be invoked from any public widgets or OWL components, streamlining and centralizing the cart update process. <details> <summary>CLOC</summary> ``` cloc-2.02.pl --include-lang="Python,Javascript,xml" --git --diff master master-website_sale-poc_add_to_cart-vcr ``` ``` ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- JavaScript same 0 0 83 674 modified 14 0 4 40 added 0 1 21 19 removed 3 5 5 61 Python same 0 0 33 433 modified 7 0 0 1 added 1 7 3 53 removed 0 7 6 51 XML same 0 0 3 460 modified 1 0 0 1 added 0 0 0 0 removed 0 0 0 0 ------------------------------------------------------------------------------- SUM: same 0 0 119 1567 modified 22 0 4 42 added 1 8 24 72 removed 3 12 11 112 ------------------------------------------------------------------------------- ``` </details> Related PRs: - https://github.com/odoo/odoo/pull/158473 - https://github.com/odoo/upgrade/pull/6923 task-3820946
3 changes
Enhancements to existing features
The Israeli localization now loads Hebrew translations for tax account tag names such as VAT Sale and VAT Input. This improves compliance with local conventions and makes accounting labels clearer for Hebrew-speaking users.
Original PR description
Labels such as 'Vat Sale' or 'Vat Input' have to be translated for the israely conventions. Change: - Load the hebrew translation for the account tags name field in the try_loading function --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Event registration confirmation emails are now pushed through the email queue immediately when asynchronous sending is used. This reduces delays for attendees and makes confirmations arrive closer to the timing users expect.
Original PR description
In async mode, trigger both the Mail Scheduler and the Email Queue Manager. Rationale ========= By default, the Email Queue Manager is run once an hour. In case of the event registration confirmation, it can lead to a lag between the confirmation and the email received. However, end users tend to expect a confirmation email incoming within a few minutes. By triggering the email queue, it leads to a behavior which is closer to the synchronous configuration.
Kanban app cards now keep their action buttons aligned at the bottom, even when descriptions have different lengths. Description text is also easier to read thanks to improved line spacing, creating a more consistent and polished app list experience.
Original PR description
Before this commit, there was a misalignment issue with the buttons in the cards due to varying text lengths in the description. This caused the buttons to appear at different vertical positions, disrupting visual consistency. Now, the layout ensures that all buttons are aligned at the bottom of the cards regardless of the description length, and also the desc is a bit more readable with improved line spacing. | Before | After | |--------|--------| |  |  | task-4357026 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
1 change
Enhancements to existing features
This update enhances the processing of Chilean fuel taxes within the Odoo Enterprise system. Specifically, the system now correctly parses IEC (Invoice Electronic Communication) files, a key requirement for accurate tax reporting. A new test has been added to ensure this functionality works as expected.
Original PR description
Adjusting fetchmail_server behavior to parse IECs and creating a test for it. task: 4359365