Daily updates from Odoo
Wednesday, October 16, 2024
27 changes · 18.0
Resolved issues and error corrections
This fixes the invoice print template so VAT amounts show correctly in the totals section when invoices with standard tax are sent or printed. Businesses using GCC invoice localization will see accurate tax totals on customer-facing documents.
Original PR description
Create an Invoice with a standard tax Send&Print Issue: In totals section VAT amount will be wrong opw-4256242 opw-4256566
The Discuss onboarding tour is now included in the correct application assets instead of being limited to test-only files. This ensures users can see the intended onboarding guidance when using Discuss, improving first-time user orientation.
Original PR description
The discuss onboarding tour was missing because it was in the tests assets. It has been moved and change for the new system of onboarding tour. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes website editing behavior for SVG shapes and illustrations that still use older file paths after the content moved to a new location. Business users will see the correct editing options, such as Dynamic Colors, while unsupported actions like cropping illustrations remain blocked as intended.
Original PR description
In [1] shapes and illustrations were moved to `html_editor`. While some features have been adapted to the new path, others did not. No upgrade script was created to convert existing `/web_editor/shape/` paths to new `/html_editor/shape/` paths. Instead, the old route was kept available. However, some conditions, selectors and domains that recognized those paths have not been adapted to detect both kinds of paths. This commit adapts those conditions, selectors and domains so that both kinds of paths are identified as being shapes or illustrations. Steps to reproduce: - Add an SVG illustration in a website page - Select it => The "Dynamic Colors" options were not displayed [1]: https://github.com/odoo/odoo/commit/44129d85bdc993e37384536519a03d7c29ac7e83 task-4052712
The sales order confirmation warning now better explains what to do when an order was created before a warehouse existed. This helps users resolve the issue by assigning the warehouse to the order instead of repeatedly being told to create one.
Original PR description
### Steps to reproduce: - Create a new company - With this new company, create an SO for a storable product - Try to confirm the SO #### > A redirect warning is raised: "Please create a warehouse…
### Steps to reproduce: - Create a new company - With this new company, create an SO for a storable product - Try to confirm the SO #### > A redirect warning is raised: "Please create a warehouse ..." - Go to warehouses and create such a warehouse - Try to confirm the SO once more #### > The same warning is raised: "Please create a warehouse ..." ### Cause of the issue: The redirect warning that asks you to create a warehouse is raised when you try to confirm an SO wihtout a set "warehouse_id": https://github.com/odoo/odoo/blob/114b476755c37ae670f613200ffcc03377258873/addons/sale_stock/models/sale_order.py#L102-L113 https://github.com/odoo/odoo/blob/114b476755c37ae670f613200ffcc03377258873/addons/stock/models/stock_warehouse.py#L166-L172 Since you created the SO before the warehouse, the SO is curently not linked to any warehouse. Furthermove, when you created the warehouse, it did not update the 'warehouse_id' so that the exact same warning will be raised after the warehouse creation. opw-4250791 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website task creation form preview no longer crashes when opened directly without an existing task. This helps website editors test and configure forms more reliably.
Original PR description
Currently, an exception is generated when the user clicks on the preview URL of the "Create a Task" form by following the steps: - Go to any website page and open the website editor - Add form to website page - click on the added form and select Action as "Create a Task" - Click on the Preview URL button of the added form >> errro generated Error `KeyError: 'task'` This is because when the user opens the direct URL, no task is available. This commit will fix the above issue by accessing the key `task` when it is available in view. sentry-5983056185
This update prevents manufacturing report logic from accidentally mixing up an input value while processing operations. It helps keep bill of materials structure reporting consistent and reduces the chance of incorrect results in manufacturing views.
Original PR description
This commit makes sure `operation` parameter is not reused in the `for` loop. 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 videos used as the cover media in website Card snippets could appear shifted or fail to fill the card correctly when a fixed ratio was applied. Website editors can now replace card cover images with videos and expect the layout to remain consistent.
Original PR description
In the "Card" snippet, if the cover image is replaced by a video, and if it has a ratio (i.e. the "Ratio" option is not set on "Image default"), the video is not placed correctly. This happens because the videos have a rule setting their position to `relative`, overriding the `absolute` position set and needed by the `ratio` class. This commit fixes that by setting the position of card cover videos as `absolute`, to be placed correctly according to the ratio. Steps to reproduce: - Drop a "Card" inner snippet. - Click on the cover image and replace it by a video. => The video is shifted and does not fill the wrapper properly. Related to task-3674888
This fix prevents Odoo from automatically opening a default form view in list screens unless the user is creating a new record or the action explicitly requests it. This avoids confusing navigation in certain list views while preserving the intended behavior for dedicated open-form buttons.
Original PR description
This commit tweaks the behavior of the openFormView function introduced in https://github.com/odoo/odoo/pull/176707 by making it fallback on the default form view only in create mode or when the caller explicitly wants it to (using the force parameter). This solves issues with some list views where we don't want to show the form view on click while keeping the spec intact in case of list's open_form_view button. Task-4164683
This fixes an ecommerce issue where choosing the same product in multiple combo options only added it once to the cart. Customers now get a separate cart line for each selected combo item, so orders better match what they selected and expect to receive.
Original PR description
When using combo products in ecommerce, if two of the combos contained the same product and they were selected, only one row with a quantity of 1 would be created. e.g. if a you had a double burger combo product and the combos looked like: - Burger 1: Cheeseburger, Double Cheeseburger, Chicken Burger - Burger 2: Cheeseburger, Double Cheeseburger Currently if you were to choose double cheeseburger in both options it would only add 1 burger with quantity of 1 to the basket. Ideally it should be following the same practise as sale orders and create a line per each item. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where scrolling an open Gantt popover out of view could trigger an error while it was closing. The change improves stability by ensuring the interface only repositions popovers when the required page elements are still available.
Original PR description
Since [1] have a gantt popover opened and then scroll the popover out: a traceback occur due to the onPositioned callback still called when the popover is being closed. Now usePosition will check if needed elements are connected before the positioning computation. [1]: https://github.com/odoo/enterprise/commit/ebeb633be737eb7bd614c2b474fafd65cd54f0ae
This update corrects a leftover internal reference in the hardware drivers used for customer-facing displays. It helps ensure connected display devices continue to launch and use the browser state correctly after a previous cleanup.
Original PR description
In #183565 the `chromium_additional_args` variable was removed, however a reference to it was missed in `DisplayDriver_L`. This PR fixes this reference by replacing it with `browser.state`. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales orders that open tasks from the Tasks button now show the expected project navigation bar when all tasks belong to the same project. This restores easier navigation for users moving between a sales order, its project, and related tasks, while keeping the previous behavior when tasks span multiple projects.
Original PR description
Steps to reproduce: ------------------- 1. Install Project and Sales app 2. Create an SO which generates a project with tasks on confirmation 3. Confirm the SO 4. From the SO form view, click on the 'Tasks' stat button 5. The top bar is unavailable Fix: ------------------- In the action method, we check if all the tasks linked to the SO are in the same project. If so, we display the top bar by retrieving the right xml_id and passing the active_id of the project in the context. If not (more than one project), we fall back on the current behaviour. task-4239673 version-18.0 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users verifying Indian E-waybill credentials in production will now see a clear validation message when the username or password is incorrect. This prevents a confusing system error and makes it easier to correct setup issues during accounting configuration.
Original PR description
Before this PR, if the E-waybill credentials are wrong, the user gets a traceback in the production environment due to 61a85754800. Instead we introduce a `ValidationError`. Steps to reproduce: - Turn On (✓) "Production Environment" and "Indian Electronic Waybill" from accounting configuration settings. - Click "Verify Username and Password" in "Indian Electronic Waybill".
This fix restores lot and serial number information in Maintenance when Inventory is also installed. It avoids a dependency issue that could prevent the feature from working reliably in existing databases.
Original PR description
Commit [1] is using models and data from `stock` module but `maintenance` does not depend on this one. A bridge would not be a solution on stable, since existing DBs that have both `stock` and `maintenance` would just lose the feature (the bridge would not be auto-installed) [1] https://github.com/odoo-dev/odoo/commit/1f2a5806b832529bd2ec53a878991e04800079bf sentry-5964505411
This fix lets users select multiple cells in tables when editing HTML content in Firefox. It removes a browser-specific editing issue, making table editing more reliable for users who work in Firefox.
Original PR description
This is a forward port of [1] to html_editor Issue: ====== - We can't select multiple cells in a table Origin of the issue: ==================== - When selecting multiple rows or columns inside a table in firefox, firefox creates multiples ranges per table cell selected. Solution: ========= - The first time we encounter more than 1 range, we merge them together and we manually update the selection - After the manual upadte, firefox will not trigger selectionchange anymore when we move the mouse, to deal with that we just manually call `handleFirefoxSelection` in `mousemove` event. task-4240675 [1]: https://github.com/odoo/odoo/commit/541c8baa550f072530c3ab9b7d3a9c32e2e6f095
Customers who must log in before ordering event tickets will no longer lose their selected tickets after signing in. This prevents frustration and avoids forcing attendees to restart the booking process.
Original PR description
Steps to reproduce ==================== - Say logging is mandatory to order (website settings). - Log in as a visitor, pick some tickets, and fill in the attendee details. - Try to confirm. - You are redirected to the login page and then to the event. - Your tickets are lost and you need to start again. After this PR ================== The cart will be restored with the ticket picked up, after login. Task-4039974
This fix ensures users can save email templates when using the mass mailing composer. If the composer cannot be saved first, the system now stops and shows the normal validation guidance instead of continuing into a broken template creation flow.
Original PR description
In the new composer design [1] saving a template is done by first saving the composer, then opening the "template creation" view on the same composer. The second step thus requires the composer to be properly saved first. This is easily checked as `Record.save` returns false on failure. In that case we do nothing and let the framework point out why the record could not be saved. [1]: 6c4526ec3b9509e0a6b99503d8d888417b2695e0 task-4246399
Dashboard administrators are now automatically treated as internal users, preventing permission mismatches that could break dashboard-related tests or setup flows. This keeps administrator access consistent and avoids errors caused by dashboard admins being treated like portal users.
Original PR description
With this commit, all Dashboard Admins are also automatically internal users. Steps to reproduce: - install module spreadsheet_dashboard_edition - run test `.test_session_info_with_right` => the test fails because of a combinaision of two factors: - the user is granted the group `group_dashboard_manager` but he is not an internal user (which means he is a portal user) - `_inverse_calendar_res_users_settings` creates `res.users.settings` for portal users (will be fixed independently) and it crashes in the readonly transaction --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Web Studio onboarding tour now appears correctly for users. This helps new or returning users discover Studio features as intended, improving guidance without changing core business workflows.
Original PR description
The studio onboarding tour was missing because it was in the tests assets. It has been moved and change for the new system of onboarding tour.
The update fixes an internal Documents test so it handles users who already belong to another company. This helps keep access-rights checks reliable in multi-company setups without changing everyday user behavior.
Original PR description
This commit fixes the test. When there is extra company then test is failing because it replaces the companies in user, instead of adding the new company.
This fixes an internal issue that could incorrectly shorten sorting rules used in grouped views and reports. The change helps ensure accounting and document lists are ordered consistently when custom sorting logic is involved.
Original PR description
`_read_group_orderby` used `cr.mogrify`, `split(",")` and `split()[0]` for the
result coming from the `_order_to_sql` which may come from `_field_to_sql`
As a side effect, SQL code after a space/newline not adjacent to a comma will
be dropped after `split()[0]`. So the mogrified customized `_field_to_sql`
shouldn't have any space/newline not adjacent to a comma if the field is used
for `Model._order`.Posting tax closings for foreign VAT reports no longer changes the company tax lock date. This prevents unnecessary restrictions and exceptions when businesses still need to post activity for other jurisdictions.
Original PR description
Before this commit, posting any tax closing would always set the tax lock date. This was a bit restrictive, and required making lock date exceptions in order to post operations for other non-closed reports. We alleviate that by only setting the tax lock date when the domestic closing is posted ; the idea being it's the main one. So, tax closings posted for other countries for which a foreign VAT fiscal position is defined do not affect the tax lock date anymore.
This update corrects how withholding reference information is read in the Indian TDS/TCS reporting module. It helps ensure the report uses the right linked accounting records and avoids errors caused by incomplete field access.
Original PR description
With this PR, field `l10n_in_withholding_ref_move_id` will be accessed with `mapped` from the record set which was missing in the commit https://github.com/odoo/enterprise/commit/69e5817f5c72b75f3879801364ca78c83b522f83
The SEPA direct debit mandate report layout has been adjusted so it prints on a single page. This helps users generate cleaner, more professional documents without awkward page breaks.
Original PR description
Adapt the layout of the account sepa direct debit report to make it fit on a single page. task-4183056
This update prevents Odoo from creating duplicate Avalara tax records when taxes share the same visible name but have different jurisdiction codes. It reduces billing and tax calculation interruptions by aligning how taxes are matched with Odoo's uniqueness rules.
Original PR description
We recently reworked the way taxes are named [1]. It considered the description part of the "key" that uniquely identifies a tax. The description contains the jurisCode field returned by Avatax [2].…
We recently reworked the way taxes are named [1]. It considered the description part of the "key" that uniquely identifies a tax. The description contains the jurisCode field returned by Avatax [2]. This key is used to find an already existing tax, and creates it if it doesn't yet exist. _constrains_name() of account.tax however, doesn't consider the description field. This means that two taxes with the same name (e.g. CA STATE 6%) and different jurisdiction codes (e.g. 001 and 013) cause issues. The first one will be created as normal. When the second one is processed it will fail to find a match because the description is different, so Odoo will create a second one resulting in a constraint error. To resolve this, stop adding the jurisdiction code and stop looking at the description all together. In the end it's not critical information that needs to be in Odoo. For tax details the user already relies on the Avalara portal anyway. [1] https://github.com/odoo/enterprise/pull/68549 [2] State assigned code identifying the jurisdiction. Note that this is not necessarily a unique identifier of the jurisdiction.
Users who try to validate the same project document twice will now see a clear invalid operation message instead of an unexpected error. This prevents disruption and makes the issue easier to understand and resolve.
Original PR description
Steps to Reproduce: 1. Select a document 2. validate document 3. click on validate again 4. Traceback thrown Technical Reason: Instead of raising a UserError, it throws a ValueError when evaluating directly '_()' in the XML file without using the 'env' context. After this commit: An invalid operation dialog will open with the message 'Impossible to validate twice'. Task-4228827
Manufacturing users can now post work-in-progress accounting entries even when a work order has been started but not yet given an end time. This avoids an unexpected error and helps keep manufacturing accounting actions from being interrupted.
Original PR description
before this commit, if user tries to open/generate WIP entry for manufacturing without recording the end time in the time tracking inside the work order a traceback is shown to user * create a manufacturing order that generate work order * in the work orders generated, start a work order * now click on POST WIP accounting entry from action * traceback is shown after this commit, no traceback wont be shown in the above scenario