Daily updates from Odoo
Navigate
Branch
Wednesday, August 10, 2022
13 changes
New functionality added to Odoo
Spreadsheet users can now create date filters based on recent periods such as the last 7, 30, or 365 days, or the last 3 years. This makes dashboards and reports stay up to date automatically without manually adjusting date ranges, while excluding the current day for consistent reporting.
Original PR description
Add a new option in the date global fitler to create a relative date filter. The filter can have the value : - last 7 Days (last_week) - last 30 Days (lasy_month) - last 365 Days (last_year) - last 3 Years (last_three_years) The current day is never included. Odoo task [2909075](https://www.odoo.com/web#id=2909075&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form)
Enhancements to existing features
Odoo now reduces manual work when connecting a bank by automatically matching fetched bank accounts to suitable journals where possible. If no match is found, it can reuse empty journals or create new ones during synchronization, making onboarding faster and less error-prone.
Original PR description
When synchronizing with a bank to fetch transactions in Odoo, we have a
wizard that pop up at the end of the linking process so that the user
can link the fetched accounts with a journal. Actually the user must
select what to do for each account (create a new journal or linked with
an existing journal). What we want to do is to ease the flow by using
the following rules.
- if a journal with a similar bank account exists, we assign it to
the corresponding new online account.
- for the remaining online accounts, we assing empty journals with no
bank account set.
- when syncing the online accounts (last step),
online accounts with no journal set get newly created journals.Map views now handle grouping by multi-value fields such as assignees correctly. This ensures groups show clear labels, records appear under each relevant person, and map pins stay consistent with the record list.
Original PR description
The x2many 'group by' was available for the map view but was not handled specifically. Resulting in - The 'grouped by' map view with no group label - The grouped by was by set of ids in the x2many and thus not grouped by each id in the x2many. - The pin in the map had IDs that do not exist in the list of records on the right Example: Project->My Tasks -> Map View -> Group by assignee - There is no label for each users - there is a "group by" for the set ["Mitchell Admin", "Marc Demo"] instead to find the same record in the group record of Mitchell and also in the group record of Marc - There is a pin record with the number 52 but this number does not exist anymore in the list on the right. task_id: 2721035
Resolved issues and error corrections
The Planning roles list view has been switched back to the older display system to avoid a compatibility issue that was breaking employee avatar fields. This restores the affected view for users while a fuller technical update can be handled later.
Original PR description
With the conversion to the new views, legacy x2many fields go through a thin and incomplete compatibility layer to talk to the new model. This compatibility layer is not very robust and as such most custom x2many fields are broken in this configuration, in this case the field "many2many_avatar_employee". The proper fix is to convert this field widget, but in the meantime, the simple fix is to force this view to keep using the legacy view instead of the new view.
Shared project task links now open correctly for portal visitors who do not have sales order access. The change prevents an unnecessary sales order lookup from blocking read-only task viewing, improving the shared project experience.
Original PR description
Steps to reproduce ------------------ 1. Install industry_fsm_sale 2. Create a project and tasks 3. Set the visibility of the project to 'Invited portal users and all internal users' 4. Click the 'Share Readonly' button and open the link in a private tab 5. Try to click on one of the tasks, you should get an access error --- This commit fixes this error by checking if the current user has access to sales orders at all before trying to get all the sales orders linked to a task. Task-2950231
Users can now insert articles into documents without triggering an error. This prevents interruptions while editing content and makes the document authoring experience more reliable.
Original PR description
**Current behavior before PR:** On inserting article to the document generates traceback. **Desired behavior after PR is merged:** Now you can insert an article without any issue. Task-2918774 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This change reorganizes internal test support code by moving a shared server startup helper into the messaging infrastructure area. It does not change customer-facing features, but it helps keep tests consistent and easier to maintain across several business apps.
Original PR description
*: account_accountant, account_invoice_extract, approvals, documents, documents_spreadsheet, voip. community: https://github.com/odoo/odoo/pull/97771
Miscellaneous changes
Previously, when moving a root article as a child of another article in workspace, the internal permission was not reset, meaning that a private root would keep `internal_permission: 'none'` when moved under a workspace article. Fixes the internal_permission by forcing a reset when moving a root under a 'shared' or 'workspace' parent. Allows to drop an article under a shared article (it will inherit the shared rights of the shared parent), and to resequence a shared root article. Prev
Original PR description
Previously, when moving a root article as a child of another article in workspace, the internal permission was not reset, meaning that a private root would keep `internal_permission: 'none'` when…
Previously, when moving a root article as a child of another article in workspace, the internal permission was not reset, meaning that a private root would keep `internal_permission: 'none'` when moved under a workspace article. Fixes the internal_permission by forcing a reset when moving a root under a 'shared' or 'workspace' parent. Allows to drop an article under a shared article (it will inherit the shared rights of the shared parent), and to resequence a shared root article. Previously, dropping an article in the shared section was prevented because if the dropping destination is at the root of the shared section, the access rights can not be inferred. But every other move is now allowed with this commit. Replace "is_private" parameter in knowledge.article.move_to method by "category", since the previous signature did not allow to identify whether an article was moved at the end of the workspace section or at the end of the shared section. In move_to, infer the category from parent_id or before_article_id or the provided category in that order to avoid inconsistent requests. Prevent moving an article as a root of the shared section if it was not already one. Those checks increase the query count of KnowledgePerformanceCase.test_article_move_to. Hide the shared section when successfully dragging an item out of it if it becomes empty. Task-2867052 Forward-Port-Of: odoo/enterprise#29326
On a mobile device: - Go to Inventory > Product Variants - Switch to the list view - Long press on a record → We can't scroll to select records below the current screen When in selection mode, we want to prevent every user interaction with the widget fields. This means preventing clicks on them. `preventDefault()` was then called on `touchstart` events. This also means that other touch events are cancelled such as scroll events. By registering event listeners in the capture phase
Original PR description
On a mobile device: - Go to Inventory > Product Variants - Switch to the list view - Long press on a record → We can't scroll to select records below the current screen When in selection mode, we…
On a mobile device: - Go to Inventory > Product Variants - Switch to the list view - Long press on a record → We can't scroll to select records below the current screen When in selection mode, we want to prevent every user interaction with the widget fields. This means preventing clicks on them. `preventDefault()` was then called on `touchstart` events. This also means that other touch events are cancelled such as scroll events. By registering event listeners in the capture phase, we can intercept and cancel events before they arrive to the unwanted widgets. Here's an example list view with the record selector made visible, a priority widget and a label. ``` .-------------------------------. |.------------. | || 1 selected | | |'------------' | |.-----------------------------.| || ☐ ★ Screw || |'-----------------------------'| |.-----------------------------.| || ☑ ★ Bolt || |'-----------------------------'| '-------------------------------' ``` In selection mode, when clicking on a star widget, `_onClickCapture` is called before the click handler of the `Priority widget`. If the event target is not the record selector `.o_list_record_selector`, we stop its propagation. We then search the current row by traversing up the DOM tree. Finally, we go down the DOM to trigger a click event on the record selector. We also cancel the mouseover and mouseout events, as some widgets also uses that. opw-2860688 Forward-Port-Of: odoo/enterprise#30046
Oversight of odoo/enterprise#30184 Forward-Port-Of: odoo/enterprise#30285
Original PR description
Oversight of odoo/enterprise#30184 Forward-Port-Of: odoo/enterprise#30285
This commit add a test for this fix : https://github.com/odoo/odoo/pull/96853 opw-2883592 Forward-Port-Of: odoo/enterprise#30264 Forward-Port-Of: odoo/enterprise#30087
Original PR description
This commit add a test for this fix : https://github.com/odoo/odoo/pull/96853 opw-2883592 Forward-Port-Of: odoo/enterprise#30264 Forward-Port-Of: odoo/enterprise#30087
Steps to reproduce: Install website and choose the kiddo theme Install Sign In Sign, click on the "Share" of "Non disclosure Agreement.pdf" In another window (not log in), access the shared sign document. Make sure to be in "mobile" mode in this view (using the browser dev tools) Choose a field to fill in the document The space under the field value looks empty rather than having the "Next" button Issue: The next button is there but it's color is purple and the background is purple t
Original PR description
Steps to reproduce: Install website and choose the kiddo theme Install Sign In Sign, click on the "Share" of "Non disclosure Agreement.pdf" In another window (not log in), access the shared sign document. Make sure to be in "mobile" mode in this view (using the browser dev tools) Choose a field to fill in the document The space under the field value looks empty rather than having the "Next" button Issue: The next button is there but it's color is purple and the background is purple too -> barely visible Solution: We change the color of the next and final button to white so that the writing becomes visible. opw-2871042 Forward-Port-Of: odoo/enterprise#30024
Only for terms containing Credit Note and expenses Forward-Port-Of: odoo/enterprise#30238
Original PR description
Only for terms containing Credit Note and expenses Forward-Port-Of: odoo/enterprise#30238