Tuesday, June 9, 2020
28 changes · master
Enhancements to existing features
This update adds date-based filters to search views across many Odoo apps so users can quickly narrow records and reports by relevant dates. It prepares the product for a broader time range feature rework while keeping common reporting and operational searches easy to use.
Original PR description
PURPOSE ======= The task aims at adding date filters across various modules in preparation for the 'time range' feature rework on task 2245719 https://www.odoo.com/web#id=2245719&action=327&model=project.task&view_type=form&cids=1&menu_id=4720 SPECIFICATION ============= New date filters to compensate the deprecated time ranges feature: See task's pad for the complete details TaskID: 2263661 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 update adds new date-based search filters across many Odoo apps, making it easier for users to find records by relevant time periods. It prepares the system for a reworked time range experience while preserving practical filtering options in reports and operational views.
The approval popover in Studio now uses color more prominently so users can quickly see what has been approved or rejected. The update also prevents separate approval rules from interfering with each other, improving reliability when multiple rules are configured.
Original PR description
Use colors more prominently to clearly show what has been approved or rejected at a glance. Task-2274301
Resolved issues and error corrections
The web interface’s underlying Owl component library was updated from version 1.0.8 to 1.0.9. This is a small maintenance fix that helps keep the user interface foundation current and may include minor stability improvements.
Original PR description
This commit updates owl from v1.0.8 to v1.0.9.
Code cleanup and technical improvements
The internal guidance for Odoo's control panel has been refreshed to match recent changes in comparison options and advanced search. This helps teams maintain and extend these areas more consistently, with no direct change to daily user workflows.
Original PR description
Class documentation for the control panel component has been updated to reflect the changes on the comparison menu. Enterprise: https://github.com/odoo/enterprise/pull/11022
Miscellaneous changes
### Issue - Install Discuss & any app with a chatter - Have 2 session, admin & demo - Clear admin systray messages As demo: - Discuss > #general - Ping (@...) admin 2 times As admin: - Go in the app you installed - Open systray messages - Mark messages as read It doesn't work ### Cause When marking as read we get the message-ids as a string and if you have several ids it will be ["1,2"] which is not supported by the back-end ### Solution The b
Original PR description
### Issue - Install Discuss & any app with a chatter - Have 2 session, admin & demo - Clear admin systray messages As demo: - Discuss > #general - Ping (@...) admin 2 times As admin: - Go in the app you installed - Open systray messages - Mark messages as read It doesn't work ### Cause When marking as read we get the message-ids as a string and if you have several ids it will be ["1,2"] which is not supported by the back-end ### Solution The back-end should receive an array like [1, 2] **OPW-2234671** -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#52579
Original PR description
PURPOSE ======= The task aims at adding date filters across various modules in preparation for the 'time range' feature rework on task 2245719 https://www.odoo.com/web#id=2245719&action=327&model=project.task&view_type=form&cids=1&menu_id=4720 SPECIFICATION ============= New date filters to compensate the deprecated time ranges feature: See task's pad for the complete details TaskID: 2263661
This fixes an issue where hidden website editor snippets could not be activated because a loading effect in the side panel got in the way. Removing that conflicting effect restores expected editing behavior with minimal impact while a future interface update is reviewed.
Original PR description
The loading effect of the left panel was conflicting with the invisible snippet activation. This is to be reviewed with the new UI anyway, so the loading effect is just removed in that case for now.
This fix updates an internal automated test check so it correctly detects focused JavaScript tests after a prior asset naming change. It helps prevent accidental test-only code from being merged, reducing quality risks without changing user-facing behavior.
Original PR description
Assets bundle names have been changed in #48676 but QUnit.only uses check was still using old names. This commit makes that check use the new names. task-2274185
This fix prevents errors when importing PDF files that do not contain embedded attachments. Instead of crashing, Odoo now treats those PDFs as having no attachments, making PDF handling more reliable for users.
Original PR description
…df without embedded files 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
The map view now shows readable titles in its list instead of an incorrect placeholder text. It also closes outdated popups when the map view refreshes, preventing users from seeing information for removed markers.
Original PR description
[FIX] web_map: fix list item title This commit fixes the title on item in the map view's list. Title was showing [object Object] --- [FIX] web_map: close popup on view patched Before this commit, if a popup was open and the view has patched this popup wasn't closed even if its marker was removed. This commit fixes that issue.
The mobile control panel search interface has been updated to work correctly after a recent menu change. This helps users on mobile devices access search and comparison options reliably, reducing confusion and improving day-to-day usability.
Original PR description
Control panel mobile search has not been updated when the TimeRangeMenu has been changed to the ComparisonMenu. It now has been correctly implemented and a test has been written. Community: https://github.com/odoo/odoo/pull/52662
Create an invoice pay it unreconciled the payment set the payment back to draft. Change client and amount Validate The payment is automatically reconciled with the invoice even though it even has a different client assigned. The payment shoudl be left unreconciled. User will need to match the payment with the correct client themselves at their own time. opw-2270409 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/od
Original PR description
Create an invoice pay it unreconciled the payment set the payment back to draft. Change client and amount Validate The payment is automatically reconciled with the invoice even though it even has a different client assigned. The payment shoudl be left unreconciled. User will need to match the payment with the correct client themselves at their own time. opw-2270409 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#52494
Steps to reproduce the bug: - Let's consider a company C in the Arab Emirates(AE) with l10n_ae - Let's consider a customer C1 from AE (as country) and Abu Dhabi (as state) - Let's consider a customer C2 from AE (as country) and Dubai (as state) - Let's consider that the current user has no right in accounting - Let's consider the SO sequence with no_gap and with next_number=1 - Create a product P with 5% dubai tax - Create SO1 for C1 with P (next_number=2) - Create SO2 for C2 with P (n
Original PR description
Steps to reproduce the bug: - Let's consider a company C in the Arab Emirates(AE) with l10n_ae - Let's consider a customer C1 from AE (as country) and Abu Dhabi (as state) - Let's consider a customer C2 from AE (as country) and Dubai (as state) - Let's consider that the current user has no right in accounting - Let's consider the SO sequence with no_gap and with next_number=1 - Create a product P with 5% dubai tax - Create SO1 for C1 with P (next_number=2) - Create SO2 for C2 with P (next_number=3) - Export SO1 and SO2 xlsx file F - Import F Bug: An error message appeared in the logs: odoo.addons.base.models.ir_model: Access Denied by ACLs for operation: write, uid: 6, model: account.tax The next_number was 4 instead of 5 because the update made in function _update_nogap was rollbacked due the Access Denied opw:2266048 Forward-Port-Of: odoo/odoo#52440
2 issues: The method that checks if a created/updated view has specific views is located in website. When we update a module, each modules are initialized and updated in a specific order. If a generic view that has specific views located in a module loaded before website this view's specific views will not be updated/created as the method does not exist. This issue is mainly affecting portal views at the moment. and By an odd set of circumstances it is possible to have a loop in t
Original PR description
2 issues: The method that checks if a created/updated view has specific views is located in website. When we update a module, each modules are initialized and updated in a specific order. If a generic view that has specific views located in a module loaded before website this view's specific views will not be updated/created as the method does not exist. This issue is mainly affecting portal views at the moment. and By an odd set of circumstances it is possible to have a loop in the view graph. Resulting in the recursive function _view_get being called until a "maximum recursion depth exceeded" error occurs. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#52125 Forward-Port-Of: odoo/odoo#50799
Odoo cloc is a tool to count the number of relevant lines written in python, javascript or xml. This can be used as rough metric for pricing maintenance of customizations. It has two modes of operation, either by providing a path: odoo-bin cloc -p module_path Or by providing the name of a database: odoo-bin cloc --addons-path=dirs -d database In the latter mode, only the custom code is accounted for. Both modes can be used simultaneously Files that cannot be parsed a
Original PR description
Odoo cloc is a tool to count the number of relevant lines written in python,
javascript or xml. This can be used as rough metric for pricing maintenance of
customizations.
It has two modes of operation, either by providing a path:
odoo-bin cloc -p module_path
Or by providing the name of a database:
odoo-bin cloc --addons-path=dirs -d database
In the latter mode, only the custom code is accounted for.
Both modes can be used simultaneously
Files that cannot be parsed are shown at the end of the report.
Parsing can fail due to syntax errors or excessive file size.
Forward-Port-Of: odoo/odoo#52615
Forward-Port-Of: odoo/odoo#52016Create a new company with it's currency A default price list has been created for this company in this currency Install the "customizable Chart of Account" under the settings tab, Accounting By installing this CoA, Odoo creates a new pricelist, in Dollars, that overwrites the one in the currency of the country. Avoid creating the pricelist if there is already one for the current company in the current company currency opw-2221854 -- I confirm I have signed the CLA and read the PR
Original PR description
Create a new company with it's currency A default price list has been created for this company in this currency Install the "customizable Chart of Account" under the settings tab, Accounting By installing this CoA, Odoo creates a new pricelist, in Dollars, that overwrites the one in the currency of the country. Avoid creating the pricelist if there is already one for the current company in the current company currency opw-2221854 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#48454 Forward-Port-Of: odoo/odoo#48410
This commit updates owl from v1.0.8 to v1.0.9. Forward-Port-Of: odoo/odoo#52640
Original PR description
This commit updates owl from v1.0.8 to v1.0.9. Forward-Port-Of: odoo/odoo#52640
### Description of the issue/feature this PR addresses: The accounts of these taxes were inverted for the invoices and refunds. now are properly configured. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51917
Original PR description
### Description of the issue/feature this PR addresses: The accounts of these taxes were inverted for the invoices and refunds. now are properly configured. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#51917
This is a slow operation and string join is significantly faster https://stackoverflow.com/a/3055541/1398110 This can make a noticable difference when processing a long form Courtesy of Nils Hamerlinck Forward-Port-Of: odoo/odoo#52613
Original PR description
This is a slow operation and string join is significantly faster https://stackoverflow.com/a/3055541/1398110 This can make a noticable difference when processing a long form Courtesy of Nils Hamerlinck Forward-Port-Of: odoo/odoo#52613
In order to find the stock moves linekd to SO line, there is no need to go through the order and the pickings. Indeed, the SO lines have a direct link to the stock move lines. On ~14500 invoices, the duration of the process goes from 90 to 30 seconds. opw-2266052 Forward-Port-Of: odoo/odoo#52651 Forward-Port-Of: odoo/odoo#52536
Original PR description
In order to find the stock moves linekd to SO line, there is no need to go through the order and the pickings. Indeed, the SO lines have a direct link to the stock move lines. On ~14500 invoices, the duration of the process goes from 90 to 30 seconds. opw-2266052 Forward-Port-Of: odoo/odoo#52651 Forward-Port-Of: odoo/odoo#52536
Avoid warnings at module install. Forward-Port-Of: odoo/odoo#52631
Original PR description
Avoid warnings at module install. Forward-Port-Of: odoo/odoo#52631
Forward-Port-Of: odoo/odoo#52663
Original PR description
Forward-Port-Of: odoo/odoo#52663
Related to task-2210730 Forward-Port-Of: odoo/odoo#52700
Original PR description
Related to task-2210730 Forward-Port-Of: odoo/odoo#52700
Description of the issue/feature this PR addresses: Issue raise in all v13 upgraded database Current behavior before PR: In v13 upgraded database when cleck on Inventory > Inventory Overview > Manufacturing facing following error ```python Traceback (most recent call last): File "/home/pja/src/odoo/13.0/odoo/http.py", line 624, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/pja/src/odoo/13.0/odoo/http.py", line 310, in _handle_ex
Original PR description
Description of the issue/feature this PR addresses: Issue raise in all v13 upgraded database Current behavior before PR: In v13 upgraded database when cleck on Inventory > Inventory Overview >…
Description of the issue/feature this PR addresses:
Issue raise in all v13 upgraded database
Current behavior before PR:
In v13 upgraded database when cleck on
Inventory > Inventory Overview > Manufacturing facing following error
```python
Traceback (most recent call last):
File "/home/pja/src/odoo/13.0/odoo/http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/pja/src/odoo/13.0/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/pja/src/odoo/13.0/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/home/pja/src/odoo/13.0/odoo/http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "/home/pja/src/odoo/13.0/odoo/http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/pja/src/odoo/13.0/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/home/pja/src/odoo/13.0/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/home/pja/src/odoo/13.0/odoo/http.py", line 915, in __call__
return self.method(*args, **kw)
File "/home/pja/src/odoo/13.0/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/home/pja/src/odoo/13.0/addons/web/controllers/main.py", line 1326, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/pja/src/odoo/13.0/addons/web/controllers/main.py", line 1314, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/pja/src/odoo/13.0/odoo/api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/pja/src/odoo/13.0/odoo/api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/pja/src/odoo/13.0/addons/mrp/models/stock_picking.py", line 49, in get_mrp_stock_picking_action_picking_type
return self._get_action('mrp.mrp_production_action_picking_deshboard')
File "/home/pja/src/odoo/13.0/addons/stock/models/stock_picking.py", line 216, in _get_action
action_context = literal_eval(action['context'])
File "/usr/lib/python3.6/ast.py", line 85, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python3.6/ast.py", line 66, in _convert
in zip(node.keys, node.values))
File "/usr/lib/python3.6/ast.py", line 65, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "/usr/lib/python3.6/ast.py", line 84, in _convert
raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Name object at 0x7fe89e10d0f0>
```
Desired behavior after PR is merged:
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#52703Indeed that prevents the user from resetting the asset back to draft for changing the accounts or recomputing the depreciation board which can be very cumbersome Forward-Port-Of: odoo/enterprise#10924
Original PR description
Indeed that prevents the user from resetting the asset back to draft for changing the accounts or recomputing the depreciation board which can be very cumbersome Forward-Port-Of: odoo/enterprise#10924
Forward-Port-Of: odoo/enterprise#11021 Forward-Port-Of: odoo/enterprise#10990
Original PR description
Forward-Port-Of: odoo/enterprise#11021 Forward-Port-Of: odoo/enterprise#10990
Before this PR (error description) https://youtu.be/LHBYVCeVNJE After this PR https://youtu.be/RgRrNEwfYCU Forward-Port-Of: odoo/enterprise#9931
Original PR description
Before this PR (error description) https://youtu.be/LHBYVCeVNJE After this PR https://youtu.be/RgRrNEwfYCU Forward-Port-Of: odoo/enterprise#9931
Forward-Port-Of: odoo/enterprise#11010 Forward-Port-Of: odoo/enterprise#10851
Original PR description
Forward-Port-Of: odoo/enterprise#11010 Forward-Port-Of: odoo/enterprise#10851