Daily updates from Odoo
Friday, July 4, 2025
43 changes
28 changes
Resolved issues and error corrections
The website builder now shows a more accurate preview of the Color Blocks snippet before it is placed on a page. This helps users make layout choices with confidence because the preview better matches the final page result.
Original PR description
The `s_color_blocks_2` block uses paddings expressed using the `vw` unit. Inside the snippets modal, this makes them evaluated to a value that does not reflect the aspect ratio of the actual block. This commit forces the padding of the block during preview to fixed values so that it better matches the dropped version inside the page. At the time of writing, there is no other block that uses that unit. task-4367641
The website builder no longer shows the “Round Corners” setting when editing Font Awesome icons. This removes an unintended option, making the icon settings clearer and reducing confusion for website editors.
Original PR description
The `BorderConfigurator` used in `FontAwesomeOption` did include the field to specify "Round Corners". This was unintended. This commit removes the "Round Corners" field from the "Icon"'s options. task-4367641
Website editors now see image gallery, image wall, and carousel card settings in the expected order again. This makes page editing more predictable and also restores missing border and shadow controls for carousel cards.
Original PR description
Since the conversion to `html_builder`, the image gallery and image wall options order was shuffled. This commit restores the initial order by splitting the options in two templates and specifying sequences on each part. task-4367641
This fixes an issue where newly added image blocks could inherit placeholder styling, making the final image appear faded or incorrectly rounded. Website editors now get the expected image appearance immediately after drag and drop, reducing manual cleanup.
Original PR description
> [BVR] Drag and drop an "Image" Inner Content block. The image has the opacity-50 class (and also the rounded class — unclear why). The opacity-50 class is probably for the placeholder, but it should be removed for the image The commit b401f887a2d844720a34d73ba4dcadb78bf7ee29 adds the argument `node` to `openMediaDialog` in `ImageSnippetOptionPlugin.onSnippetDropped`. This caused the style of the placeholder to be used for the dropped image (including the `opacity-50`) task-4367641
This fix prevents a hidden backup preview frame from interfering with mouse actions in the website builder. Users can resize website elements more reliably, reducing frustration while editing pages.
Original PR description
Since [1] when the fallback iframe was reintroduced in `html_builder`-based website builder, the resize operations do not behave properly anymore - some mouse events seem to be caught by the wrong iframe. This commit avoids this by sending the fallback iframe a bit below the main one. [1]: https://github.com/odoo/odoo/commit/e167c3b4bfeda7b4482a755563dbd0fb90d70cbe task-4367641
Product unit labels are now hidden across sales, purchasing, inventory, manufacturing, and point of sale screens when the Units of Measure feature is not enabled. This reduces unnecessary information and avoids confusion for users who do not use multiple units of measure.
Original PR description
**Description of the issue/feature this PR addresses:** Should not show product uom when the feature "Units of Measure" is not activated  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#216905 Forward-Port-Of: odoo/odoo#190006
This fix prevents visitors or editors from posting comments or uploading files from the blog comment area while the website builder is open. It keeps editing mode focused on page design and avoids accidental public interactions during content changes.
Original PR description
> [MOU, chrome]: Enable comments on a blog post page > You can send comments from the "Edit" mode (already spotted on master, but with the new code, a user can also upload documents...) Steps to reproduce: - Go to `/blog` - Open website builder - Enable "Comments" at the "Bottom" - Bug: you can write messages, send them, ... while still in editor mode This commit blocks with `pointer-event: none` on `#discussion` because this is the id of the top div of `portal.message_thread` task-4367641
This update fixes how employee version status is calculated by separating the logic into clearer parts. It helps make HR records more reliable and easier to maintain without changing the day-to-day user experience.
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
This fix prevents purchase stock tests from failing when an optional product matrix feature is not installed. It only uses extra product attribute information when that attribute is actually available, improving reliability in single-app test environments.
Original PR description
### Description of the issue/feature this PR addresses: [build_error-227711](https://runbot.odoo.com/odoo/error/227711) ### Current behavior before PR: When testing for proper move descriptions, we…
### Description of the issue/feature this PR addresses:
[build_error-227711](https://runbot.odoo.com/odoo/error/227711)
### Current behavior before PR:
When testing for proper move descriptions, we add a second (no variant) attribute to the product only if the module `purchase_product_matrix` is installed.
In its absence (such as in a single-app test), we only have a single attribute_line, and referring to a second line throws an IndexError:
```
Traceback (most recent call last):
File "/data/build/odoo/addons/purchase_stock/tests/test_create_picking.py", line 886, in test_move_description
'product_no_variant_attribute_value_ids': [Command.set(product_with_description.attribute_line_ids[1].product_template_value_ids[0].ids)],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/data/build/odoo/odoo/orm/models.py", line 6375, in __getitem__
return self.browse((self._ids[key],))
~~~~~~~~~^^^^^
IndexError: tuple index out of range
```
### Desired behavior after PR is merged:
Instead, we should only populate the `product_no_variant_attribute_value_ids` of the order line when the no_variant attribute is present in the product, i.e. only when the optional module is installed.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes a visual issue where the first row of color choices in the editor color picker did not line up with the rows below. It also improves usability by keeping the selection shape correct on touch devices and making keyboard navigation between rows more consistent.
Original PR description
Steps to reproduce: - Go to the html_editor (via Project for example) - Select a text and open the colorpicker | Current | Expected | |--------|--------| |  |  |
Odoo now correctly translates invoice email buttons when multiple invoices for customers using different languages are sent and printed together. This prevents customers from receiving emails with a button label in the wrong language, improving communication quality and professionalism.
Original PR description
**Issue**: When multiple invoices with different customer languages are sent and printed together, the invoice email button may appear with an incorrect translation for some of them. **Steps to…
**Issue**: When multiple invoices with different customer languages are sent and printed together, the invoice email button may appear with an incorrect translation for some of them. **Steps to reproduce**: - Open the Accounting app - Go to Customers > invoices - Create a new invoice with a customer with its language set to German - Create a new invoice with a customer with its language set to English - Go back to Customers > invoices - Select the two invoices just created and click on action > Sent & Print and then click on the Sent & Print button - Go to Settings > Technical > Email > Emails and check the two last emails. One of them should have the invoice email button wrongly translated **Cause**: Before sending an email, it retrieve the `type_name` using the lang of the customer https://github.com/odoo/odoo/blob/28c3b9cf10488536dce5a4927fdbe8fcd6e5a839/addons/account/wizard/account_move_send.py#L596C1-L605C14 This will trigger that compute method https://github.com/odoo/odoo/blob/a6368e8a5787f3067d09d79516a2924b3f1207f0/addons/account/models/account_move.py#L841C1-L850C67 which set the `type_name` of all the records. Since the compute method only depends on move_type, it does not recompute type_name per record. As a result, all records may share the same type_name, regardless of language context. Please notice that `type_name` is used to display the invoice email button in the right language. **Solution**: Make the compute method `_compute_type_name` depending to the lang parameter, thus it will use the right `type_name` for each email to send. opw-4748741 Forward-Port-Of: odoo/odoo#216811
This fixes a problem in Odoo's web testing tools where drag-and-drop data could miss updates added during a test. The change makes these simulated interactions behave more like real browser behavior, helping prevent false test results and improving confidence in web interface quality.
Original PR description
Before this commit, the 'types' property of datatransfers used in Hoot interactions was mocked to insert the initial types of the given 'items' and 'files'. However, this didn't account for the items added dynamically on the datatransfer object. The good thing is that it doesn't actually need to be mocked, since it already works with the given 'files' and 'items' types without having to override the 'types' descriptor. So the mock has been removed. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217313
This update makes an automated website popup test more reliable by allowing extra time for the popup to appear before checking it. This reduces occasional false failures in the test system without changing the customer-facing website behavior.
Original PR description
Before to this commit, the ‘closing s_popup with the X button updates the invisible elements panel’ test failed from sometimes on runbot. We think boostrap.js takes longer than normal to display the popup. Solution: We're going to increase the waiting timeout so that the crash doesn't recur. We've taken this decision because the problem is very specific and probably link to bootstrap.js. 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 update makes an automated website builder color picker test more stable by ensuring actions are fully processed before checks continue. It reduces false test failures, helping development and release validation run more smoothly without changing customer-facing behavior.
Original PR description
Since [1] introduced the test, it may fail due to race conditions. By waiting for an animation frame after clicks, we make sure the call had the time to be processed. [1]: https://github.com/odoo/odoo/commit/b3512d76af44d3f48d8b0027495c220df550b602 runbot-229604
This fix makes the sales signature test wait until the signature area is ready before accepting and signing. It prevents false error messages during automated checks, helping keep the sales signing flow stable for users.
Original PR description
In commit, we make sure that the signature is present in the modal before reaching the step where we click on "accept & sign". If the canvas is not yet loaded at this step, then there is an error message "Signature is missing". 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 Forward-Port-Of: odoo/odoo#217202 Forward-Port-Of: odoo/odoo#217099
The website shop test for comparing list prices now enables pricelist selection before running. This ensures the test can show all configured pricelists and helps prevent false failures in release validation.
Original PR description
Before this commit, the `compare_list_price_price_list_display` tour failed due to a missing feature flag. The user was unable to select a pricelist as only one was available. This commit enables the pricelist feature before the tour, ensuring that the drop-down selector displays all the configured pricelists. runbot-162702 Forward-Port-Of: odoo/odoo#217069
Follower invitation emails no longer show an extra divider between the header and message body. This small visual fix makes notification emails look cleaner and less confusing for users receiving updates on leads, tasks, and similar records.
Original PR description
When adding an Odoo user as a follower to a lead/task/..., there are two separators between the message header and its body. This commit removes the extraneous separator. Steps to reproduce: - Open a lead/task/... - Add Marc Demo as a Follower - Toggle the option to have them notified task-4889715 Forward-Port-Of: odoo/odoo#217291
The chat hub menu now handles the “Reset initial position” action correctly. This prevents an error for users who want to restore the chat window to its default placement, making the messaging experience smoother.
Original PR description
**Purpose of this PR:** Fix an error that occurred when clicking 'Reset initial position' in the chathub menu. Forward-Port-Of: odoo/odoo#214203
Odoo now ignores accidental trailing spaces in customer names during checkout, preventing false warnings when users submit their address details. Imported text fields that should be trimmed are also cleaned consistently, reducing data quality issues from imports.
Original PR description
**Steps to reproduce:** 1. Install the website_sale app. 2. Import a user with trailing spaces in the Name field. 3. Make this user Admin in settings 4. Log in with that user and go to Website >…
**Steps to reproduce:** 1. Install the website_sale app. 2. Import a user with trailing spaces in the Name field. 3. Make this user Admin in settings 4. Log in with that user and go to Website > Shop. 5. Click on new and create a new product 6. Add this product to the cart and proceed to checkout. 7. The checkout form pre-fills the name (with trailing spaces). 8. fill other fields 9. Submitting the form triggers a warning due to changed name. **Expected behaviour:** - Name is not changed by us so it should let us checkout - There should not be trailing spaces in imported char fields if trim attribute is true **Issue:** - The name field from the form is trimmed in post request, but the value from the database (with trailing spaces) is used during comparison This results in a false positive change detection. - User's name with trailing spaces is because of Imported records does not check for trim attribute in backend but this is handled in ui. **Solution:** - Trim the database value before comparing it to the form input - Trim the values of char field before importing if trim attribute is true opw-4794220 Forward-Port-Of: odoo/odoo#215467 Forward-Port-Of: odoo/odoo#212040
This fix makes shared website editing resources stay available across embedded editing views, so the same data is not downloaded repeatedly. It reduces unnecessary network requests when reopening snippet dialogs, making the editor feel faster and more efficient.
Original PR description
Before this commit, bundle cache wasn't global but limited to one document only, so iframes would end up in refetching bundles again. To reproduce the issue: - Open website, start editing and open the network tab in devtools to monitor requests; - click on any snippet group, close the dialog and click on the group again => Bundles are fetched again.
This fix prevents the website editor from crashing when duplicate website views share the same identifier. Users can continue editing pages normally even if duplicated view records exist in the system.
Original PR description
When multiple `ir.ui.view` records exist with the same key (e.g., due to duplication), it can lead to a singleton error. **Steps to reproduce:** 1. Install the website module 2. Go to `Settings >…
When multiple `ir.ui.view` records exist with the same key (e.g., due to duplication), it can lead to a singleton error. **Steps to reproduce:** 1. Install the website module 2. Go to `Settings > Technical > User Interface > Views`. 3. Find and duplicate the **Home** view for **My Website** (same key). 4. Open the website home page in Editor mode. **Error:** `ValueError - Expected singleton: ir.ui.view(2776, 2774)` **Cause:** In `viewref()`, it uses `filter_duplicate()` to filter for the most suitable view, but it may return multiple views if more than one match the criteria. - [1] **Ref:** At [2], system uses `limit=1` in `_view_obj()` to ensure only one view is returned, even if duplicates exist for the same key. [1]: https://github.com/odoo/odoo/blob/edfa37271a0015a0d4acb17e6985a87e707e5f33/addons/website/models/website.py#L1228-L1230 [2]: https://github.com/odoo/odoo/blob/51fcbd211d2b1abf4b93becedbcbb9e03002cdd6/addons/web_editor/models/ir_ui_view.py#L326 **Fix:** This commit ensures that the result is a record set with at most one view and preventing singleton-related errors. sentry-6223988092 Forward-Port-Of: odoo/odoo#213113
This fix restores the helpful hint that appears when users click an editable image in the website editor. It makes image editing easier to discover by reminding users they can double-click to edit.
Original PR description
problem: The "Double-click to edit" popover tooltip when clicking once on an image was not displayed anymore. to reproduce: - In the website app, open the editor - Click on any editable image - The "Double-click to edit" popover is not displayed why: It has not been transferred in the new builder desired behavior: When clicking once on an editable image, a popover tooltip should be displayed below the image with "Double-click to edit" message.
Fixed an issue where bank reconciliation reports could show an amount calculated in the company currency while displaying the journal currency symbol. This prevents misleading balances when journal entries are posted through journals using a different currency.
Original PR description
…eport Currently in bank reconciliation report we expect all the entries to have the balance encoded in journal currency However it may not be the case if an entry is posted in a misc journal set in another currency Steps to reproduce: - Create a new journal in another currency (€) than the company's ($) - Create a new journal entry using the journal main account - Go to the account dashboard > click on the 3 dots of the journal - Open the Reconciliation report Issue: The journal entry amount is in company curreny (balance), but with the journal currency symbol (€) opw-4701349 Forward-Port-Of: odoo/enterprise#89321 Forward-Port-Of: odoo/enterprise#87313
Belgian payroll now creates follow-up activities when an employee contract starts running, rather than every time the contract is edited. This prevents duplicate or mistimed reminders and also avoids including contract templates in pay run generation.
Original PR description
Once the contract got running, not at each write on it.
The planning calendar now blocks creation of shifts that are not assigned to any resource. This avoids confusing open shifts caused by leftover calendar multi-create behavior and keeps schedules cleaner for planners.
Original PR description
This commit's purpose is to prevent the creation of open shifts in the calendar view of the planning. Recently, the multi-create feature was added to the calendar view, but some code of the early iteration of the task was left. This fix aim to remove the unneeded code. target saas-18.4
The Knowledge article comment composer now shows only the intended Log button instead of displaying both a paper-plane send icon and Log button. This avoids confusion for users when adding comments to article text and keeps the commenting flow clearer.
Original PR description
Steps to reproduce =============== 1. Go to knowledge. 2. Open any article with write access. 2. Open the comment composer for any text of article. --> Two buttons are shown to post a comment. (Paper-plane and `Log` button) From [Commit], the condition to show the paper plane was modified, which will be always evaluated to `true` for the knowledge comment composer. After this commit, we will explicitly make that condition false for knowledge comment composer. Task-4866473 [Commit]: https://github.com/odoo/odoo/commit/9ba04f2a28f4d2b1adeb04628383d4730b5e72b6 Forward-Port-Of: odoo/enterprise#88225
The Partner Ledger XLSX export now correctly includes entries without an assigned partner when users search for “Unknown Partner.” This ensures downloaded reports match the on-screen results and prevents missing accounting lines in exported files.
Original PR description
### Issue: When searching for "Unknown Partner" in the Partner Ledger to get the lines with no partner, nothing shows on the downloaded XLSX. ### Steps to reproduce: - Have a partner Ledger with -…
### Issue:
When searching for "Unknown Partner" in the Partner Ledger to get the lines with no partner, nothing shows on the downloaded XLSX.
### Steps to reproduce:
- Have a partner Ledger with
- Search for "unknown Partner" in the search bar, only the lines grouped under "Unknown Partner" are shown.
- Click on the button "XLSX"
- The downloaded document does not include "Unknown Partner"
### Cause:
When `filter_search_bar` has a value, the domain used to query the partners/lines will check if the names of the partner match the search text. The resulting SQL query excludes the lines where `partner_id` is `NULL`.
### Solution:
Add a new condition in the domain: `('partner_id', '=', False)` This way the lines with no partner are returned by the query
When searching another existing partner these lines are excluded by an [already existing filter](https://github.com/odoo/enterprise/blob/8eff9194618a1d181c57820829e53aa23c7759d5/account_reports/models/account_partner_ledger.py#L55-L58). It excludes the lines if the search test does not match "Unknown Partner".
opw-4772529
Forward-Port-Of: odoo/enterprise#88139Cancelled drag-and-drop actions in Documents now remove the temporary preview card instead of leaving it visible. This prevents clutter in the interface and avoids test screens filling with duplicate placeholder cards.
Original PR description
Before this commit, when aborting a drag & drop sequence in documents views, the temporary card "ghost" was not removed from the DOM, and stayed in place. This was most noticable in tests, where multiple cards would pile up on the screen. This commit, adds a cleanup for each added card, to ensure that they are properly disposed of. Forward-Port-Of: odoo/enterprise#89418
3 changes
Resolved issues and error corrections
The bank reconciliation report now shows amounts with the correct currency when journal entries come from a journal using a different currency than the company. This prevents misleading balances where a company-currency amount was displayed with the journal currency symbol.
Original PR description
…eport Currently in bank reconciliation report we expect all the entries to have the balance encoded in journal currency However it may not be the case if an entry is posted in a misc journal set in another currency Steps to reproduce: - Create a new journal in another currency (€) than the company's ($) - Create a new journal entry using the journal main account - Go to the account dashboard > click on the 3 dots of the journal - Open the Reconciliation report Issue: The journal entry amount is in company curreny (balance), but with the journal currency symbol (€) opw-4701349 Forward-Port-Of: odoo/enterprise#89321 Forward-Port-Of: odoo/enterprise#87313
This fix strengthens automated checks for electronic payment and invoicing documents by ensuring XML namespace details are validated correctly. It updates expected test files so localization and bank payment formats are verified more accurately, reducing the risk of unnoticed compliance issues in future changes.
Original PR description
Before, we weren't asserting XML namespaces when calling `assertXmlTreeEqual`. As a result, many expected XMLs in EDI tests had incorrect namespaces. Now that we change the test method to check namespaces, we also need to fix the expected XMLs. Community PR: https://github.com/odoo/odoo/pull/214764 task-none Forward-Port-Of: odoo/enterprise#89303 Forward-Port-Of: odoo/enterprise#87950
Partner Ledger XLSX exports now include entries without an assigned partner when users search for "Unknown Partner". This ensures the downloaded report matches what users see on screen and prevents missing accounting lines in exported documents.
Original PR description
### Issue: When searching for "Unknown Partner" in the Partner Ledger to get the lines with no partner, nothing shows on the downloaded XLSX. ### Steps to reproduce: - Have a partner Ledger with -…
### Issue:
When searching for "Unknown Partner" in the Partner Ledger to get the lines with no partner, nothing shows on the downloaded XLSX.
### Steps to reproduce:
- Have a partner Ledger with
- Search for "unknown Partner" in the search bar, only the lines grouped under "Unknown Partner" are shown.
- Click on the button "XLSX"
- The downloaded document does not include "Unknown Partner"
### Cause:
When `filter_search_bar` has a value, the domain used to query the partners/lines will check if the names of the partner match the search text. The resulting SQL query excludes the lines where `partner_id` is `NULL`.
### Solution:
Add a new condition in the domain: `('partner_id', '=', False)` This way the lines with no partner are returned by the query
When searching another existing partner these lines are excluded by an [already existing filter](https://github.com/odoo/enterprise/blob/8eff9194618a1d181c57820829e53aa23c7759d5/account_reports/models/account_partner_ledger.py#L55-L58). It excludes the lines if the search test does not match "Unknown Partner".
opw-4772529
Forward-Port-Of: odoo/enterprise#881397 changes
Resolved issues and error corrections
The bank reconciliation report now shows transaction amounts with the correct currency when journal entries come from journals using a different currency than the company currency. This prevents misleading balances where an amount was calculated in one currency but displayed with another currency symbol.
Original PR description
…eport Currently in bank reconciliation report we expect all the entries to have the balance encoded in journal currency However it may not be the case if an entry is posted in a misc journal set in another currency Steps to reproduce: - Create a new journal in another currency (€) than the company's ($) - Create a new journal entry using the journal main account - Go to the account dashboard > click on the 3 dots of the journal - Open the Reconciliation report Issue: The journal entry amount is in company curreny (balance), but with the journal currency symbol (€) opw-4701349 Forward-Port-Of: odoo/enterprise#89321 Forward-Port-Of: odoo/enterprise#87313
Cancelling a drag-and-drop action in Documents now properly removes the temporary preview card. This prevents duplicate-looking cards from lingering on screen and keeps the Documents view visually clean and reliable.
Original PR description
Before this commit, when aborting a drag & drop sequence in documents views, the temporary card "ghost" was not removed from the DOM, and stayed in place. This was most noticable in tests, where multiple cards would pile up on the screen. This commit, adds a cleanup for each added card, to ensure that they are properly disposed of. Forward-Port-Of: odoo/enterprise#89418
Odoo Studio now removes extra spaces from the end of selection values before saving them. This prevents confusing duplicate-looking options and makes reused values more reliable across customizations.
Original PR description
Before this commit it was possible to create selection values with trailing spaces. This could be very misleading when reusing these values somewhere else. After this commit, such values are trimmed before saving. opw-4877276 Forward-Port-Of: odoo/enterprise#89311 Forward-Port-Of: odoo/enterprise#88255
This fix ensures that when an invoice is reset to draft, any related posted deferred entries are cancelled as expected. It helps keep accounting records consistent and prevents old deferred entries from remaining active after an invoice is reversed.
Original PR description
When resetting an invoice to draft, its posted deferred entries should be cancelled. This is adding a test to the linked fix. Linked community PR: https://github.com/odoo/odoo/pull/216628 opw-4891975 Forward-Port-Of: odoo/enterprise#89392 Forward-Port-Of: odoo/enterprise#88992
The Knowledge article comment composer now shows only the intended Log button instead of also showing a duplicate paper-plane send button. This reduces confusion for users when adding comments to article text.
Original PR description
Steps to reproduce =============== 1. Go to knowledge. 2. Open any article with write access. 2. Open the comment composer for any text of article. --> Two buttons are shown to post a comment. (Paper-plane and `Log` button) From [Commit], the condition to show the paper plane was modified, which will be always evaluated to `true` for the knowledge comment composer. After this commit, we will explicitly make that condition false for knowledge comment composer. Task-4866473 [Commit]: https://github.com/odoo/odoo/commit/9ba04f2a28f4d2b1adeb04628383d4730b5e72b6 Forward-Port-Of: odoo/enterprise#88225
This fixes which ticket form is opened when working with Helpdesk timesheets, ensuring users see the version that respects team restrictions. It reduces the chance of agents landing on the wrong ticket layout or missing the expected controls when recording time.
Original PR description
- Replaced `form_view_ref` from `helpdesk_timesheet.helpdesk_ticket_view_form_inherit_helpdesk_timesheet` to `helpdesk_timesheet.helpdesk_ticket_view_form_inherit_helpdesk_timesheet_restrict_teams`. - Add primary mode - use lambda for team_id default Forward-Port-Of: odoo/enterprise#88975
This fixes a visual issue in spreadsheets where the icon for a selection filter was not shown in the side panel. Users can now more easily recognize and work with this type of filter, reducing confusion when configuring spreadsheet filters.
5 changes
Resolved issues and error corrections
This fixes confusing display issues when users select property fields or group records by a property. Separators are no longer shown where they should be hidden, and grouped list views keep column names clear instead of adding the parent name.
Original PR description
Bug 1 ===== When inserting properties in a domain, or in the server action form view, the property separator should not be visible. Don't show separator in group by. Bug 2 ===== Name change in list view after grouping by a property 1. Add a property in the list view 2. Group by a property => The name of the parent is added in the column. Task-4896271
Accounting menus for analytic accounting are now hidden when the feature is turned off in company settings. This avoids showing users options that are not available for their company configuration.
Original PR description
Purpose ------- This fixes a visibility issue in the Accounting menus: analytic menus were still displayed even when analytic accounting was not enabled in the company settings. Changes ------- - Applied correct group to hide the menus when analytic accounting is disabled. - Ensured consistency across all related menu entries. How to test ----------- 1. Go to Settings > Companies > Your Company. 2. Disable the "Analytic Accounting" checkbox (under Accounting features). 3. Go to the Accounting app. 4. The "Analytic Accounts" and related submenus should now be hidden.
The website editor now handles duplicate page view records safely instead of crashing when opening a page. This helps administrators and editors keep working even if a website view was accidentally duplicated with the same identifier.
Original PR description
When multiple `ir.ui.view` records exist with the same key (e.g., due to duplication), it can lead to a singleton error. **Steps to reproduce:** 1. Install the website module 2. Go to `Settings >…
When multiple `ir.ui.view` records exist with the same key (e.g., due to duplication), it can lead to a singleton error. **Steps to reproduce:** 1. Install the website module 2. Go to `Settings > Technical > User Interface > Views`. 3. Find and duplicate the **Home** view for **My Website** (same key). 4. Open the website home page in Editor mode. **Error:** `ValueError - Expected singleton: ir.ui.view(2776, 2774)` **Cause:** In `viewref()`, it uses `filter_duplicate()` to filter for the most suitable view, but it may return multiple views if more than one match the criteria. - [1] **Ref:** At [2], system uses `limit=1` in `_view_obj()` to ensure only one view is returned, even if duplicates exist for the same key. [1]: https://github.com/odoo/odoo/blob/edfa37271a0015a0d4acb17e6985a87e707e5f33/addons/website/models/website.py#L1228-L1230 [2]: https://github.com/odoo/odoo/blob/51fcbd211d2b1abf4b93becedbcbb9e03002cdd6/addons/web_editor/models/ir_ui_view.py#L326 **Fix:** This commit ensures that the result is a record set with at most one view and preventing singleton-related errors. sentry-6223988092 Forward-Port-Of: odoo/odoo#213113
This fixes a minor typo in the Malaysia e-invoicing extension that helps distinguish credit notes from refunds in the code. The existing behavior was already working, but the cleanup reduces confusion and helps prevent future maintenance mistakes.
Original PR description
Fixes a small typo in the code which makes the distinction between credit note and refunds. Note that the code still works with the typo; which explains why the tests were green. But it's a weird line so better clean it up. In 18.1+ it's being fixed during the forward port of the commit that introduced the typo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error when opening Studio from the Documents list after creating a shortcut to a file. Users can now continue customizing Documents with Studio without being interrupted by a crash in this workflow.
Original PR description
Steps: - Install `documents` and `studio` - Open documents, go to list view - Select a random file and 'Create a shortcut' via the actions - Try to open studio - traceback opw-4900667