Daily updates from Odoo
Friday, October 25, 2024
22 changes · 18.0
Resolved issues and error corrections
This update restores outstanding accounts in the Ecuador chart of accounts that were available in earlier versions. It helps Ecuadorian companies keep expected payment and receipt flows correctly represented in their accounting setup.
Original PR description
Add the Outstanding Accounts we had in V17.4 and earlier versions --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents errors when users navigate to client actions that include a record in the URL breadcrumb. Invalid breadcrumb entries are now handled cleanly and removed, improving navigation reliability without changing user workflows.
Original PR description
In the case of a client action with a record id on the breadcrumb part of the url (`myClient/22` for instance). The controller should return the display name for the combination action + record id. And for the action alone (a multi-record if it was the case of a window action), the controller should return an error, to be removed from the breadcrumb. This is because client actions don't have multi-records views. Before this commit, the controller avoids returning anything, and an error raised. Now, the controller returns correctly an error, and it's correctly removed from the breadcrumb.
This fix moves shared VAT reference data into the Accounting module so Accounting can operate correctly even when the separate VAT validation module is not installed. It prevents setup issues for businesses that use Accounting without that optional module.
Original PR description
In #180744, we used the `_ref_vat` dictionary in the `account` module in order to provide a placeholder for the company and partner VAT. However, `_ref_vat` was defined only in `base_vat` which depends on `account`, not the other way around. As such, some users might want to use `account` without `base_vat`. We therefore move `_ref_vat` to `account` to allow this. task-none
Fixed a visual issue in Manufacturing where hovering over sample data in the Work Center Overview graph could show an unwanted black spot. This keeps the dashboard cleaner and avoids confusion when reviewing work center information.
Original PR description
In the Work Center Overview, when sample data is present on graph overview, a black spot appears on hover. This PR fixes the issue by preventing it.
This update fixes how text color is chosen inside website cards so it better matches the card background and surrounding page. It helps prevent hard-to-read or inconsistent text when cards inherit different background styles.
Original PR description
Bootstrap sets up background-color using `var(--card-bg)` but forces a color using `var(--body-color)`. It relies on `var(--card-color)` being used on the card-body... but there does not seem to be a…
Bootstrap sets up background-color using `var(--card-bg)` but forces a
color using `var(--body-color)`. It relies on `var(--card-color)` being
used on the card-body... but there does not seem to be a valid reason
to force the body one on the card above. Given the fact that card-color
is actually null by default, we end up with an inconsistent body-color
forced on the card whatever the value of `card-bg`. In the website case,
we often set up `card-bg` to inherit by default, which means the text
color would only work if the card was over the body background color.
By forcing card-color we enforce something consistent and controllable,
which by default will result as the card text color just following the
parent environment one (as `card-color` is null by default). We assume
that if `card-bg` is set, then `card-color` should be too.
Note: doing `color: var(--card-color)` would prevent overriding
--body-color in the card context (which is a bit weird) but it does not
work: it would override the color given by bg-xxx in the .card.bg-xxx
case, which is not what we want.The web interface now safely removes outdated breadcrumb entries when the server no longer returns data for them. This prevents users from seeing an error after refreshing certain pages, such as subcontracting views opened from a Bill of Materials overview.
Original PR description
When a breadcrumb contains a client action without a multi-record view, load_breadcrumbs skips this action, returning nothing for that key. However, on the frontend, we are not removing these…
When a breadcrumb contains a client action without a multi-record view, load_breadcrumbs skips this action, returning nothing for that key. However, on the frontend, we are not removing these controllers and attempt to access display_name each time the user reloads the page. This PR resolves this issue. If the backend result is undefined for a key stored in a breadcrumb cache, we remove it. Steps to test: We can open any sub-view from the BoM overview, as it is an action without a multi-record view. 1. Activate the Subcontracting feature in the settings tab. 2. Go to the Manufacturing app. 3. Click on the Product tab. 4. Select the Bills of Materials 5. Select Office Lamp BoM, for example 6. Click on BoM Overview 7. Click on Subcontracting 8. Refresh the page An error should appear, indicating an attempt to access display_name on an undefined object. Related Commit: https://github.com/odoo/odoo/commit/5047d1b3f4b2bd8061a15457350a0250bf93145f https://github.com/user-attachments/assets/57633318-cc24-4e0d-acb2-0f27f7ccd847 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error when checking OCR processing status for accounting documents that have no tax group data. It helps users avoid unexpected crashes while invoices or documents are being processed by OCR.
Original PR description
The error occurs at [1] because we are attempting to fetch the first record of ``tax_groups`` from ``subtotal``, but ``tax_groups`` is empty. As a result, there is no valid index for…
The error occurs at [1] because we are attempting to fetch the first record of ``tax_groups`` from ``subtotal``, but ``tax_groups`` is empty. As a result, there is no valid index for ``subtotal['tax_groups']``, leading to an index error.
Traceback:
---
```
IndexError: list index out of range
File "odoo/http.py", line 2365, in __call__
response = request._serve_db()
File "odoo/http.py", line 1892, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1955, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1922, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2169, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 329, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 728, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 517, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "home/odoo/src/enterprise/18.0/iap_extract/models/extract_mixin.py", line 214, in check_ocr_status
record._check_ocr_status()
File "home/odoo/src/enterprise/18.0/iap_extract/models/extract_mixin.py", line 338, in _check_ocr_status
self.with_company(self.company_id)._fill_document_with_results(ocr_results)
File "home/odoo/src/enterprise/18.0/account_invoice_extract/models/account_invoice.py", line 732, in _fill_document_with_results
self._save_form(ocr_results)
File "home/odoo/src/enterprise/18.0/account_invoice_extract/models/account_invoice.py", line 938, in _save_form
self._check_total_amount(total_ocr)
File "addons/account/models/account_move.py", line 3738, in _check_total_amount
subtotal['tax_groups'][0]['tax_amount_currency'] += tax_amount_rounding_error
```
[1]- https://github.com/odoo/odoo/blob/c047bf3d89e630c98c61bc45df7391fe0732c343/addons/account/models/account_move.py#L3747
sentry-6012011017
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prFixes an issue where undoing an icon size change removed the icon instead of restoring its previous size. This makes editing website content more predictable and reduces accidental content loss.
Original PR description
**Behaviour before PR:** Steps to reproduce: - Add an icon. - Change it's size from 1x to 2x or whatever. - Try to undo. Icon is removed at all instead of resizing to 1x. **Behaviour after PR:** Now undo works properly after changing icon's size. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents pending local edits in embedded content from accidentally overwriting changes made by collaborators. It also streamlines how editor history updates are handled, improving consistency and reducing unnecessary processing.
Original PR description
### Issue: There was an issue when applying embedded state changes from a peer while there was a pending local embedded state change. Old unchanged properties of the local embedded change would…
### Issue: There was an issue when applying embedded state changes from a peer while there was a pending local embedded state change. Old unchanged properties of the local embedded change would overwrite peer changes. Instead, `commitStateChange` must check if a property has changed and replace the property only if that is the case. --- Furthermore, this PR introduces another small improvement: remove editor command "ADD_EXTERNAL_STEP" This command's purpose was to dispatch the event at each individual external step, but it was only used for embedded components, and `onExternalHistorySteps` resource (which handles every batch of collaborative steps) is enough for embedded components, and it is called less often. This commit therefore removes `ADD_EXTERNAL_STEP` command. Small fix to the table of content plugin, only `STEP_ADDED` has a `stepCommonAncestor` payload property, therefore commands which don't have it will use `this.editable` instead to search for new headings. task-4281356
This update makes automated guided flows behave correctly when pop-up windows are present, ensuring steps target the active window or close it when needed. This improves reliability of website, point of sale, eLearning, and asset validation tests without changing day-to-day user features.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: https://github.com/odoo/enterprise/pull/72756 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a visual issue where status bar arrows could appear broken or separated from their labels on touchscreen devices. It improves the appearance and usability of status indicators in form views, such as CRM leads, without changing business workflows.
Original PR description
On touchscreen, the interactive elements' padding is extended to make them easier to target with fingers. This commit fixes a glitch in the StatusBarField's arrow where the said arrow doesn't touch the bottom of its element. Further more, it reworks the shape to avoid having a small (but visible) gap between the "arrow" part and the "label" one (in addition to weird background, appearing border occasional glitches). Steps to reproduce (on touchscreen): - Open CRM app - Open a lead (form view) => check the statusbar field arrow is "broken" at the bottom and a gap between the arrow and the label task-4212908 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an access error that prevented users with Invoicing Administrator rights from creating a company branch. Branch creation now works without requiring extra technical accounting permissions, reducing setup friction for finance administrators.
Original PR description
**Steps to reproduce:** - Install Invoicing - Make sure that current user has "Invoicing: Administrator" rights - Go to the configuration of a company - Create a branch - Save **Issue:** An Access Error is raised because a write is performed on an "account. reconcile.model.line" record while loading the chart template during the creation of the branch, but the user has not the appropriate group (i.e. Technical/Show Full Accounting Features). The creation of a branch should be possible for a user with the "Invoicing: Admnistrator" rights, even if he has no edition right on "account.reconcile. model.line" model. opw-4247717 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Updates the spreadsheet component with fixes and usability improvements for charts, pivots, formatting, and collaboration. Business users should see more accurate chart labels and tooltips, more reliable pivot behavior, and smoother formatting actions in spreadsheets.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/788df9213 [REL] 18.0.2 Task: 0 https://github.com/odoo/o-spreadsheet/commit/977b8f265 [IMP] charts: limit trending…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/788df9213 [REL] 18.0.2 Task: 0 https://github.com/odoo/o-spreadsheet/commit/977b8f265 [IMP] charts: limit trending line degree range Task: 4207820 https://github.com/odoo/o-spreadsheet/commit/9f337f326 [FIX] Charts: Fix tooltip value when data is zero Task: 4251681 https://github.com/odoo/o-spreadsheet/commit/f51993403 [IMP] pivot: disable automatic autofill Task: 4256700 https://github.com/odoo/o-spreadsheet/commit/4f2950a8b [FIX] paint format: copy conditional formats Task: 4226853 https://github.com/odoo/o-spreadsheet/commit/b977d1f66 [FIX] test: skipped test in `renderer_plugin.test.ts` Task: 4276968 https://github.com/odoo/o-spreadsheet/commit/5953d29a4 [FIX] format painter: use a single history step Task: 4277362 https://github.com/odoo/o-spreadsheet/commit/8ee4266a9 [FIX] logs: log performance information at debug level Task: 0 https://github.com/odoo/o-spreadsheet/commit/a81189ba1 [FIX] chart: avoid overlapping values on charts Task: 4207889 https://github.com/odoo/o-spreadsheet/commit/2e95535f0 [FIX] pivots: don't translate pivot titles Task: 4239967 https://github.com/odoo/o-spreadsheet/commit/b50c0f286 [FIX] pivot: autocomplete dimension after positional Task: 4235329 https://github.com/odoo/o-spreadsheet/commit/ab8b491c9 [FIX] chart: cleanup tooltip title code Task: 4269632 https://github.com/odoo/o-spreadsheet/commit/187843ed1 [FIX] side_panel: unify font weight across side panels Task: 4194259 https://github.com/odoo/o-spreadsheet/commit/3a77fe228 [FIX] pivot: divergent collaborative duplicated pivot name Task: 4199949 Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
The Sign app’s automated test was made more stable by ensuring it uses the correct signing template and by allowing more time for the test to complete. This reduces false test failures in the development pipeline without changing customer-facing features.
Original PR description
The shared_sign_request_tour, attempts to open some template and then click on some sign item. However it fails when it tries to click on the sign item, because it's not found. This happened because the tour sometimes open the wrong sign template (one with no items). This commit aims to fix the issue by archiving other sign templates when testing this flow. fixes runbot-98036
The Planning test data now gives Aaron's calendar a full-time hours value, so the expected workload indicator appears during automated checks. This helps keep the Planning schedule view reliable after changes to flexible working hours.
Original PR description
Before this commit, since the `full_time_required_hours` field is unset on the calendar of Aaron employee, the test `/planning:TestUi.test_01_ui` fails because no progressbar is displayed for that employee in the gantt view of `planning.slot` model, meaning the employee is not supposed to work. This commit sets `full_time_required_hours` on the calendar of `Aaron` employee to display the progressbar for that employee as it was expected before the rework of flexible hours for resources. runbot-99111
Non-timesheet analytic entries can now be edited without incorrectly triggering the timesheet-specific unit amount limit. This prevents unnecessary errors when business data uses larger values outside timesheets.
Original PR description
Before this commit, when the user alters the unit_amount field of an analytic account line which is not a timesheet and the amount has more than 6 digits then the user will get a user error saying he cannot encode a number with more than 6 digits for the unit amount field. This commit makes sure the check made on the unit amount is only made when the analytic line altered is a timesheet.
A Studio approval test was corrected so it targets the right button instead of accidentally triggering an app installation. This prevents crashes during automated checks and helps keep Studio validation reliable.
Original PR description
Before this commit, in single app mode (only studio is installed), a tour failed because we added approvals on a button on the Form View of Apps without specifying which. At the end of the day, a module got actually installed which triggered a lot of crashes, including the tour itself and a few low-level cursor-related functions. After this commit, we precisely specify in the tour on which button and function we make approvals for. The tour succeeds and there is no crash.
The quality measurement screen no longer shows a “Take measure” prompt when no scale or device is connected. This avoids confusing operators because they need to enter the measurement manually in that case.
Original PR description
When real time measure is not linked to a device (scale), no need to add the 'Take measure' label as the user must input a value
Financial report variants that depend on a matching chart of accounts are now available when users work across multiple companies. This prevents valid reports, such as localized profit and loss or balance sheet variants, from disappearing simply because several companies are selected.
Original PR description
### Steps to reproduce the issue: 1. In a Multi-Company setup with different Charts of Accounts, create (or find) a Report with Availability set to Chart of Account Matches - For example, you can use…
### Steps to reproduce the issue:
1. In a Multi-Company setup with different Charts of Accounts, create (or find) a Report with Availability set to Chart of Account Matches
- For example, you can use Belgian Profit and Loss or Balance Sheet reports
2. With multiple companies visible, including the one with the correct Chart of Accounts, go to the Root Report of the one you created (or found)
3. Under the Report Variants filter, the "coa" Report can not be found, or the filter is simply not displayed
### Explanation:
When looking for variants with `availability_condition="coa"`, the current condition is for `companies.mapped("chart_template")` to consist of only `account.report.chart_template`.
Before 18.0, `account.report` using `account.account.code` as filter retrieved accounts from all active companies. `account.account` with a `code` corresponding to the request, even if their function is not the same, would be added into the report, falsing the amounts as a result.
### Fix reasoning:
Since 18.0, with commits odoo/odoo@854c3b27aa5476c208572f19e64f8f3364bfc381 and odoo/enterprise@92bf8e36c40f99c697318ddc9784cde0a1b3736e, `account.account.code` became company dependent, and only `self.env.company` is used to retrieve them in `account.report`.
Thanks to this change, `availability_condition="coa"` does no longer require a restriction to environments where all companies have `account.report.chart_template`.
opw-4263627Automated product walkthroughs now close any open pop-up window when the next item to interact with is hidden behind it. This helps internal testing flows run more consistently for areas such as Helpdesk timesheets and point-of-sale account settlement.
Original PR description
In this commit, we close active modals when the focussed element of a step (trigger) is below the modal. https://github.com/odoo/odoo/pull/185231
The HR contract dashboard now uses contract start and end dates instead of fixed dates or current status when showing historical contract data. This makes past reporting more accurate, including for archived employees who should still appear in historical figures.
Original PR description
Column L and M were static (hardcoded dates) Task: 4268760
Spreadsheet side panel headings now use a shared bold style, making the interface more visually consistent across filters, lists, pivots, and related panels. A related test was also added to help ensure pivot autocomplete behavior remains reliable.
Original PR description
The font weight of this side panel was previously inconsistent with other side panels. This commit introduces a constant for the side panel title font weight to ensure consistency and replaces Bootstrap classes with custom class o-fw-bold. Task: 4194259