Friday, October 25, 2024
11 changes
7 changes
Resolved issues and error corrections
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-prThis 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 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>
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-4263627The 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
4 changes
Resolved issues and error corrections
This pull request addresses several minor issues impacting the shop floor experience in Odoo Enterprise. Specifically, it corrects inaccurate quantity displays during production steps and improves filtering of workorders linked to shop floor workcenters, ensuring data consistency and a more reliable workflow. These changes enhance the accuracy of production tracking and reporting.
Original PR description
Collection of small shop floor fixes for v17. Please refer to the individual feature commits for details.
This update fixes a bug where the 'past' filter on the Odoo portal's appointment section was being unintentionally removed from the URL, causing users to lose their filter settings. The fix ensures that the 'past' filter remains active and persistent across multiple pages of appointments, improving the user experience. This resolves a reported issue impacting appointment scheduling functionality.
Original PR description
steps: -> populate the portal user's appointments with enough appointments to have multiple pages in the portal -> go on the portal, filter by "past" -> go to page 2 --> the filter by "past" is removed from the url opw-4236596 Forward-Port-Of: odoo/enterprise#71965
This update resolves an issue where Brazilian service invoices were incorrectly generating HS codes, leading to validation errors with Avalara. Avalara support clarified that service invoices require periods to be kept but leading zeroes to be removed, a change now implemented to ensure compliance with local tax regulations.
Original PR description
Some cities that process service invoices [1] have stricter hsCode validations than others and error on the hsCode we send. Avalara requires periods to be removed from the hsCode field for goods transactions. This was already the case. For services they inform us that the periods should be kept but leading zeroes should be stripped [2]. [1] e.g. Belo Horizonte [2] There's no documentation on this. This was specified by Avalara support in an internal support ticket. opw-4009684
This fix prevents the salary configurator from overwriting existing employee user names and identifiers (like trigrams). When an employee already has a user account set up with specific naming conventions, the system will now preserve that information instead of replacing it with values entered in the salary configurator.
Original PR description
Purpose ======= If there is already a user for a given employee (including a trigram for instance), we should avoid erasing it to the value the employee encodes on the salary configurator.