Thursday, March 9, 2023
15 changes · master
Enhancements to existing features
Newly inserted or copied Odoo graphs in spreadsheets are now selected right away, making it clearer which chart the user is editing. This improves the spreadsheet experience by reducing extra clicks and aligning chart behavior with user expectations.
Original PR description
Adapt changes from o_spreadsheet of the opening of the chart side panel in the Odoo tests. Odoo task [2982377](https://www.odoo.com/web#id=2982377&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
The spreadsheet editing feature was adjusted to work with an updated internal error-handling process. This helps keep spreadsheet interactions reliable and aligned with the latest platform behavior, with no expected change to day-to-day usage.
Original PR description
Odoo task [3090717](https://www.odoo.com/web#id=3090717&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form)
Resolved issues and error corrections
The UNSPSC selection list now displays the code when users open the expanded search results. This makes it easier to identify and choose the correct classification, reducing lookup mistakes.
Original PR description
Before this PR when clicking the search more button when searching unspsc, the list view was missing the "code". This PR corrects that. task-id: 3213803
Code cleanup and technical improvements
The spreadsheet document feature was reorganized so its interface components and templates are split into clearer parts. This makes the feature easier to maintain and extend in future updates, with little direct impact on day-to-day users.
Original PR description
Odoo task 2813881
Miscellaneous changes
The minimum package weight accepted by FedEx is 0.01 Kg, which is incorrectly specified as 0.1 in the code after refactoring. opw-3210371 Forward-Port-Of: odoo/enterprise#37952
Original PR description
The minimum package weight accepted by FedEx is 0.01 Kg, which is incorrectly specified as 0.1 in the code after refactoring. opw-3210371 Forward-Port-Of: odoo/enterprise#37952
Spreadsheet template data is now prepared on the server instead of in the browser. This keeps the business-facing spreadsheet code simpler and reduces unnecessary technical handling in the user interface without changing how users work with templates.
Currently, the inverse method of the is_user_favorite field is implemented to always toggle the value, no matter what we actually set on the record. This commit fixes the method by correctly computing whether we want to enable or disable the favorite. The "action_toggle_favorite" method is adapted accordingly. Some tests were also modified to ensure the behavior is consistent. Task-3207966 Forward-Port-Of: odoo/enterprise#37918
Original PR description
Currently, the inverse method of the is_user_favorite field is implemented to always toggle the value, no matter what we actually set on the record. This commit fixes the method by correctly computing whether we want to enable or disable the favorite. The "action_toggle_favorite" method is adapted accordingly. Some tests were also modified to ensure the behavior is consistent. Task-3207966 Forward-Port-Of: odoo/enterprise#37918
If applied, this commit will solve the feedback survey issue. Before this commit: ===================== when we ask for feedback from any recipient(s) multiple times. it will raise an error like this 'list' object has no attribute 'filtered'. It will raise when we select the same recipient(s) in the same appraisal form again and click on the 'Send' button. After this commit: ===================== It will allow work multiple times when we click on the 'Send' button and returns the exist
Original PR description
If applied, this commit will solve the feedback survey issue. Before this commit: ===================== when we ask for feedback from any recipient(s) multiple times. it will raise an error like this 'list' object has no attribute 'filtered'. It will raise when we select the same recipient(s) in the same appraisal form again and click on the 'Send' button. After this commit: ===================== It will allow work multiple times when we click on the 'Send' button and returns the existing_answers. There is some variable issue that is also fixed in this commit: 'answer' > 'answers'. see - https://tinyurl.com/2fyjufzx sentry - 3968724337 Forward-Port-Of: odoo/enterprise#37753
Remove the escape method since it'll be properly escaped in the template. See the community commit. Forward-Port-Of: odoo/enterprise#37738 Forward-Port-Of: odoo/enterprise#37533
Original PR description
Remove the escape method since it'll be properly escaped in the template. See the community commit. Forward-Port-Of: odoo/enterprise#37738 Forward-Port-Of: odoo/enterprise#37533
When saving the worksheet in quality_mrp_workorder_worksheet, no action is returned on a pass so we get a: TypeError: Cannot read properties of undefined (reading 'context') This fix ensures that nothing needs to be done if no action is returned and we can also remove the useService("action"). Forward-Port-Of: odoo/enterprise#37950
Original PR description
When saving the worksheet in quality_mrp_workorder_worksheet, no action is returned on a pass so we get a:
TypeError: Cannot read properties of undefined (reading 'context')
This fix ensures that nothing needs to be done if no action is returned and we can also remove the useService("action").
Forward-Port-Of: odoo/enterprise#37950This commit remove the condition on the separator in the website_knowledge module to separate the added buttons by inheritance from the rest of the share panel. Before this commit, when an article was readonly the separator was not present. Now, either if we are in readonly or not the separator is visible. task-3211699 Forward-Port-Of: odoo/enterprise#37707
Original PR description
This commit remove the condition on the separator in the website_knowledge module to separate the added buttons by inheritance from the rest of the share panel. Before this commit, when an article was readonly the separator was not present. Now, either if we are in readonly or not the separator is visible. task-3211699 Forward-Port-Of: odoo/enterprise#37707
**Current behavior before PR:** If the user opens the trashed article and then switches to any active article via the tree panel, clicking on the share button share panel won't display. This is because the state "displaySharePanel" wasn't updated for the above case. **Desired behavior after PR is merged:** The share button element added to dependency function of useEffect hook. If there is a change in the button state, the useEffect will be re-executed and expected behavior will work.
Original PR description
**Current behavior before PR:** If the user opens the trashed article and then switches to any active article via the tree panel, clicking on the share button share panel won't display. This is because the state "displaySharePanel" wasn't updated for the above case. **Desired behavior after PR is merged:** The share button element added to dependency function of useEffect hook. If there is a change in the button state, the useEffect will be re-executed and expected behavior will work. Task-3106375 Forward-Port-Of: odoo/enterprise#37592
Steps to reproduce: - change the reference uom for weight and archive the kg record - create an intrastat invoice Result: - each report line appears twice opw-3188272 Forward-Port-Of: odoo/enterprise#37932 Forward-Port-Of: odoo/enterprise#37841
Original PR description
Steps to reproduce: - change the reference uom for weight and archive the kg record - create an intrastat invoice Result: - each report line appears twice opw-3188272 Forward-Port-Of: odoo/enterprise#37932 Forward-Port-Of: odoo/enterprise#37841
Before this PR the label of account_depreciation_id and account_depreciation_expense_id were not the same is the list and form view, this pr corrects that task-id: 3215877 Forward-Port-Of: odoo/enterprise#37811
Original PR description
Before this PR the label of account_depreciation_id and account_depreciation_expense_id were not the same is the list and form view, this pr corrects that task-id: 3215877 Forward-Port-Of: odoo/enterprise#37811
### Steps to reproduce - create an asset associated with a bill, and confirm. - in the `Depreciation Board` tab, try to modify the depreciation amount of one of the lines You should be met with the following traceback: ```py RPC_ERROR Odoo Server Error Traceback (most recent call last): File "/home/odoo/src/odoo16/odoo/odoo/http.py", line 1584, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/home/odoo/src/odoo16/odoo/odoo/service/model.py", li
Original PR description
### Steps to reproduce - create an asset associated with a bill, and confirm. - in the `Depreciation Board` tab, try to modify the depreciation amount of one of the lines You should be met with the…
### Steps to reproduce
- create an asset associated with a bill, and confirm.
- in the `Depreciation Board` tab, try to modify the depreciation amount of one of the lines
You should be met with the following traceback:
```py
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo16/odoo/odoo/http.py", line 1584, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/src/odoo16/odoo/odoo/service/model.py", line 134, in retrying
result = func()
File "/home/odoo/src/odoo16/odoo/odoo/http.py", line 1613, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/src/odoo16/odoo/odoo/http.py", line 1810, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/src/odoo16/odoo/odoo/addons/base/models/ir_http.py", line 149, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/src/odoo16/odoo/odoo/http.py", line 699, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/odoo16/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/src/odoo16/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo16/odoo/odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo16/odoo/odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/src/odoo16/enterprise/account_asset/models/account_asset.py", line 328, in onchange
return super().onchange(values, False, {
File "/home/odoo/src/odoo16/odoo/odoo/models.py", line 6465, in onchange
snapshot0.fetch(name)
File "/home/odoo/src/odoo16/odoo/odoo/models.py", line 6277, in fetch
self[name] = [Snapshot(line, tree[name]) for line in record[name]]
File "/home/odoo/src/odoo16/odoo/odoo/models.py", line 6277, in <listcomp>
self[name] = [Snapshot(line, tree[name]) for line in record[name]]
KeyError: 'original_move_line_ids'
```
opw-3119727
opw-3146212
Forward-Port-Of: odoo/enterprise#37400