Friday, January 10, 2025
9 changes · 17.0
Resolved issues and error corrections
This fixes a crash when a server action is configured to update record properties that are not supported in that path. Instead of showing a technical traceback, Odoo now raises a clearer validation message so users and support teams can understand and correct the configuration.
Original PR description
Scenario: create a server action that updates a properties
Result: traceback error is raised
Issue: server action does not handle updating record properties Fix: ignore the error in _stringify_path method, so the more legible
ValidationError from _traverse_path is raised instead.
Note: without the fix, the added test failed with "KeyError: 'discussion_color_code'", with the fix it doesn't fail (and there is a "ValidationError: 'The path to the field to update contains a non-relational field (attributes) that is not the last field in …'").
opw-4339633Mobile users can now edit tags and assigned users when creating or updating to-dos. The action menu stays open for these fields, preventing interruptions and making mobile task management smoother.
Original PR description
Before this commit, when the user is on mobile and try to edit/create a new todo, the user cannot edit a tag or users because those fields are displayed in actions dropdown and that dropdown is closed each time the user clicks on one of those fields. This commit prevents to close the dropdown in todo form view since that dropdown contains fields and not buttons to let the user to edit those fields.
Duplicated server actions now automatically receive a “(copy)” suffix in their name. This helps users distinguish copied actions from originals and reduces confusion when managing automations.
Original PR description
Before this commit: When a user duplicates a server action, the new action retains the exact same name as the original. After this commit: Duplicated server actions are assigned a name with the suffix "(copy)" to differentiate them from the original action. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue in the To-Do app on mobile where the tag and assignee selection menus closed immediately after tapping them. Mobile users can now update tags and assignees on To-Do records without interruption.
Original PR description
Close #190304 * STEP TO REPRODUCE: go to todo app with mobile view, then open any record and try to edit tags or assignee, the dropdown menu keep closing after click 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 the currency column from appearing twice in the payment-related accounting list when multiple currencies are active. Users get a cleaner, less confusing view with the same information shown only once.
Original PR description
Description of the issue/feature this PR addresses: This PR addresses the issue where the currency column repeats in view_move_line_payment_tree view when there are multiple active currencies. This can lead to confusion and clutter in the user interface. Current behavior before PR: Before this PR, when multiple active currencies are set up, the currency column is duplicated in view_move_line_payment_tree view, displaying the same information multiple times. Desired behavior after PR is merged: After merging this PR, the currency column will appear only once when the optional hide setting is enabled, even with multiple active currencies, resulting in a cleaner and more readable report. [Video](https://drive.google.com/file/d/1bL8L88y81HomX6Q9MkErmOGVDWHdE4_r/view) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The reconciliation wizard now avoids creating small, unnecessary exchange difference entries when all related foreign-currency journal items used the same exchange rate. This reduces confusing accounting noise caused only by rounding differences, making write-offs clearer for users.
Original PR description
When creating a write-off for multiple multicurrency journal items that where created with the same rate, the reconciliation wizard will recompute the balance of the write-off based on the residual…
When creating a write-off for multiple multicurrency journal items that where created with the same rate, the reconciliation wizard will recompute the balance of the write-off based on the residual amount of the journal items in invoice currency and the reconciliation rate. Because each journal item applied rounding separately, the resulting amount might differ from the residual amount of the journal items in company currency, which will trigger the creation of an exchange difference entry (for a few cents). This entry is spurious and confusing for the user because the reconciled journal items all shared the same currency and rate and therefore the reconciliation does not correspond to a currency exchange event. After this commit, when computing the residual amount to write-off in the reconciliation wizard, we check whether the journal items used the same rate as the reconciliation rate, and in that case we directly take the residual amount of the journal item in company currency instead of recomputing the residual amount based on the invoice currency amount and the reconciliation rate, thus avoiding rounding errors. task-4247344
The online bank synchronization process now turns its background scheduler on only when there are accounts that need transaction fetching. This reduces unnecessary repeated checks, lowering system workload without changing the user workflow.
Original PR description
This commit ensures the asynchronous fetching cron is activated or deactivated only when necessary. Previously, the cron was executed every 5 minutes to check for online accounts to fetch transactions, even when none were present, leading to useless call to the cron. With this update, a toggle function is introduced, which is triggered whenever a journal or an online account is created, modified, or removed. Before deactivating the cron, the function verifies that no journals with an online account are currently in the fetching process, preventing unnecessary execution. no task id
Installing Inventory could fail for companies that had Accounting configured without a state on the company record and certain fiscal position settings. The update makes the accounting reports setup handle that missing optional company state safely, preventing the installation from crashing.
Original PR description
Currently, a traceback occurs if the user installs an inventory module, When the accounting module was installed, there was no state_id in the company. To reproduce this issue: 1) Install…
Currently, a traceback occurs if the user installs an inventory module, When the accounting module was installed, there was no state_id in the company. To reproduce this issue: 1) Install `Accounting` and remove the state from the company 2) Update a Fiscal Position record with Foreign Tax and Federal State 3) Now install the inventory module Error:- ``` TypeError: sequence item 0: expected str instance, bool found ``` Here, State_id is not a required field in the company, So, the user can remove it. When there is no `state_id` and a fiscal position record has a Foreign Tax. We get a traceback from the below lines. https://github.com/odoo/enterprise/blob/1c6f0273e76b6dfb89ef65eb359e620b9c4c5759/account_reports/models/res_company.py#L216-L219 This is because we have a `vat_fpos_with_state_count` value due to foreign vat in fiscal position, but we don't have a state_id in the company. So the `state_codes` value will be a list of bool, which leads to the above traceback. We can resolve this issue by making the code more robust. sentry-6203209197
Fixes a display issue in Documents where very long tag labels could push the delete icon out of alignment. Users can now reliably click the visible delete icon to remove tags, even when category or tag names are unusually long.
Original PR description
When a tag has both a very long category and a very long tag name, the delete icon becomes misaligned due to text overflow. This causes the clickable area for the icon to shift away from where the…
When a tag has both a very long category and a very long tag name, the delete icon becomes misaligned due to text overflow. This causes the clickable area for the icon to shift away from where the icon is visually displayed. As a result, users might think they cannot delete the tag because clicking directly on the icon does not trigger the delete action. To fix this, we can apply `max-width: 2ch` to the delete icon. Since the icon will always be one character's width, giving them 2ch width will be enough to properly display it without taking more space than needed, and ensures that the icon remains properly aligned with the tag, regardless of text length. This ch unit corresponds to be Equal to the “0” (ZERO, U+0030) glyph found in the font used to render it. Before the fix: <img width="296" alt="image" src="https://github.com/user-attachments/assets/f3f45666-0c21-4334-823a-a2afacd5ebe2" /> After the fix: <img width="292" alt="image" src="https://github.com/user-attachments/assets/7deb8253-bcd3-4469-9c5b-8a135591d331" /> FW-bot up to 18.0 opw-4403905