Daily updates from Odoo
Navigate
Branch
Thursday, November 10, 2022
22 changes
Enhancements to existing features
The spreadsheet filter editor has been reorganized into separate panels for date, text, and relation filters, making the experience easier to maintain and more reliable. This internal cleanup also adds stronger component checks, reducing the risk of future issues in spreadsheet filtering.
Original PR description
Task 2927285
The Documents settings page now shows the spreadsheet option first, making it easier for users to find. A small visual issue with the company icon next to the spreadsheet setting title was also corrected for a cleaner layout.
Sales orders opened outside the Subscription app now hide recurrence options when they are not relevant. This reduces clutter and helps users focus only on subscription details when a recurring setup actually exists.
Original PR description
This commit hide the recurrence from the sale order view accessed via mean other than the subscription app if there is no recurrence set or recurring line. task-id : 2950999
This update reorganizes how the VoIP phone feature manages its connection state behind the scenes. It lays the groundwork for future call interface improvements while keeping the current user experience largely unchanged.
Original PR description
Rewriting the user agent with models will expose the internal state of the SIP.js library into models, allowing to use it in OWL components afterwards. This commit is just a preparation step, introducing the UserAgent model and starting to move some fields into it. Part of task-2804811.
Copied signing templates now use a simpler numbering style, such as “(2)” instead of “(v2)”. For PDF templates, the number is placed before the .pdf extension, making duplicate template names easier to read and manage.
Original PR description
Before this commit, the incremented number used in the name of a template copy was formatted like ' (v2)' and placed at the end of the name. Now, it is formatted like '(2)' and placed just before the '.pdf' extension if the name ends with one. task-2992836
Sign managers now have a dedicated configuration menu item to add, edit, and delete tags. This makes tag management easier to find and helps teams keep signing templates organized without relying on technical navigation.
Original PR description
Sign managers can now add, edit, and delete tags using a new configuration menu item. task-2978958
Resolved issues and error corrections
This fixes an issue that prevented users from dragging and dropping kanban items correctly in Firefox. It restores expected editing behavior in Studio, helping users manage views without switching browsers.
Original PR description
This PR follows a commit of the same name in community that assigns a dedicated 'o_dragged' class to elements dragged using the `draggable_hook_builder`. - Adaptation of: https://github.com/odoo/odoo/pull/104128 - Community PR: https://github.com/odoo/odoo/pull/105353
Code cleanup and technical improvements
The VoIP softphone is being reorganized so its window display and folding behavior are managed in a dedicated place instead of older screen components. This should make the calling interface easier to maintain and prepare it for more reliable future improvements, with limited immediate impact for users.
Original PR description
Introduce SoftphoneWindow model and start moving the state from the legacy DialingPanelWidget into it. Task-3047631.
Miscellaneous changes
Kanban views should not contain owl components and directives. These were removed in the community PR, and replaced with a view_widget. This commit continues the fix for the enterprise extensions. Task-3040946 Forward-Port-Of: odoo/enterprise#33218
Original PR description
Kanban views should not contain owl components and directives. These were removed in the community PR, and replaced with a view_widget. This commit continues the fix for the enterprise extensions. Task-3040946 Forward-Port-Of: odoo/enterprise#33218
Phone calls with no partner are displayed with a white silhouette as an avatar, which is not quite visible as the background itself is also white. This commit changes the default avatar to use the grey one so that it becomes visible on white background. Before:  After:  After:  Task-3063301. Forward-Port-Of: odoo/enterprise#33844
Before this commit, the Qweb context in ecommerce had no information about the sale order being a subscription or not. This causes UI problem, such as not the displaying the message warning that payment details are saved automatically when paying an active subscription. After this commit, the Qweb context dictionary contains a new key `is_subscription` in order to know whether the sale order is a subscription or not. Forward-Port-Of: odoo/enterprise#33840
Original PR description
Before this commit, the Qweb context in ecommerce had no information about the sale order being a subscription or not. This causes UI problem, such as not the displaying the message warning that payment details are saved automatically when paying an active subscription. After this commit, the Qweb context dictionary contains a new key `is_subscription` in order to know whether the sale order is a subscription or not. Forward-Port-Of: odoo/enterprise#33840
Forward-Port-Of: odoo/enterprise#33725
Original PR description
Forward-Port-Of: odoo/enterprise#33725
… pdf reports Forward-Port-Of: odoo/enterprise#33704
Original PR description
… pdf reports Forward-Port-Of: odoo/enterprise#33704
This commit adapts the Documents ListView mobile's test to the related community PR https://github.com/odoo/odoo/pull/99318. In a nutshell, triggering a "click" should properly simulate the actual selection behavior (like in other asserts), so touch{start,end} event aren't required. Also, as the `click()` helper already waits for a `nextTick`, there is no reason to wait for a second one. Forward-Port-Of: odoo/enterprise#33839
Original PR description
This commit adapts the Documents ListView mobile's test to the related
community PR https://github.com/odoo/odoo/pull/99318.
In a nutshell, triggering a "click" should properly simulate the actual
selection behavior (like in other asserts), so touch{start,end} event
aren't required.
Also, as the `click()` helper already waits for a `nextTick`, there is
no reason to wait for a second one.
Forward-Port-Of: odoo/enterprise#33839This is necessary for the resequence widget to work properly. Without that, since the report lines have no sequence defined in the data files (and are therefore ordered by id by default), the sequence widget only assigns sequences to the current page of the pager, hence leading to inconsistent and buggy sequencing of the lines. The sequence widget cannot be fixed in stable (too complex according to dbo and fge), so we patch this by setting a limit of 2000 lines per page (assuming no report wi
Original PR description
This is necessary for the resequence widget to work properly. Without that, since the report lines have no sequence defined in the data files (and are therefore ordered by id by default), the sequence widget only assigns sequences to the current page of the pager, hence leading to inconsistent and buggy sequencing of the lines. The sequence widget cannot be fixed in stable (too complex according to dbo and fge), so we patch this by setting a limit of 2000 lines per page (assuming no report will go that high anyway). Forward-Port-Of: odoo/enterprise#33753
After https://github.com/odoo/enterprise/pull/30505, a new promise for resizing the frame image was added. However, it was using ``` promise.then(() => { promise.then() }) ``` which was causing the second then to be executed afterwards as the nested promise was not being returned. Functionally this caused the check for completion of the document to be ran before the data is correctly set. So, the validate and sign button wasn't appearing. Also, since the async work doesn't hav
Original PR description
After https://github.com/odoo/enterprise/pull/30505, a new promise for resizing
the frame image was added. However, it was using
```
promise.then(() => {
promise.then()
})
```
which was causing the second then to be executed afterwards as the nested
promise was not being returned. Functionally this caused the check for
completion of the document to be ran before the data is correctly set. So, the
validate and sign button wasn't appearing.
Also, since the async work doesn't have to be
sequential, it's possible to optimize this by using
```
Promise.all([promise1, promise2]).then(...)
```
task-3000534
Forward-Port-Of: odoo/enterprise#31971Before this commit, the Sign Now button was sometimes erroneously visible. This was due to different values of visibility in the 'invisible' attribute and the 'attrs' attribute on the same element. task-3000121 Forward-Port-Of: odoo/enterprise#31943
Original PR description
Before this commit, the Sign Now button was sometimes erroneously visible. This was due to different values of visibility in the 'invisible' attribute and the 'attrs' attribute on the same element. task-3000121 Forward-Port-Of: odoo/enterprise#31943
Accept and decline buttons were wrongly positioned and their style was too close before : https://tinyurl.com/2co899eq after : https://tinyurl.com/22l5cgew task-3047632 Forward-Port-Of: odoo/enterprise#33508
Original PR description
Accept and decline buttons were wrongly positioned and their style was too close before : https://tinyurl.com/2co899eq after : https://tinyurl.com/22l5cgew task-3047632 Forward-Port-Of: odoo/enterprise#33508
To reproduce the issue: - Create a company using l10n_be - Change language to french - Open the EC Sales Report (or "Relevé intra-communautaire" in French) => Traceback The issue is that we take the column names which are translatable. We correct it by taking the expression_label instead. I correct it in other modules where it could cause issues. opw-3039041 Forward-Port-Of: odoo/enterprise#33791
Original PR description
To reproduce the issue: - Create a company using l10n_be - Change language to french - Open the EC Sales Report (or "Relevé intra-communautaire" in French) => Traceback The issue is that we take the column names which are translatable. We correct it by taking the expression_label instead. I correct it in other modules where it could cause issues. opw-3039041 Forward-Port-Of: odoo/enterprise#33791
Forward-Port-Of: odoo/enterprise#33782
Original PR description
Forward-Port-Of: odoo/enterprise#33782
Before this commit, contract in sale and done state could be invoiced if they filled the conditions (end_date in the future, next invoice date reached, ...). Such case did not happened in normal situation for the locked SO. But if a bug happened and resetted the end_date of a locked order, it would reach its next_invoice date and would be invoiced. To prevent this issue, we make sure to only invoice the contracts in sale state. For now, we don't have any reason to invoice locked orders
Original PR description
Before this commit, contract in sale and done state could be invoiced if they filled the conditions (end_date in the future, next invoice date reached, ...). Such case did not happened in normal situation for the locked SO. But if a bug happened and resetted the end_date of a locked order, it would reach its next_invoice date and would be invoiced. To prevent this issue, we make sure to only invoice the contracts in sale state. For now, we don't have any reason to invoice locked orders as they are invoiced in advance before their renewal are confirmed. We can't modify the _recurring_invoice_domain method to only fetch contract in sale state because done order needs to be searched and closed automatically when they reach their end_date. Forward-Port-Of: odoo/enterprise#33316
In some cases, the order of the lines outputted by the file export of the diot report could be different. This causes issue with the test as it is expecting the same order each time. This change will avoid this issue by re-making the text output with the line being ordered. Forward-Port-Of: odoo/enterprise#33516
Original PR description
In some cases, the order of the lines outputted by the file export of the diot report could be different. This causes issue with the test as it is expecting the same order each time. This change will avoid this issue by re-making the text output with the line being ordered. Forward-Port-Of: odoo/enterprise#33516