Friday, September 24, 2021
43 changes · master
Enhancements to existing features
The test system can now automatically retry failed tests in staging environments to reduce disruption from random, one-off failures. This helps avoid unnecessary delays and manual rework when large batches of changes are being validated, while keeping normal test behavior unchanged.
Original PR description
This pr proposes an auto retry mechanism for tests. This shouldn't impact normal testing: tests are not supposed to fail, but the growing number of tests and pull requests can lead to some bottleneck…
This pr proposes an auto retry mechanism for tests. This shouldn't impact normal testing: tests are not supposed to fail, but the growing number of tests and pull requests can lead to some bottleneck when a staging fails because of a random error. This mechanism should help to reduce splits/the need to retry a failed pr.
This branch have been tested with the nightly multi build, creating 40 identical build without test-tags to disable know random errors. This multi build is used to detect test failing randomly, this is an excellent candidate to detect the effect of the retry.
On average, with the current base of this pull request, there is between 10 en 15 failures over 40 build.
With the auto retry mechanism, only 1 build failed over 40 builds since the same error was triggered twice: https://runbot.odoo.com/runbot/build/9972771. This is simply because with the retry mechanism, an error that has a probability of p to fail randomly will still have a probability of p² to fail with the retry mechanism. A error that occurs 10% of the time should only appear 1% of the time with one retry. In most of the case, the retry is sucessfull: https://runbot.odoo.com/runbot/build/10053257
The current solution to allow to enable this mechanism only in some cases (staging) is to check an environment variable "ODOO_TEST_FAILURE_RETRIES" that defines a number of retry. This will allow to retry more than once if an error still occurs to ofen with the autoretry.
**Random error:**

**Real error:**

The mechanism will run multiple time the same test on the same test_case, meaning that some modification on self may impact the second execution. The following code is an example of how this could be problematic, but also a good example to test the auto-retry mechanism.
```python
class TestRetry(HttpCase):
def test_fail(self):
self.t = getattr(self, 't', 0) + 1
if True or self.t == 1:
import logging
_logger = logging.getLogger('test_a')
with self.assertLogs(level="ERROR"):
_logger.error("This shouldn't be log at all")
with mute_logger('test_a'):
_logger.error("This shouldn't be logged (mute)")
_logger.error("This should be log")
```

As we can see here the error logs are also managed, and emit at a lower level the first time, butany log higher than 25 will make the test "failed" and the autoretry mechanism will be triggered. The second time, everything is logged normally. We also need to replace Traceback by _Traceback to avoid being catched by runbot Traceback detection regexes.
The inspiration here commes from the assertLogs, that replace all handlers. The mute_logger had to be adapted to use the same strategy, so that quite_logger won't detect logs catched by mute_logger or assertLogs.Resolved issues and error corrections
This update corrects an internal issue in the accounting report code that could call the wrong underlying behavior. It helps keep accounting report generation reliable without changing how users interact with the system.
Miscellaneous changes
Reintroduce a missing shape for Theme Bistro. Related: [PR#35](https://github.com/odoo/design-themes/pull/35) [task-2545200](https://www.odoo.com/web#action=333&active_id=4733&cids=1&id=2545200&menu_id=4720&model=project.task&view_type=form) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76353
Original PR description
Reintroduce a missing shape for Theme Bistro. Related: [PR#35](https://github.com/odoo/design-themes/pull/35) [task-2545200](https://www.odoo.com/web#action=333&active_id=4733&cids=1&id=2545200&menu_id=4720&model=project.task&view_type=form) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76353
This fixes a visual issue in Planning where opening certain filtered shifts showed an unwanted grey area below the warning message. The warning now displays cleanly, making shift details easier to review for employees on time off or shifts in conflict.
Original PR description
Steps to reproduce: go to Planning > filter on 'employees on time off' or 'shifts in conflict' > open one of the resulting shifts Observed behavior: https://nimb.ws/xV8weW there is a grey area displayed below the warning Expected behavior: this grey aread shouldn't be there task-2635074
Since the merge of 0573acae230 the override was no longer working. TaskID: 2651838 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 Forward-Port-Of: odoo/odoo#76842
Original PR description
Since the merge of 0573acae230 the override was no longer working. TaskID: 2651838 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 Forward-Port-Of: odoo/odoo#76842
backport of https://github.com/odoo/odoo/commit/516c414683ffff5dffb6e62b30f8a4d5e9dcfbbb -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77071
Original PR description
backport of https://github.com/odoo/odoo/commit/516c414683ffff5dffb6e62b30f8a4d5e9dcfbbb -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77071
closes odoo/odoo#74141 Forward-Port-Of: odoo/odoo#77062
Original PR description
closes odoo/odoo#74141 Forward-Port-Of: odoo/odoo#77062
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 Forward-Port-Of: odoo/odoo#77040
Original PR description
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 Forward-Port-Of: odoo/odoo#77040
before this commit: When moving a task from project A to project B, the stages of project A are displayed in the burndown chart of project B. After this commit: only the stages of project B will be displayed in the burndown chart of project B Task-2616736 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#75437
Original PR description
before this commit: When moving a task from project A to project B, the stages of project A are displayed in the burndown chart of project B. After this commit: only the stages of project B will be displayed in the burndown chart of project B Task-2616736 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#75437
- add outer shadow to bill in wizard preview - move address block to right in generated pdf, same as in wizard preview - set invoice date & due date on one line in pdf, same as in wizard preview task: 2581377 Forward-Port-Of: odoo/odoo#76217
Original PR description
- add outer shadow to bill in wizard preview - move address block to right in generated pdf, same as in wizard preview - set invoice date & due date on one line in pdf, same as in wizard preview task: 2581377 Forward-Port-Of: odoo/odoo#76217
`fields.Date.today` doesn't give date based on TZ which might be wrong in some cases as it doesn't respect TZ. With this commit, we are using `fields.Date.context_today` as default date. 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 Forward-Port-Of: odoo/odoo#75604
Original PR description
`fields.Date.today` doesn't give date based on TZ which might be wrong in some cases as it doesn't respect TZ. With this commit, we are using `fields.Date.context_today` as default date. 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 Forward-Port-Of: odoo/odoo#75604
t-field of a Text field, will use nl2br function that replace \n to <br>. So it is html that we need to parse. Add one return line in your sale description, and the rendering will fail with an error opening and ending missmatch for br... 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 Forward-Port-Of: odoo/odoo#76953
Original PR description
t-field of a Text field, will use nl2br function that replace \n to <br>. So it is html that we need to parse. Add one return line in your sale description, and the rendering will fail with an error opening and ending missmatch for br... 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 Forward-Port-Of: odoo/odoo#76953
The combination of a RR and a supplier that has a minimum quantity and a lead time leads to incorrect results To reproduce the issue: 1. Create a product P: - Type: Storable 2. Add a reordering rule for P (min: 10, max: 50) 3. Add a vendor to P - Quantity: 1 - Price: 1 - Delivery Lead Time: 7 4. Run the scheduler 5. Open the generated PO Error: The order deadline is <today minus 7 days> instead of today. The receipt date is today instead of <today plus 7 days>
Original PR description
The combination of a RR and a supplier that has a minimum quantity and a lead time leads to incorrect results To reproduce the issue: 1. Create a product P: - Type: Storable 2. Add a reordering rule…
The combination of a RR and a supplier that has a minimum quantity and a
lead time leads to incorrect results
To reproduce the issue:
1. Create a product P:
- Type: Storable
2. Add a reordering rule for P (min: 10, max: 50)
3. Add a vendor to P
- Quantity: 1
- Price: 1
- Delivery Lead Time: 7
4. Run the scheduler
5. Open the generated PO
Error: The order deadline is <today minus 7 days> instead of today. The
receipt date is today instead of <today plus 7 days>
When computing the quantity to order, the method needs the value of
`qty_forecast` (L254 in [1]) The computation of `qty_forecast` leads to
the computation of `lead_days_date`. To do so, it gets the lead days of
the associated stock rule `_get_lead_days`. In this method, a seller is
selected: [2] However, none of the parameter is defined: [3]
In the above case, the seller has a minimum quantity of 1. Therefore,
since this information is not given in [2], the vendor is not selected
and his lead time is therefore not taken into account. So,
`lead_days_date` will be equal to 0 and won't be recomputed. As a
result, the planned delivery date is today. Then, the quantity to order
is computed (L260 in [1]), so later, the module is able to select the
correct seller. However, this one has a lead time of 7 days -> the
generated PO will have the planned date to today and the order deadline
to <today minus 7 days>
Once an orderpoint has its quantity to order defined, its lead time
should be recomputed because it may be different depending to the
selected seller (and thus we should take this quantity into account when
searching for a seller)
[1]
https://github.com/odoo/odoo/blob/59ac8d891de6e20604494d6cfc6fc357a88d226c/addons/stock/models/stock_orderpoint.py#L254-L260
[2]
https://github.com/odoo/odoo/blob/1b03087524080f1a9751b1561cd8891466e72367/addons/purchase_stock/models/stock_rule.py#L153
[3]
https://github.com/odoo/odoo/blob/045c6ad3353bb0849d3f93d3488d8dcd8b8975b0/addons/product/models/product.py#L602
OPW-2614798
Forward-Port-Of: odoo/odoo#76956
Forward-Port-Of: odoo/odoo#76162If you unplug the iot box and wait 15 seconds or so, and then plug it back in, it's possible to get an exception from helpers.get_ip, because neither the wired nor the wireless interface has an IP. In that case, the exception would kill the Manager thread, since it was uncaught. This fix adds a catch-all to the Manager thread that logs any uncaught exceptions and continues its main loop. Forward-Port-Of: odoo/odoo#77031 Forward-Port-Of: odoo/odoo#76433
Original PR description
If you unplug the iot box and wait 15 seconds or so, and then plug it back in, it's possible to get an exception from helpers.get_ip, because neither the wired nor the wireless interface has an IP. In that case, the exception would kill the Manager thread, since it was uncaught. This fix adds a catch-all to the Manager thread that logs any uncaught exceptions and continues its main loop. Forward-Port-Of: odoo/odoo#77031 Forward-Port-Of: odoo/odoo#76433
Forward-Port-Of: odoo/odoo#77047
Original PR description
Forward-Port-Of: odoo/odoo#77047
Previously, it only exited the list on enter in the last li if it was empty. Now it exists the list on enter in any empty li, not merely the last. This matches the behavior of GDocs and CKEditor. Forward-Port-Of: odoo/odoo#77054
Original PR description
Previously, it only exited the list on enter in the last li if it was empty. Now it exists the list on enter in any empty li, not merely the last. This matches the behavior of GDocs and CKEditor. Forward-Port-Of: odoo/odoo#77054
Fix some activity tests: use real test models, try to avoid date issues by using freezegun. Followup of odoo/odoo@a26e6e954c5e6c773f37e9239138a7b94ded821f and odoo/odoo@06dee038ddd0e2344c45d4f20e79c28fc78407de . Task-2654840 Forward-Port-Of: odoo/odoo#77064
Original PR description
Fix some activity tests: use real test models, try to avoid date issues by using freezegun. Followup of odoo/odoo@a26e6e954c5e6c773f37e9239138a7b94ded821f and odoo/odoo@06dee038ddd0e2344c45d4f20e79c28fc78407de . Task-2654840 Forward-Port-Of: odoo/odoo#77064
Forward-Port-Of: odoo/odoo#77118
Original PR description
Forward-Port-Of: odoo/odoo#77118
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 Forward-Port-Of: odoo/odoo#76841
Original PR description
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 Forward-Port-Of: odoo/odoo#76841
- Rename the 'assigned to' into 'assignees' - Disable opening form view from the list view task-2645891 Forward-Port-Of: odoo/odoo#76465
Original PR description
- Rename the 'assigned to' into 'assignees' - Disable opening form view from the list view task-2645891 Forward-Port-Of: odoo/odoo#76465
Module `account_check_printing` exist on community edition so It doesn't makes sense to apply `upgrade_boolean` widget on that. However, It is necessary to have supported modules installed to use Check Layout. 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 Forward-Port-Of: odoo/odoo#76989
Original PR description
Module `account_check_printing` exist on community edition so It doesn't makes sense to apply `upgrade_boolean` widget on that. However, It is necessary to have supported modules installed to use Check Layout. 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 Forward-Port-Of: odoo/odoo#76989
PURPOSE The default product type of 'Event Booth' product should be 'Event Booth'. The purpose of this commit is to set the default product type as 'Event Booth'. SPECIFICATIONS Right now, when we only have the event installed and activate the Booth Management, The 'Event Booth' product has a Service type. This fixes the default product type. This is the goal of this commit. LINKS PR #76801 Task-2648950 I confirm I have signed the CLA and read the PR guidelines at www.od
Original PR description
PURPOSE The default product type of 'Event Booth' product should be 'Event Booth'. The purpose of this commit is to set the default product type as 'Event Booth'. SPECIFICATIONS Right now, when we only have the event installed and activate the Booth Management, The 'Event Booth' product has a Service type. This fixes the default product type. This is the goal of this commit. LINKS PR #76801 Task-2648950 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#76801
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 Forward-Port-Of: odoo/odoo#76933
Original PR description
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 Forward-Port-Of: odoo/odoo#76933
This commit will correct an inaccurate comment introduced with odoo/odoo#76951. The comment states that the 'joinButton' shall be disabled when the current user is NOT a guest, which is not true: 'joinButton' can only be disabled if the current user is a guest. Forward-Port-Of: odoo/odoo#77017
Original PR description
This commit will correct an inaccurate comment introduced with odoo/odoo#76951. The comment states that the 'joinButton' shall be disabled when the current user is NOT a guest, which is not true: 'joinButton' can only be disabled if the current user is a guest. Forward-Port-Of: odoo/odoo#77017
Forward-Port-Of: odoo/odoo#77029
Original PR description
Forward-Port-Of: odoo/odoo#77029
This branch add new template for the **s_dynamic_snippet_products** and adapt the current ones. task-2602978 #75623 Forward-Port-Of: odoo/odoo#75623
Original PR description
This branch add new template for the **s_dynamic_snippet_products** and adapt the current ones. task-2602978 #75623 Forward-Port-Of: odoo/odoo#75623
Since odoo/odoo#35700 department_id is not a searchable field in the employee search view as it has been added in the searchpanel. Since then, the view from department > absence has been broken since it was not filtering on the department anymore. This commit fixes that behaviour by defaulting to the department in the searchpanel instead. TaskId-2648380 Forward-Port-Of: odoo/odoo#76797
Original PR description
Since odoo/odoo#35700 department_id is not a searchable field in the employee search view as it has been added in the searchpanel. Since then, the view from department > absence has been broken since it was not filtering on the department anymore. This commit fixes that behaviour by defaulting to the department in the searchpanel instead. TaskId-2648380 Forward-Port-Of: odoo/odoo#76797
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 Forward-Port-Of: odoo/odoo#73601
Original PR description
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 Forward-Port-Of: odoo/odoo#73601
When a user without an email partner try to create a channel, an exception is raised because he has no email. This exception should not happen when creating a new channel. task-2641660 Forward-Port-Of: odoo/odoo#76830
Original PR description
When a user without an email partner try to create a channel, an exception is raised because he has no email. This exception should not happen when creating a new channel. task-2641660 Forward-Port-Of: odoo/odoo#76830
Forward-Port-Of: odoo/odoo#77030
Original PR description
Forward-Port-Of: odoo/odoo#77030
The new collaboration feature of the web editor was active by default. We change this to make it an opt-in option on the field html. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77046
Original PR description
The new collaboration feature of the web editor was active by default. We change this to make it an opt-in option on the field html. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#77046
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 Forward-Port-Of: odoo/odoo#77117
Original PR description
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 Forward-Port-Of: odoo/odoo#77117
When computing a schedule change in an employee's contract history, we did not filter out before writing some values, which triggered some unnecessary computes further down the line. This commit fixes it. TaskId-2655671 Forward-Port-Of: odoo/enterprise#21158
Original PR description
When computing a schedule change in an employee's contract history, we did not filter out before writing some values, which triggered some unnecessary computes further down the line. This commit fixes it. TaskId-2655671 Forward-Port-Of: odoo/enterprise#21158
…ullscreen This commit just adds a test to ensure we can transition between a legacy web_dashboard without a controlPanel to a wowl graph view (or any valid dashboard subview). It is related to https://github.com/odoo/odoo/pull/76976 And the use case is: Have a web_dashboard view within a board.board. Click on Open in Fullscreen for any of the web_dashboard's subview, provided that subview is in full wowl and the board.board in legacy as well as the web_dashboard. Before
Original PR description
…ullscreen This commit just adds a test to ensure we can transition between a legacy web_dashboard without a controlPanel to a wowl graph view (or any valid dashboard subview). It is related to https://github.com/odoo/odoo/pull/76976 And the use case is: Have a web_dashboard view within a board.board. Click on Open in Fullscreen for any of the web_dashboard's subview, provided that subview is in full wowl and the board.board in legacy as well as the web_dashboard. Before the fix there was a crash when instanciationg the subview in a doAction of its own. This was because the state passed to the new search_model was incomplete, so, the arch was not parsed, but the query and searchItems were still empty, since the original web_dashboard did not have a ControlPanel. After the fix, there is no crash as when the search_model receives an incomplete state, it will make the missing pieces by parsing the searchArch. Forward-Port-Of: odoo/enterprise#21074
When we are computing the invoices to export the vat book, we need to check if the document type is a "liquidación". At the moment of that check, we were comparing with the wrong document types. Another related fix is that if the doc type is "liquidación" we need to report the vat, and if not we just report a string of eleven 0's. There is no way to replicate the bug in Odoo since the purchase vat book is exported ok, but when you go to upload in Afip, you get an error. Forward-Port-O
Original PR description
When we are computing the invoices to export the vat book, we need to check if the document type is a "liquidación". At the moment of that check, we were comparing with the wrong document types. Another related fix is that if the doc type is "liquidación" we need to report the vat, and if not we just report a string of eleven 0's. There is no way to replicate the bug in Odoo since the purchase vat book is exported ok, but when you go to upload in Afip, you get an error. Forward-Port-Of: odoo/enterprise#19953
- Remove the duplicate stat button - Planning App - Set the role by default when creating a service through the planning.role menu - Indicate the 'empty string' (or nothing if all the fields are empty) instead of 'false' - It should not be possible to assign a resource to a shift with no date set - Rename the 'assigned to' into 'assignees' - Disable opening form view from list view Related PR: odoo/odoo#76465 task-2645891 Forward-Port-Of: odoo/enterprise#20832
Original PR description
- Remove the duplicate stat button - Planning App - Set the role by default when creating a service through the planning.role menu - Indicate the 'empty string' (or nothing if all the fields are empty) instead of 'false' - It should not be possible to assign a resource to a shift with no date set - Rename the 'assigned to' into 'assignees' - Disable opening form view from list view Related PR: odoo/odoo#76465 task-2645891 Forward-Port-Of: odoo/enterprise#20832
Since commit odoo/odoo@0134495ba55bea16c2d11d5eb5d832edad575694 the legacy views pivot, graph, cohort are written in full new framework. This commit lazy laods those views in web_studio. *: web_enterprise, web_cohort, web_studio related to https://github.com/odoo/odoo/pull/76841 Forward-Port-Of: odoo/enterprise#21016
Original PR description
Since commit odoo/odoo@0134495ba55bea16c2d11d5eb5d832edad575694 the legacy views pivot, graph, cohort are written in full new framework. This commit lazy laods those views in web_studio. *: web_enterprise, web_cohort, web_studio related to https://github.com/odoo/odoo/pull/76841 Forward-Port-Of: odoo/enterprise#21016
Purpose - The 'Last Appraisal' smartbutton redirects to the list of all the appraisals for the current employee. It's not an expected behaviour. After this commit, it will redirect to the form view of the last appraisal. task - 2645379 Forward-Port-Of: odoo/enterprise#21087
Original PR description
Purpose - The 'Last Appraisal' smartbutton redirects to the list of all the appraisals for the current employee. It's not an expected behaviour. After this commit, it will redirect to the form view of the last appraisal. task - 2645379 Forward-Port-Of: odoo/enterprise#21087
Prior to this PR: Archived roles, projects and tasks where included in group_expand. After this PR: Archived roles, projects and tasks will no more be included in group_expand. task-2590528 Forward-Port-Of: odoo/enterprise#21086
Original PR description
Prior to this PR: Archived roles, projects and tasks where included in group_expand. After this PR: Archived roles, projects and tasks will no more be included in group_expand. task-2590528 Forward-Port-Of: odoo/enterprise#21086
Since 9f5f38c67ff59b11d99000d7951f7a2703402f97 , we refactored the BarcodeScanner to use OWL. This new implementation didn't manage error when scanning (e.g. if we refuse the permission to access the camera) an an error is raised. Now, the "BarcodeDialog-Error" event is correctly triggered and the error is catched in the "barcode mobile mixin". Task-2647029 Forward-Port-Of: odoo/enterprise#20920
Original PR description
Since 9f5f38c67ff59b11d99000d7951f7a2703402f97 , we refactored the BarcodeScanner to use OWL. This new implementation didn't manage error when scanning (e.g. if we refuse the permission to access the camera) an an error is raised. Now, the "BarcodeDialog-Error" event is correctly triggered and the error is catched in the "barcode mobile mixin". Task-2647029 Forward-Port-Of: odoo/enterprise#20920
This commit is the counter-part of odoo/odoo#77040. We adapt the tooltips of statistics in the dashboard view to use a template instead of a component. Forward-Port-Of: odoo/enterprise#21109
Original PR description
This commit is the counter-part of odoo/odoo#77040. We adapt the tooltips of statistics in the dashboard view to use a template instead of a component. Forward-Port-Of: odoo/enterprise#21109
In the financial Z report, the discounts are not correctly computed, because it was using an old behavior where the subtotal price was computed, and it is not the case anymore. So instead of changing the value of the line to compute the discount apply, we are now getting the value without discount by computation. OPW-2648233 Forward-Port-Of: odoo/enterprise#21110 Forward-Port-Of: odoo/enterprise#21097
Original PR description
In the financial Z report, the discounts are not correctly computed, because it was using an old behavior where the subtotal price was computed, and it is not the case anymore. So instead of changing the value of the line to compute the discount apply, we are now getting the value without discount by computation. OPW-2648233 Forward-Port-Of: odoo/enterprise#21110 Forward-Port-Of: odoo/enterprise#21097
In commit, odoo/enterprise@9f5f38c67ff59b11d99000d7951f7a2703402f97 we have introduced the barcode scanner using native WebAPI Camera. But inadvertently, the return value was wrongly adapted. This commit fixes it. Steps to reproduce: * Open the Odoo * Go to the barcode app * Click on "Tap to scan" button * Try to scan a barcode => BUG the barcode is decoded but the functional logic is not applied. Note: this feature is only available on browser with a camera on the device and in
Original PR description
In commit, odoo/enterprise@9f5f38c67ff59b11d99000d7951f7a2703402f97 we have introduced the barcode scanner using native WebAPI Camera. But inadvertently, the return value was wrongly adapted. This commit fixes it. Steps to reproduce: * Open the Odoo * Go to the barcode app * Click on "Tap to scan" button * Try to scan a barcode => BUG the barcode is decoded but the functional logic is not applied. Note: this feature is only available on browser with a camera on the device and in HTTPS only (e.g. Smartphone, laptop, ...). Forward-Port-Of: odoo/enterprise#21019