Monday, March 27, 2023
50 changes · master
Enhancements to existing features
Archive confirmation dialogs now use clearer wording so users better understand what will happen when they confirm. This reduces ambiguity in everyday record management and corrects a wording issue in the archive message.
Original PR description
Removing the "Oks" from the "Archive" modals to clarify what confirming the action will do. Also fixing a wording error in the form controller archive modal. Task-3241064
Resolved issues and error corrections
This fixes a crash that could happen when the Mail app processed certain chat or call session member updates with incomplete information. It improves reliability for users by allowing these updates to be handled safely instead of interrupting the experience.
Original PR description
Before this commit, we were trying to access `channelMember.thread.channelMembers` when inserting a member, but some inserts come without this key. A traceback could occur when inserts of `rtcSession` records came with a `channelMember` with little information on their thread.
Code cleanup and technical improvements
This update changes how Odoo refreshes cached information after server requests, making screens and services react more consistently when important data changes. It supports more reliable updates across areas such as actions, views, currencies, companies, and several business apps without changing day-to-day workflows.
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
Miscellaneous changes
Steps to reproduce: Launch a contract which has an end date scheduled for the next day for an employee and manually activate the "HR Contract: update state" cron. Issue: Running contracts are closed one day in advance. Solution: Correct the condition which selects contracts to close. opw-3217616 Forward-Port-Of: odoo/odoo#116346
Original PR description
Steps to reproduce: Launch a contract which has an end date scheduled for the next day for an employee and manually activate the "HR Contract: update state" cron. Issue: Running contracts are closed one day in advance. Solution: Correct the condition which selects contracts to close. opw-3217616 Forward-Port-Of: odoo/odoo#116346
Expired document sharing links now show the normal shared document portal with a clearer error message instead of an error page. This gives users better guidance when a shared link is no longer valid and reduces confusion for recipients.
Original PR description
When trying to access to an expired share link the page was displaying an error message. The behaviour after fix is the rendering of the normal share space portal displaying a error message. TaskId-3165603
This update reorganizes how the website editor handles empty spaces, line breaks, and hidden content. It makes the editor code easier to understand and maintain, reducing the risk of future editing issues without introducing a major visible change for users.
Original PR description
This refactors the management of whitespace and visibility for clarity since several concepts were mixed up together. task-3235884 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Documents module was reorganized by splitting and renaming files around the business areas they support. This makes the module easier for Odoo teams to understand and maintain, preparing it for future improvements without changing user-facing behavior.
Original PR description
PURPOSE Lint and reorganize documents module. This prepares future changes and eases module and models understanding. SPECIFICATIONS Rename model files according to their model. When several models are present in a file split it to have one file / model. Rename test files, as they mainly target either a model, either conceptual stuff like controllers or security. Rename view files according to their model. When several models are present in a file split it to have one file / model. Rename data files according to their model. When several models are present in a file split it to have one file / model. Except workflows, rules and actions are defined in the same file as they make a coherent and complete workflow definition together. Task-3246867 (Documents: lint module and models)
This update removes an outdated internal cache call from the Documents app because the underlying platform now handles it automatically. Users should not notice any change, but it helps keep the app compatible and easier to maintain.
Original PR description
This commit removes the invalidateCache call in documents. This method has been removed in the community version, and has been replaced by other mechanisms. It is no longer necessary to do it manually.
Since commit c1cbfb07516d2d06c3311d66e220b1de87c1b681, fieldsToFetch has been renamed to relatedFields. Apparently, some commits were merged after this one without using the new name. 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#116560
Original PR description
Since commit c1cbfb07516d2d06c3311d66e220b1de87c1b681, fieldsToFetch has been renamed to relatedFields. Apparently, some commits were merged after this one without using the new name. 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#116560
If applied, this commit will solve the keyError for _invalidate_documents. Before this commit: ============================================ KeyError 'rating' or 'False' occurs when a user tries to send a message and _invalidate_documents() takes the parameter model equal to 'rating' or 'False'. but the model 'rating' is not available in the database and It will be accessed by the self.pool[model]. After this commit: ============================================ Solved the issue when
Original PR description
If applied, this commit will solve the keyError for _invalidate_documents. Before this commit: ============================================ KeyError 'rating' or 'False' occurs when a user tries to send a message and _invalidate_documents() takes the parameter model equal to 'rating' or 'False'. but the model 'rating' is not available in the database and It will be accessed by the self.pool[model]. After this commit: ============================================ Solved the issue when the model 'rating' is not available or the model is 'False' while sending a message. sentry - 3956327451 see - https://tinyurl.com/2zu47adg Forward-Port-Of: odoo/odoo#115664
Insteadeither is added without space, adding spacing between the words. Insteadeither --> Instead either  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#115319
Original PR description
Insteadeither is added without space, adding spacing between the words. Insteadeither --> Instead either  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#115319
- Activate analytic accounting - Create a Sale Order, with an analytic account for the whole order - Add a line with a distribution containing the same account (100%) - Create Invoice From this Order => The distribution on the account for the invoice is of 100% and not 200% (the sum of the order's account and distribution). The problem is that on the dict that we're returning, the key is a string Description of the issue/feature this PR addresses: Current behavior before PR: De
Original PR description
- Activate analytic accounting - Create a Sale Order, with an analytic account for the whole order - Add a line with a distribution containing the same account (100%) - Create Invoice From this Order => The distribution on the account for the invoice is of 100% and not 200% (the sum of the order's account and distribution). The problem is that on the dict that we're returning, the key is a string 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#115915
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#116566
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#116566
The fiscal country was changed each time the user modified his company's country. This caused problems (in particular at onboarding) because it was not done transparently for the user and possibly overrides his setup. After this commit, the fiscal country will behave like this: - When we install Invoicing/Accounting, it is set by default to company's country - When we install CoA, it is set to the CoA's country, if there is one (override above setting) - It is **no longer automatically
Original PR description
The fiscal country was changed each time the user modified his company's country. This caused problems (in particular at onboarding) because it was not done transparently for the user and possibly overrides his setup. After this commit, the fiscal country will behave like this: - When we install Invoicing/Accounting, it is set by default to company's country - When we install CoA, it is set to the CoA's country, if there is one (override above setting) - It is **no longer automatically changed** when the company's country changes. Task: 3221792 Enterprise: https://github.com/odoo/enterprise/pull/37923 Forward-Port-Of: odoo/odoo#114683
Problem: The prices for products shown on the dynamic content: products on the website can be displayed incorrectly. Example: Consider Product AB that is shared between Company A and Company B. Company A sets Tax A for Product AB. Company B sets Tax B for Product AB. Product AB is published on Website A that belongs to Company A. However, the price shown for Product AB on the dynamic content: products is incorrect because the price includes taxes from both Company A & B. Solution: Filte
Original PR description
Problem: The prices for products shown on the dynamic content: products on the website can be displayed incorrectly. Example: Consider Product AB that is shared between Company A and Company B. Company A sets Tax A for Product AB. Company B sets Tax B for Product AB. Product AB is published on Website A that belongs to Company A. However, the price shown for Product AB on the dynamic content: products is incorrect because the price includes taxes from both Company A & B. Solution: Filter the tax records based on the current context's allowed_company_ids. The price for the product should only include taxes based on the website's company. opw-3201283 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#115005
Description of the issue/feature this PR addresses: When editing a purchase order line which is not in the company currency the price_unit on the stock.move is overwritten with the price_unit in the currency of the purchase order, rather than the company currency. If any further quantity changes on a purchase.order, any new stock.moves may not be merged due to the price_unit being different on the new stock.move (which is initially correct) and the existing stock.moves (which may be wrong)
Original PR description
Description of the issue/feature this PR addresses: When editing a purchase order line which is not in the company currency the price_unit on the stock.move is overwritten with the price_unit in the…
Description of the issue/feature this PR addresses: When editing a purchase order line which is not in the company currency the price_unit on the stock.move is overwritten with the price_unit in the currency of the purchase order, rather than the company currency. If any further quantity changes on a purchase.order, any new stock.moves may not be merged due to the price_unit being different on the new stock.move (which is initially correct) and the existing stock.moves (which may be wrong). If the quantity on the purchase.order.line is reduced, this results in a negative stock.move quantity which Odoo helpfully inverses the location and destination locations. We are seeing this on runbot, and 3 separate customer systems. Question: Surely means that any customer who has edited a purchase order may have both broken stock valuation and accounts as their stock is potentially valued too high/low? In the case of one customer the company currency is GBP and they purchase some items in CNY, resulting in a wildly incorrect price_unit on the stock.move. How do we fix that? Current behavior before PR: * Potentially incorrect price_unit on purchase.order stock.move's * Odoo potentially raising inversed stock.moves for purchase.order's Desired behavior after PR is merged: * Correct price_unit on stock.move * No inversed stock.moves --- Odoo Enterprise Ticket: 3245110 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116264
HTTPS certificate IoT issues can be complicated to troubleshoot as the information are not visible/given. This PR aim to share this information on the IoT box homepage. As there is a lot of possible causes for a given problem, a code is used that will be explained/detailed in Odoo's IoT documentation: https://github.com/odoo/documentation/pull/3818 OPW-3227004 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116399 Forw
Original PR description
HTTPS certificate IoT issues can be complicated to troubleshoot as the information are not visible/given. This PR aim to share this information on the IoT box homepage. As there is a lot of possible causes for a given problem, a code is used that will be explained/detailed in Odoo's IoT documentation: https://github.com/odoo/documentation/pull/3818 OPW-3227004 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116399 Forward-Port-Of: odoo/odoo#114993
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116625
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116625
Steps to reproduce: - create a new job application; - click on the 'CREATE EMPLOYEE' button; - save. Issue: Two contacts have been created. Cause: When creating an employee from a applicant, if the applicant does not have a linked contact, one is created. Then, when validating the creation of the employee, we will create a contact if he does not have a contact linked to him in the `work_contact_id` field. Therefore, two contacts will be created. Solution: Different information wil
Original PR description
Steps to reproduce: - create a new job application; - click on the 'CREATE EMPLOYEE' button; - save. Issue: Two contacts have been created. Cause: When creating an employee from a applicant, if the applicant does not have a linked contact, one is created. Then, when validating the creation of the employee, we will create a contact if he does not have a contact linked to him in the `work_contact_id` field. Therefore, two contacts will be created. Solution: Different information will be put in the context when we are redirected to the form view for the creation of an employee and in particular `default_applicant_id`. If a current applicant is detected when creating an employee, we are certain that a contact already exists (because it was created previously). In this case, the contact linked to the applicant is added to the employee's `work_contact_id` field to avoid the creation of another contact afterwards. opw-3208808 Forward-Port-Of: odoo/odoo#114903
Create an misc journal entry with 1000 as debit and a tax. The tax line is linked to a refund tax repartition line. Open the manual reconciliation widget and do the same. The tax line is linked to an invoice tax repartition line. When dealing with tax grids, the resulting tags set on the journal items are not the same. This is because the given price_unit is not following the sign of the debit/credit column. Indeed, a positive amount means you are adding something on the credit column.
Original PR description
Create an misc journal entry with 1000 as debit and a tax. The tax line is linked to a refund tax repartition line. Open the manual reconciliation widget and do the same. The tax line is linked to an invoice tax repartition line. When dealing with tax grids, the resulting tags set on the journal items are not the same. This is because the given price_unit is not following the sign of the debit/credit column. Indeed, a positive amount means you are adding something on the credit column. opw-3236208 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116387
filtered method doesn't mutate the recordset, thus, we should reassign to have the new set of desired records. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116353
Original PR description
filtered method doesn't mutate the recordset, thus, we should reassign to have the new set of desired records. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#116353
Steps to reproduce: 1) website config: show strikethrough price (price comparison), show tax included price, discounts, pricelists(with advanced price rules). 2) create a pricelist with "show price and discount to customer", and any rule like 50% off any category (doesn't really matter). 3) apply the pricelist to the website Issue: Notice that some strikethrough price is applied wrongly - the crossed amount is the same as the written amount Cause: Strike is applied if base price not
Original PR description
Steps to reproduce: 1) website config: show strikethrough price (price comparison), show tax included price, discounts, pricelists(with advanced price rules). 2) create a pricelist with "show price and discount to customer", and any rule like 50% off any category (doesn't really matter). 3) apply the pricelist to the website Issue: Notice that some strikethrough price is applied wrongly - the crossed amount is the same as the written amount Cause: Strike is applied if base price not equal to price_reduce, which is actually calculated using taxes prior. it should not be the case for the tax-included product ( or base price should also have tax applied). opw-3140616 Forward-Port-Of: odoo/odoo#116511 Forward-Port-Of: odoo/odoo#113108
Steps to reproduce the bug: - Add an Image Gallery (IG) snippet on the page. - Add 2 new images in the IG. - Click on the first image of the IG to load its data. - Click on the trash button to remove the snippet. - Bug => The snippet is not removed (an image is removed instead). When a snippet is removed, the `removeSnippet` function is called. The problem is that the `call_for_each_child_snippet` will never resolve. Two mechanisms are of interest to understand why: The first one is th
Original PR description
Steps to reproduce the bug: - Add an Image Gallery (IG) snippet on the page. - Add 2 new images in the IG. - Click on the first image of the IG to load its data. - Click on the trash button to remove…
Steps to reproduce the bug: - Add an Image Gallery (IG) snippet on the page. - Add 2 new images in the IG. - Click on the first image of the IG to load its data. - Click on the trash button to remove the snippet. - Bug => The snippet is not removed (an image is removed instead). When a snippet is removed, the `removeSnippet` function is called. The problem is that the `call_for_each_child_snippet` will never resolve. Two mechanisms are of interest to understand why: The first one is the `updateCurrentSnippetEditorOverlay` function. Its goal is to destroy a snippet each time its target is not in the DOM anymore. The second mechanism is specific to the IG snippet: when an image of this snippet is destroyed, the `slideshow` function goes through the remaining images to update parameters. To do it, the function uses the `_replaceContent` that empty the content of the carousel and then fill it with new data. When a snippet is removed, a `SnippetEditor` is created for each element of it. In the case of the IG, a `SnippetEditor` is created for each image of the the snippet. Because the first image already has a `SnippetEditor` (because it has been clicked), the callback of `call_for_each_child_snippet` is called to remove this image from the IG snippet. The second mechanism explained before will then be called. Meanwhile, a `SnippetEditor` will be created for the second image. However, because the `_replaceContent` function emptied the content of the carousel, the `updateCurrentSnippetEditorOverlay` function will destroy the `SnippetEditor` of the second image as its target is not considered present in the DOM anymore. Unfortunately, the `call_for_each_child_snippet` still needed this `SnippetEditor` and will never entirely resolve. To solve this problem, the `removeSnippet` function is executed inside a mutex. Because the mutex is also used by `updateCurrentSnippetEditorOverlay`, we are sure that the snippetEditor will not be destroyed while the `removeSnippet` is still running. task-3147271 Forward-Port-Of: odoo/odoo#115949 Forward-Port-Of: odoo/odoo#111719
These tests were very prone to fail around midnight, due to server/client date mismatch. This commit patches date in these tests so it's not longer around midnight. Forward-Port-Of: odoo/odoo#116675
Original PR description
These tests were very prone to fail around midnight, due to server/client date mismatch. This commit patches date in these tests so it's not longer around midnight. Forward-Port-Of: odoo/odoo#116675
The product `sale_timesheet.product_service_deliver_milestones` uses `milestones` service_type but this is not available always. Steps to reproduce issue: 1. Install sale_praject (with demo) in a clean DB 2. Unmark "Use milestones" in settings 3. Set invoice policy at delivery in settings 4. Try to install sale_timesheet Demo data fails to install due to attempt to use milestores as service type. ``` File "/home/odoo/src/odoo/16.0/odoo/fields.py", line 2720, in convert_to_cache raise Valu
Original PR description
The product `sale_timesheet.product_service_deliver_milestones` uses
`milestones` service_type but this is not available always.
Steps to reproduce issue:
1. Install sale_praject (with demo) in a clean DB
2. Unmark "Use milestones" in settings
3. Set invoice policy at delivery in settings
4. Try to install sale_timesheet
Demo data fails to install due to attempt to use milestores as service
type.
```
File "/home/odoo/src/odoo/16.0/odoo/fields.py", line 2720, in convert_to_cache
raise ValueError("Wrong value for %s: %r" % (self, value))
```
This issue blocks many upgrades.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#116655before this commit, on enabling mass editing in payment and journals tree view, using studio throws exception saying field used in domain is missing in the view. * install studio * go to payment/journal tree view * enable mass editing for the view using studio * traceback is thrown after this commit, no traceback on enabling mass editing Related EE: https://github.com/odoo/enterprise/pull/37998 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-
Original PR description
before this commit, on enabling mass editing in payment and journals tree view, using studio throws exception saying field used in domain is missing in the view. * install studio * go to payment/journal tree view * enable mass editing for the view using studio * traceback is thrown after this commit, no traceback on enabling mass editing Related EE: https://github.com/odoo/enterprise/pull/37998 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#114846
`Account.move.line` contains a stored related field called `parent_state` which relates to `move_id.state`. This allows for performance improvements by accessing that instead of `move_id.state`. However, across odoo and enterprise `account.move.line` is domained against `move_id.state`. This can produce an unnecessary left join on SQL queries for reports or other queries when instead it could use the stored field directly. To accomplish this fix, we adjust domains to refer to 'parent_
Original PR description
`Account.move.line` contains a stored related field called `parent_state` which relates to `move_id.state`. This allows for performance improvements by accessing that instead of `move_id.state`. However, across odoo and enterprise `account.move.line` is domained against `move_id.state`. This can produce an unnecessary left join on SQL queries for reports or other queries when instead it could use the stored field directly. To accomplish this fix, we adjust domains to refer to 'parent_state' instead of `move_id.state` While this PR will adjust multiple modules to fix this domain, it should improve SQL queries over large tables when a left join is no-longer necessary. opw-3178866 Forward-Port-Of: odoo/odoo#116613 Forward-Port-Of: odoo/odoo#114730
This error was caught by sentry. Steps to produce:- * Install eCommerce,loyalty module. * Delete 'Top-up eWallet' product from eCommerce/product. * Then create a new Gift card & eWallets from eCommerce/Gift card & eWallets. * At this moment A trace back raise. See:-  Becaus
Original PR description
This error was caught by sentry. Steps to produce:- * Install eCommerce,loyalty module. * Delete 'Top-up eWallet' product from eCommerce/product. * Then create a new Gift card & eWallets from eCommerce/Gift card & eWallets. * At this moment A trace back raise. See:-  Because user deleted the product 'Top-up eWallet'. Sentry:-3985154178 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#115861
Issue: A user being in the group `group_hr_timesheet_approver` will have a traceback if he goes to "Timesheets / Reporting / Timesheet/Attendance". Cause: The `project_id` field does not exist on the `hr.timesheet.attendance.report` model. Solution: It is acceptable for the `group_hr_timesheet_approver` group to have the same access rights than the `group_timesheet_manager` group. opw-3221963 Forward-Port-Of: odoo/odoo#116191
Original PR description
Issue: A user being in the group `group_hr_timesheet_approver` will have a traceback if he goes to "Timesheets / Reporting / Timesheet/Attendance". Cause: The `project_id` field does not exist on the `hr.timesheet.attendance.report` model. Solution: It is acceptable for the `group_hr_timesheet_approver` group to have the same access rights than the `group_timesheet_manager` group. opw-3221963 Forward-Port-Of: odoo/odoo#116191
loyalty_delivery: the demo data updates the `tracking` field, which is a stock-dependent field. As this module does not rely on stock anymore, and since these lines only assign to the default value, the file is removed. website_sale_picking: the module dependency to stock has been forgotten in the split of delivery from stock, and is added back to the manifest. See also: - https://github.com/odoo/enterprise/pull/38821 Forward-Port-Of: odoo/odoo#116689
Original PR description
loyalty_delivery: the demo data updates the `tracking` field, which is a stock-dependent field. As this module does not rely on stock anymore, and since these lines only assign to the default value, the file is removed. website_sale_picking: the module dependency to stock has been forgotten in the split of delivery from stock, and is added back to the manifest. See also: - https://github.com/odoo/enterprise/pull/38821 Forward-Port-Of: odoo/odoo#116689
Currently the profitability test assumes the project is in the USD currency. However, if the companies default currency is something else, the asserts will fail. Here we guarantee that the 0.00 amount will always be in the same currency as the project to allow the tests to pass. NOTE: This PR is for 16.0 only as 15.0 has a different profitability structure opw-3210514 Forward-Port-Of: odoo/odoo#115472
Original PR description
Currently the profitability test assumes the project is in the USD currency. However, if the companies default currency is something else, the asserts will fail. Here we guarantee that the 0.00 amount will always be in the same currency as the project to allow the tests to pass. NOTE: This PR is for 16.0 only as 15.0 has a different profitability structure opw-3210514 Forward-Port-Of: odoo/odoo#115472
Before this commit, the ComponentAdapter would detach its dom before calling the on_detach callback. This is not correct (even though it is usually ok): we want the "unmount" code to be executed while the widget is in the DOM, not after it has been detached. It is even more problematic if the sub widget contains itself some owl components, since this behaviour break Owl assumption that owl components are in the DOM before being unmounted (so, for example, since owl 2.0.9, references are null eve
Original PR description
Before this commit, the ComponentAdapter would detach its dom before calling the on_detach callback. This is not correct (even though it is usually ok): we want the "unmount" code to be executed while the widget is in the DOM, not after it has been detached. It is even more problematic if the sub widget contains itself some owl components, since this behaviour break Owl assumption that owl components are in the DOM before being unmounted (so, for example, since owl 2.0.9, references are null even if component is not in the DOM, even if the component is still mounted). The fix is quite simple: simply do the DOM removal after calling the callback. 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#116690
Since the split of delivery from stock, there is a new module bridge `stock_delivery`, and delivery does not depend on stock anymore. All shipping connectors now rely on this new bridge module. USPS was forgotten in the original PR. See also: - https://github.com/odoo/odoo/pull/116689 Forward-Port-Of: odoo/enterprise#38821
Original PR description
Since the split of delivery from stock, there is a new module bridge `stock_delivery`, and delivery does not depend on stock anymore. All shipping connectors now rely on this new bridge module. USPS was forgotten in the original PR. See also: - https://github.com/odoo/odoo/pull/116689 Forward-Port-Of: odoo/enterprise#38821
With this commit, we allow to change the accounts of an asset, even if asset is validated. This is not a problem as we could already change the accounts on journal items anyway. Manual forward port of 9ece6bdde9688bdf8bb352634c4b77269be7ff3a Forward-Port-Of: odoo/enterprise#38811 Forward-Port-Of: odoo/enterprise#38784
Original PR description
With this commit, we allow to change the accounts of an asset, even if asset is validated. This is not a problem as we could already change the accounts on journal items anyway. Manual forward port of 9ece6bdde9688bdf8bb352634c4b77269be7ff3a Forward-Port-Of: odoo/enterprise#38811 Forward-Port-Of: odoo/enterprise#38784
Issue: As per the new ORM, _search() returns a query object but we need a record list. Ref-https://github.com/odoo/odoo/commit/e962860c6f0d8ec9e50bb376e1faab5c7bc69374 task-3230831 Forward-Port-Of: odoo/enterprise#38106
Original PR description
Issue:
As per the new ORM, _search() returns a query object but we need a record list.
Ref-https://github.com/odoo/odoo/commit/e962860c6f0d8ec9e50bb376e1faab5c7bc69374
task-3230831
Forward-Port-Of: odoo/enterprise#38106Issue ===== When the UPS Shipping connector is installed and multiple SOs are confirmed in batch, a singleton error is raised. It is hard to reproduce the error in standard Odoo since there's no hook for multi-SO confirmation. But when any customer tries to confirm multiple sale orders using customizations then a singleton error will raise because of this delivery_ups module. In this commit, we fix the SO's action confirms method so it can be run in batch. Forward-Port-Of: odoo/enterpr
Original PR description
Issue ===== When the UPS Shipping connector is installed and multiple SOs are confirmed in batch, a singleton error is raised. It is hard to reproduce the error in standard Odoo since there's no hook for multi-SO confirmation. But when any customer tries to confirm multiple sale orders using customizations then a singleton error will raise because of this delivery_ups module. In this commit, we fix the SO's action confirms method so it can be run in batch. Forward-Port-Of: odoo/enterprise#37854
`Account.move.line` contains a stored related field called `parent_state` which relates to `move_id.state`. This allows for performance improvements by accessing that instead of `move_id.state`. However, across odoo and enterprise `account.move.line` is domained against `move_id.state`. This can produce an unnecessary left join on SQL queries for reports or other queries when instead it could use the stored field directly. To accomplish this fix, we adjust domains to refer to 'parent_s
Original PR description
`Account.move.line` contains a stored related field called `parent_state` which relates to `move_id.state`. This allows for performance improvements by accessing that instead of `move_id.state`. However, across odoo and enterprise `account.move.line` is domained against `move_id.state`. This can produce an unnecessary left join on SQL queries for reports or other queries when instead it could use the stored field directly. To accomplish this fix, we adjust domains to refer to 'parent_state' instead of `move_id.state` While this PR will adjust multiple modules to fix this domain, it should improve SQL queries over large tables when a left join is no-longer necessary. opw-3178866 Forward-Port-Of: odoo/enterprise#38761 Forward-Port-Of: odoo/enterprise#37939
before this commit, on enabling mass editing in asset tree view, using studio throws exception saying field used in domain is missing in the view. * install studio * go to asset tree view * enable mass editing for the view using studio * traceback is thrown after this commit, no traceback on enabling mass editing Forward-Port-Of: odoo/enterprise#37998
Original PR description
before this commit, on enabling mass editing in asset tree view, using studio throws exception saying field used in domain is missing in the view. * install studio * go to asset tree view * enable mass editing for the view using studio * traceback is thrown after this commit, no traceback on enabling mass editing Forward-Port-Of: odoo/enterprise#37998
Purpose ======= Fix the traceback appearing when trying to copy the link of the appointment onboarding on Chrome version inferior to 110.0.5481.100. Specification ============= Fixed the issue by setting in the setTimeout async method the modal closing and the page reload to avoid executing them before the copy to clipboard. Reloading the page was messing with the browser copy action. Task-3223000 Forward-Port-Of: odoo/enterprise#38288
Original PR description
Purpose ======= Fix the traceback appearing when trying to copy the link of the appointment onboarding on Chrome version inferior to 110.0.5481.100. Specification ============= Fixed the issue by setting in the setTimeout async method the modal closing and the page reload to avoid executing them before the copy to clipboard. Reloading the page was messing with the browser copy action. Task-3223000 Forward-Port-Of: odoo/enterprise#38288
When the "Worksheets" parameter is activated, it is possible to send reports. Once a report has been sent, the button no longer appears (desired behavior). If we duplicate the task, the button still does not appear. In order to be able to review the sent report button on a duplicate task (condition in the `_compute_display_send_report_buttons` method), the `fsm_is_sent` field must not be copied. opw-3226588 Forward-Port-Of: odoo/enterprise#38770 Forward-Port-Of: odoo/enterprise#38566
Original PR description
When the "Worksheets" parameter is activated, it is possible to send reports. Once a report has been sent, the button no longer appears (desired behavior). If we duplicate the task, the button still does not appear. In order to be able to review the sent report button on a duplicate task (condition in the `_compute_display_send_report_buttons` method), the `fsm_is_sent` field must not be copied. opw-3226588 Forward-Port-Of: odoo/enterprise#38770 Forward-Port-Of: odoo/enterprise#38566
…ing computed Currently, when a workcenter requires a login (allow_employees = True), the fields duration_unit and the duration_percent of workorders are not being computed. After this commit, both fields are computed the same way as when no login is required. OPW-3201557 Forward-Port-Of: odoo/enterprise#38231 Forward-Port-Of: odoo/enterprise#37913
Original PR description
…ing computed Currently, when a workcenter requires a login (allow_employees = True), the fields duration_unit and the duration_percent of workorders are not being computed. After this commit, both fields are computed the same way as when no login is required. OPW-3201557 Forward-Port-Of: odoo/enterprise#38231 Forward-Port-Of: odoo/enterprise#37913
Steps to reproduce: - Install account_followup - Settings > Configure Document Layout > Boxed/Bold - Accounting > Customer > Follow-up reports - Pick one > Follow up > check Print checkbox > Print Issue: Boxed layout: empty cells will have overlapping borders which do not match the outlines of the table Bold layout: empty cells will be represented as a thin line instead of a full cell This happens because the template `cell_template_followup_report` is applied on the lines inste
Original PR description
Steps to reproduce: - Install account_followup - Settings > Configure Document Layout > Boxed/Bold - Accounting > Customer > Follow-up reports - Pick one > Follow up > check Print checkbox > Print Issue: Boxed layout: empty cells will have overlapping borders which do not match the outlines of the table Bold layout: empty cells will be represented as a thin line instead of a full cell This happens because the template `cell_template_followup_report` is applied on the lines instead of the cells. Solution: Apply the template on the cells instead. opw-3110496 Forward-Port-Of: odoo/enterprise#37041
In the pivot view editor sidepanel, the "Measures" pivot view field did not show the currently selected measures shown in the view and crashed when trying to select a new one. This was caused by the "studio_pivot_measure_field_ids" attribute not being set on the studio view arch. *This issue also prevented easy access to the measure field ids for the web_studio owl refactor* Forward-Port-Of: odoo/enterprise#38635
Original PR description
In the pivot view editor sidepanel, the "Measures" pivot view field did not show the currently selected measures shown in the view and crashed when trying to select a new one. This was caused by the "studio_pivot_measure_field_ids" attribute not being set on the studio view arch. *This issue also prevented easy access to the measure field ids for the web_studio owl refactor* Forward-Port-Of: odoo/enterprise#38635
In this commit, I have made changes for not considering the rounding lines while sending a JSON response file at the time of pushing GSTR1 to the GST portal. It will ignore the move lines which are generated for rounding the total amount. task-id:3237650 Forward-Port-Of: odoo/enterprise#38528
Original PR description
In this commit, I have made changes for not considering the rounding lines while sending a JSON response file at the time of pushing GSTR1 to the GST portal. It will ignore the move lines which are generated for rounding the total amount. task-id:3237650 Forward-Port-Of: odoo/enterprise#38528
These small fixes aim to increase the performance of the journal report, by avoiding computing the tax report when not necessary and also reducing the impact of computing it by making a search in the options optional. Forward-Port-Of: odoo/enterprise#38749 Forward-Port-Of: odoo/enterprise#38414
Original PR description
These small fixes aim to increase the performance of the journal report, by avoiding computing the tax report when not necessary and also reducing the impact of computing it by making a search in the options optional. Forward-Port-Of: odoo/enterprise#38749 Forward-Port-Of: odoo/enterprise#38414
After https://github.com/odoo/enterprise/pull/30505, the sign.sign_item template was broken into multiple lines to make it easier reading. The issue, however, is that old templates always have xml:space="preserve". Therefore, the signature sign item started rendering the break lines, making the sign item appear in the wrong position. This commit fixes this issue by removing the line breaks. When sign is migrated to OWL, we'll be using OWL templates, which aren't affected by this issue. task-3
Original PR description
After https://github.com/odoo/enterprise/pull/30505, the sign.sign_item template was broken into multiple lines to make it easier reading. The issue, however, is that old templates always have xml:space="preserve". Therefore, the signature sign item started rendering the break lines, making the sign item appear in the wrong position. This commit fixes this issue by removing the line breaks. When sign is migrated to OWL, we'll be using OWL templates, which aren't affected by this issue. task-3205707 Forward-Port-Of: odoo/enterprise#37900
Changing the company's country does no longer update the fiscal country accordingly. Related: odoo/odoo#114683 Task: 3221792 Forward-Port-Of: odoo/enterprise#38514 Forward-Port-Of: odoo/enterprise#37923
Original PR description
Changing the company's country does no longer update the fiscal country accordingly. Related: odoo/odoo#114683 Task: 3221792 Forward-Port-Of: odoo/enterprise#38514 Forward-Port-Of: odoo/enterprise#37923
When trying to merge Won opportunities, users would get an error asking to select more than one opportunity which is not very explicit. The error is now more explicit and the won opportunities filtered out in the default deduplication rule. task-3062971 Forward-Port-Of: odoo/enterprise#37233
Original PR description
When trying to merge Won opportunities, users would get an error asking to select more than one opportunity which is not very explicit. The error is now more explicit and the won opportunities filtered out in the default deduplication rule. task-3062971 Forward-Port-Of: odoo/enterprise#37233
The deferred revenues have an issues with the signs of the amounts. Created a deferred revenue from an invoice should result in a positive Original Value, but it is now negative. Changing this also means changing the way the depreciation move lines are computed to inverse it again and keep the correct amounts (as it is now if the def rev is properly configured) Also fix a more general issue when making a deferred revenue/expense or asset model from the account.account list. The pre-populated
Original PR description
The deferred revenues have an issues with the signs of the amounts. Created a deferred revenue from an invoice should result in a positive Original Value, but it is now negative. Changing this also means changing the way the depreciation move lines are computed to inverse it again and keep the correct amounts (as it is now if the def rev is properly configured) Also fix a more general issue when making a deferred revenue/expense or asset model from the account.account list. The pre-populated account on these models were wrong (it was populating the account_asset_id and not account_depreciation_id) Also revert https://github.com/odoo/enterprise/commit/eb7edf11fc0b26ea76b90f1408f31f60d484ca9f Task id # 3229301 Forward-Port-Of: odoo/enterprise#38158
Steps to reproduce: - Install Documents app - Start the documents tour - Click on document app - Preview the document that does not contain tips Issue: When tip is in document kanban and we preview another document then tip is visible in the preview document because the opacity of the tip is higher than the preview document. Fix: If there is a document preview, the tips will be hidden in the document kanban. task-3090568 Forward-Port-Of: odoo/enterprise#37001
Original PR description
Steps to reproduce: - Install Documents app - Start the documents tour - Click on document app - Preview the document that does not contain tips Issue: When tip is in document kanban and we preview another document then tip is visible in the preview document because the opacity of the tip is higher than the preview document. Fix: If there is a document preview, the tips will be hidden in the document kanban. task-3090568 Forward-Port-Of: odoo/enterprise#37001