Tuesday, April 16, 2024
37 changes · master
Resolved issues and error corrections
This fixes an error that could occur when a user cleared the company field on a sales order. The system now uses a fallback currency so users can continue editing without disruption.
Original PR description
Issue ----- When emptying the company field on a SO, a traceback happens as there's no currency provided to _prepare_tax_totals. Introduced by ab0bdf0192120671010634978f202da35ddfc79f Fix ----- Provide a fallback currency in case the user deletes the company from the SO. opw-3859440
This change adds test coverage for a form issue where users could create and select a related record that did not meet the field’s allowed criteria. It helps ensure business data stays consistent by preventing records from being saved with invalid related selections.
Original PR description
To reproduce: - Open a form doing create on a model that has a many2one field with a domain. - In the many2one field box, you cannot select records that don't pass the domain. OK. - In the many2one field box, you click on "create and edit", and appears a second form, then you fill any option expressly in order to don't pass the domain. Click on create, and then the created record appears filling the many2one field box of the first form. Wrong! - And if you finally click on create on the first form, then a record is created although there is a contradiction between the field domain and the record in the field. Wrong! So, there is at least two errors, although I don't know if the later is intended or not. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Employee badge printing is now part of the core HR app instead of depending on the Attendance app. This lets businesses print badges when they only use HR, matching where employee PIN and barcode information is managed.
Original PR description
Since employee pin and barcode were moved to the hr module, so should the possibility to print employee badges. Current behavior before PR: Attendance module needed to print the employee badges. Desired behavior after PR is merged: Employee badges can be printed with only the hr module installed. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes how Odoo counts related module dependencies so modules with many dependencies are reported accurately. It helps prevent missing dependency information during module management, improving reliability for administrators.
Original PR description
Example of a module with many dependencies Closest dependencies count is 60 from sql  Closest dependencies count is 60 from manifest  But the first iteration to get children the count is unexpected 59 (without SQL `RIGHT`)  Now, adding SQL `RIGHT` the count is the expected 60 
Changing the fiscal position on a sales order no longer visually changes taxes on lines that have already been invoiced and cannot be edited. This prevents confusing differences between what users see on screen and what is actually saved.
Original PR description
Behavior prior to this commit: - when a SO line has been invoiced, the tax on it becomes readonly. But it is still possible to modify the fiscal position on the SO (since other lines on the SO might not have been invoiced yet). Doing so may change the tax on the view, even though the change does not actually post when saving the view (it is silently discarded) Behavior after the commit: - the tax id is not modified when changing the fiscal position, for lines that have already been invoiced. Note: - PR targets master, not 14.0, since it is a potentially breaking change of behavior (in case somebody was relying on getting the tax recalculated on change of fiscal position even when it was read-only - e.g with a 3rd party module) opw-2411692
Studio mode can now be opened safely on an empty Events kanban view. This prevents an error screen when users customize Events before any records exist, making setup smoother and more reliable.
Original PR description
PURPOSE When enabling studio mode on empty kanban view of event throws error, it should not throw error when enabling studio mode even if kanban view is empty. SPEC Enabling studio should not throw error when studio is enabled on empty event kanban view. TASK 2440536 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A typo in the Manufacturing work center label was corrected from "Read Work Orders" to "Ready Work Orders." This makes the wording clearer for users reviewing work order status and avoids confusion in daily operations.
Original PR description
Current behavior before PR: The string is not correct. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where choosing a default event filter could also unintentionally group the event list. The filter names were adjusted so users and configured shortcuts get the intended filtered view without unexpected grouping.
Original PR description
Since the filter names are equal to the field names, passing in a context with i.e. `{'search_default_event_type_id': 3}` activates both the domain and the groupby.
Thus, I rename the filters.
@Tecnativa TT27664
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prManufacturing demo data now creates separate operation records instead of accidentally reusing existing ones, preventing sample Bills of Materials from being overwritten. The operations list also shows the related Bill of Materials, making it easier to tell similar demo operations apart.
Original PR description
Before this commit, some operations created by the demo data was created with an existing record id. But the purpose of the duplicate demo data was to create an operation for each BOM who previously use the routing linked to this operation (see c660770ebd84c2c0d9e56ca5897effc6c138b827), not to override the BOM of the operations. Also, as some demo data operations will now be duplicate, displays the Bill of Materials in the operations list view to be able to discern which operation concerns which BOM.
Shipping options no longer incorrectly show as free just because they are not fixed-price carriers. This helps customers and sales teams see accurate delivery costs before confirming orders.
Original PR description
Free was displayed on every carrier with delivery_type != 'fixed' opw:2496947
This fixes an issue in pivot tables where a help tooltip could remain visible while users moved from a header cell to the field selection menu. The tooltip now disappears as expected, reducing visual clutter and making pivot table navigation clearer.
Original PR description
PURPOSE When opening field selection dropdown from pivot header and move hover on table cell it shows tooltip but if user moves mouse over grouby fields dropdown still tooltip is visible while mouse out from table cell should hide title. It is happening because help title is set on table cell and groupby fields dropdown is child of table cell, so there is no mouse out when user mouse over on fields dropdown. SPEC Hovering on table cell will show tooltip while hovering over fields selection dropdown should hide title tooltip. TASK 2422447 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The shop pricelist dropdown now stays aligned with its button, even when many pricelists make the menu long. This prevents customers from seeing the menu jump to the top of the page and makes price selection easier.
Original PR description
when pricelist dropdown menu in shop is long beacuse of many pricelists menu points to top of screen instead of pricelist button dynamic positioning is used for dropdowns by default. setting display to static to position menu at proper place Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents identical components from being automatically combined when a manufacturing order is confirmed. It helps keep the expected component details accurate and avoids confusion in manufacturing workflows.
Original PR description
In the MO same components are merged.there is no need to merge it so we have passed merge=false when Mo confirm. opw-2583848 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Invoice lines now use the familiar term "Description" instead of "Label" when users add or edit invoice details. This makes invoices consistent with sales orders, quotations, and purchasing documents, reducing confusion for users entering line information.
Original PR description
Up to v.12.0, product description column on invoices was named Description, as it was and currently is on SO, quotations, RFQ etc. Now invoices are journal entries, so the column name changed into Label. If a user adds a new invoice line (w/o selecting a product), he'd expect to enter a "Description of the line" not a "Label" of the line. This fix restores the original term. Description of the issue/feature this PR addresses: Fix #75420 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes the wording shown on customer cards in the Point of Sale kanban view so labels and titles match their intended meaning. Clearer labels reduce confusion for staff when reviewing or selecting customer information.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Maintenance users can now search for equipment using its serial number, matching the information already shown in equipment names. This makes it easier to quickly locate the right asset when managing maintenance work.
Original PR description
Before this commit, we were displaying `serial_no` for Equipment in `name_get` but search using `serial_no` was not implemented. With this commit, we are allowing to search using `serial_no` as well. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Stock barcode reports for locations and operation types now print using a 4x7 label layout. This fixes the report format so printed barcode sheets better match the expected label setup and are easier to use in warehouse operations.
Original PR description
report of location barcode and operation types barcode print into 4x7 layout. opw-2579195 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes the wording used to identify the Check layout setting in Accounting and Invoicing. It helps ensure the system points to the correct settings block, avoiding confusion when configuring check printing layouts.
Original PR description
Name of the block to set `Check layout` in Invoicing/Accounting Settings is `Check layout` not `Checks layout`. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Partner autocomplete now limits the list to the visible choices instead of hiding extra entries. This keeps keyboard navigation predictable, so users can move through suggestions smoothly without invisible options interfering.
Original PR description
PURPOSE Navigation on partner_autocomplete should be smooth. SPEC Do not hide autocomplete item instead remove it from autocomplete so that it is not considered while navigating through keyboard. TASK 2531294 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When users add a new line to a manufacturing order, the quantity will now default to 0 instead of 1. This helps prevent accidental quantities from being entered and makes manual line creation clearer.
Original PR description
The default qty when creating a line in a MO was 1. It is more logical to have this quantity be 0 by default. task-2662597 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an internal problem that could prevent Odoo environments from being created correctly when the wrong type of database cursor was used. The change helps improve reliability in core operations without changing everyday user workflows.
Original PR description
A cursor created by a Connection object is not expected to be used with environments; use registry.cursor() instead. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Reports now allow company names to use the available header space more flexibly. This prevents layouts from breaking when a business has a long official name, making printed or exported reports look more professional.
Original PR description
This commits removes the absurdity of only being able to use the left half of the report to display the company name. Avoids breaking layout if the company has a long name. Prior behavior on such cases:  TT28204 Follow up of https://github.com/odoo/odoo/pull/11031, opened 5 years ago... will my grandchildren be able to have a long-named company? 🤔 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Product package dimensions are now sent to delivery services in the units they expect: centimeters for metric setups and inches for imperial setups. This helps avoid incorrect shipping calculations or rejected delivery requests caused by unsupported units.
Original PR description
currently product packages have either foot or millimeter in length dimensions depending on the imperial or metric systems chosen. It should be either centimeters or inches, as these are the dimensions that all delivery methods accept. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The contract page warning for calendar mismatches is now displayed in a way that prevents the page layout from jumping when users hover over it. This improves the experience in Chrome by avoiding distracting screen movement while keeping the warning information visible.
Original PR description
On a contract view, if you hover the warning of a calendar mismatch, the appearing warning text may lengthen the page, adding a scrollbar and modifying the overhaul layout of the page on the chrome browser. This commit keeps the text visible anyway so that no changes can cause that screenshake. Visual of the error: https://watch.screencastify.com/v/MGPnCksg2eW49b7CoZc5
This fixes inconsistent ordering when records are sorted by an optional linked record field. It helps keep list results stable and predictable even when the linked model uses a custom sort order.
Original PR description
When ordering by a many2one field the ORM extends the ORDER BY clause with the `_order_` field of the target model. This causes issues when ordering via a many2one field if we modify the `_order` of…
When ordering by a many2one field the ORM extends the ORDER BY clause with the `_order_` field of the target model. This causes issues when ordering via a many2one field if we modify the `_order` of the target model **even** if the modification does not change the internal order of the target model. The reason is that when we order by a nullable many2one we may effective add null values to order over. That can change the order. This is especially relevant if DESC is used in the order of the target model. For example let's say we have ``` +----------------------+ +---------------------+ | Foo |<--+ | Bar | +----------------------+ | +---------------------+ |_order = 'id' | +---|foo_id: many2one(Foo)| |fool: Char -> required| +---------------------+ +----------------------+ ``` Then if we do `Bar.search([], order="foo_id")` we may get inconsistent ordering. By consistent here we understand that if none of the elements of `Foo` model changed its relative order then the elements of `Bar` must also keep their relative order. Before this patch this was not true as the added tests shows. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes how the online shop handles the shipping address setting during checkout. The change helps ensure customers see the intended address options, reducing confusion and potential checkout issues.
Original PR description
task_id=2844937
This fix prevents social media icons on website pages from being accidentally deleted when a user clicks an icon and types. It helps preserve page content and reduces accidental edits while managing website snippets.
Original PR description
Description of the issue/feature this PR addresses: **Current behavior before PR:** Clicking on an icon in the social media snippet and typing a letter, the icons will be removed. **Desired behavior after PR is merged:** Now icons will not remove any more. Task-2977241 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The survey matrix question preview now displays correctly on small and medium screens. This helps users review survey questions more reliably before publishing or sharing them.
Original PR description
Fix the matrix question type preview display on small and medium screen size. Task-3006768
Fixes the Point of Sale '+/-' quantity button so a newly added product changes from 1 to -1 instead of 0. This supports smoother refund workflows and prevents incorrect zero-quantity lines.
Original PR description
[FIX] point_of_sale: '+/-' button misbehaving with default quantity
When we add a product and then press the '+/-' button to inverse the quantity
(useful for the refund process) the product quantity changes to 0. Expected
behaviour is that is should change to -1 instead.
task-2669793
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes how website interface templates are combined when one template inherits from another. It prevents placeholder-only wrappers from being treated like real page elements, reducing confusing rendering issues for developers and helping keep the user interface consistent.
Original PR description
Have a template with a root node Have another template that inherits from it, in mode=primary, but with a t root node tag Before this commit, the resulting template had a <t> root node tag. This is…
Have a template with a root node Have another template that inherits from it, in mode=primary, but with a t root node tag Before this commit, the resulting template had a <t> root node tag. This is error prone as in owl, a t node is just a code placeholder and doesn't have a dom reality. So, both expressions are strictly equivalent in owl ```xml <t t-name="dolores" > <span>Some Text</span> </t> <span t-name="dolores"> Some Text </span> ``` It is then natural, as this commit does, to think that if ones wraps an inherit within a t tag, the t tag won't have an effect. Converserly, it is natural to think that a template originally declared with a t tag is just a wrap around the body of the template, and not a real t root node declaration for the dom Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where users did not see the error message when an email template preview could not be generated. The preview wizard now displays the relevant error, helping users understand and correct template problems faster.
Original PR description
Field `error_msg` is meant to be computed based to display error message. Before this commit, 'Error Message' was not displayed on wizard when email template is failed to generate Preview. Fixes #75104 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The checkout confirmation no longer shows a course access message when the purchased product is not a course. This avoids confusing customers when the eLearning sales feature is installed but the order does not include course content.
Original PR description
Purpose ======= Hide "You have gained access to the following course(s):" message if the product is not a course when website_sale_slides is installed. Task-2737404
This fixes returned stock moves so they carry over the original item price instead of showing zero. Businesses get more accurate valuation and purchasing records when processing returns.
Original PR description
## Description of the issue this PR addresses: price_unit of the stock.move is not propagated to the return picking ## Current behavior before PR: stock move price_unit of the return picking is 0 ## Desired behavior after PR is merged: stock move price_unit of the return picking is = to the orginal move -- I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr)
This update keeps list views stable when users open the three-dot menu to show additional fields, so the page no longer scrolls unexpectedly. It also helps keep document chatter in sync when activities are processed from a kanban view, improving consistency for users tracking work.
Original PR description
**PURPOSE** When try to show extra field using extra option, it does not show extra option. automatically scroll to left. when click on three dot, scroll should not be changed. **SPECIFICATIONS** When click on three dot will not scroll. Task-2645613 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix makes it easier for other Odoo modules to adjust product-related settings in price list views. It supports smoother customization without changing the standard product price list behavior for everyday users.
Original PR description
Before this commit, the product_tmpl_id field was present in the product_pricelist_view but not the product_pricelist_view_inherit. This changes allows to have a simple solution to modify the product_tmpl_id attributes in other modules. taskid: 2886054
The Contacts app configuration menu is moved later in the menu order. This creates space for additional menu entries to be added between Contacts and Configuration, making future navigation organization easier.
Original PR description
Description of the issue/feature this PR addresses: Menu "Configuration" set sequence 100 Current behavior before PR: <img width="1260" alt="image" src="https://user-images.githubusercontent.com/5561864/180392156-a8007243-69c0-4a94-919b-4ab448bed26b.png"> Desired behavior after PR is merged: To make it easier for adding new menus between Contacts and Configuration -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change fixes a typo in wording related to whether an action succeeded. It improves clarity in employee work entry, guided tour, and live chat areas without changing business functionality.
Original PR description
It's not a success when you don't succeed... :D