Daily updates from Odoo
Wednesday, November 6, 2024
24 changes · master
Enhancements to existing features
The Helpdesk ticket card menu no longer shows an Edit option. This reduces menu clutter because users can already open and update a ticket by clicking the card itself.
Original PR description
Before this commit, the `Edit` button is displayed in the menu of the kanban card of helpdesk ticket. This button is not really useful since the user can easily go to the form view of ticket by clicking on the kanban card. This commit removes `Edit` button in the kanban card menu of helpdesk ticket since that button is not really useful. task-4262236
The project list now shows the regular project name when there is only one company, or when Field Service is not installed. This keeps the list easier to sort while still showing company details when they are useful in multi-company Field Service setups.
Original PR description
In the project list view, instead of displaying the name, we use the display_name so that we can show the company name for fsm projects. However, since it is a computed field, it has the drawback of not being sortable. To alleviate this, this PR will use the name instead if there is only one company in the context or if Field Service is not installed. Task-3942760
WhatsApp message templates with the same priority are now shown with the most recently updated templates first. This makes it easier for users to find and work with the templates that were changed most recently.
Original PR description
The templates who has the same sequence number should be sorted based on their most recent update date. task-3794427
The subscription stock forecast report now handles warehouse information in one consistent way, whether there is one warehouse or several. This simplifies the underlying logic and helps keep future maintenance easier without changing the user workflow.
Original PR description
In this PR ======================== 1. For the forecast report, always pass warehouses as a list, regardless of whether it's one or more. This reduces unnecessary code and simplifies the logic. The main goal is to clean this PR: https://github.com/odoo/enterprise/pull/69760 TaskId :4214109
Resolved issues and error corrections
This fix corrects a report generation method name for GSTR-1 and updates the GSTR-2B status spelling from "recived" to "received". It helps avoid confusion and potential errors when handling Indian GST return periods.
Original PR description
This **PR**, rectifies method name for GSTR-1 report generation and corrects GSTR-2B status spelling from 'recived' to 'received'. **task**-4306959 **Upgrade PR** - https://github.com/odoo/upgrade/pull/6717
Code cleanup and technical improvements
This update cleans up internal import and export usage across several Odoo apps to align with newer core standards. It should not change day-to-day workflows, but it improves maintainability and reduces future upgrade risk across accounting, payroll, appointments, delivery, documents, helpdesk, field service, IoT, and localization areas.
Original PR description
odoo/odoo#184928
The Point of Sale codebase has been reorganized so service-related files are grouped into clearer dedicated folders. This is an internal cleanup that should make future maintenance easier without changing day-to-day user workflows.
Original PR description
Reorganization of all `services` files into a specific folder. task-id: 4290514
This update cleans up and modernizes automated tests across several Odoo Enterprise areas, including messaging, VoIP, and grid views. It helps make internal quality checks more reliable and easier to maintain, with no direct change expected for day-to-day users.
Original PR description
## Pull Request HOOT (PRHOOT) - part 26 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4:…
## Pull Request HOOT (PRHOOT) - part 26 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4: https://github.com/odoo/odoo/pull/153203 Part 5: https://github.com/odoo/odoo/pull/153425 Part 6: https://github.com/odoo/odoo/pull/153700 Part 7: https://github.com/odoo/odoo/pull/154054 Part 8: https://github.com/odoo/odoo/pull/154579 Part 9: https://github.com/odoo/odoo/pull/155073 Part 10: https://github.com/odoo/odoo/pull/155639 Part 11: https://github.com/odoo/odoo/pull/156255 / https://github.com/odoo/enterprise/pull/58135 Part 12: https://github.com/odoo/odoo/pull/156869 Part 13: https://github.com/odoo/odoo/pull/158384 / https://github.com/odoo/enterprise/pull/59019 Part 14: https://github.com/odoo/odoo/pull/158916 Part 15: https://github.com/odoo/odoo/pull/160292 / https://github.com/odoo/enterprise/pull/59971 Part 15.5: https://github.com/odoo/odoo/pull/166463 Part 16: https://github.com/odoo/odoo/pull/166311 Part 17: https://github.com/odoo/odoo/pull/168328 Part 18: https://github.com/odoo/odoo/pull/171004 / https://github.com/odoo/enterprise/pull/65657 Part 19: https://github.com/odoo/odoo/pull/171242 / https://github.com/odoo/enterprise/pull/65767 Part 20: https://github.com/odoo/odoo/pull/173332 / https://github.com/odoo/enterprise/pull/66895 Part 21: https://github.com/odoo/odoo/pull/174337 Part 22: https://github.com/odoo/odoo/pull/176777 / https://github.com/odoo/enterprise/pull/68721 Part 23: https://github.com/odoo/odoo/pull/179660 / https://github.com/odoo/enterprise/pull/69728 Part 24: https://github.com/odoo/odoo/pull/181971 Part 25: https://github.com/odoo/odoo/pull/183358 Community: https://github.com/odoo/odoo/pull/183921 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
This commit adds voice information to attachments while creating attachments received from meta side. This will let the users play voice messages directly from the discuss channel. Task-3839838 Forward-Port-Of: odoo/enterprise#73364 Forward-Port-Of: odoo/enterprise#73291
Original PR description
This commit adds voice information to attachments while creating attachments received from meta side. This will let the users play voice messages directly from the discuss channel. Task-3839838 Forward-Port-Of: odoo/enterprise#73364 Forward-Port-Of: odoo/enterprise#73291
Issue: A traceback occurs when attempting to create an invoice or sales order for a customer whose fiscal position is set to Automatic Tax Mapping in Brazilian accounting. ```python File "/home/odoo/src/enterprise/account_external_tax/models/account_move.py", line 18, in _compute_tax_totals subtotal = tax_totals['subtotals'][0] ~~~~~~~~~~~~~~~~~~~~~~~^^^ IndexError: list index out of range ``` Steps to reproduce: - Have Brazilian localization (including EDI modules) with Avatax config
Original PR description
Issue: A traceback occurs when attempting to create an invoice or sales order for a customer whose fiscal position is set to Automatic Tax Mapping in Brazilian accounting. ```python File…
Issue: A traceback occurs when attempting to create an invoice or sales order for a customer whose fiscal position is set to Automatic Tax Mapping in Brazilian accounting. ```python File "/home/odoo/src/enterprise/account_external_tax/models/account_move.py", line 18, in _compute_tax_totals subtotal = tax_totals['subtotals'][0] ~~~~~~~~~~~~~~~~~~~~~~~^^^ IndexError: list index out of range ``` Steps to reproduce: - Have Brazilian localization (including EDI modules) with Avatax configuration. - Create a new Sales Order or Invoice and: - Use a contact with a fiscal position set to "Automatic Tax Mapping (Avalara Brazil)", or - Set the fiscal position to that on the SO or invoice itself. - Observe the traceback as described in the ticket. Explanation: In account_move/sale_order from the modules account_external_tax/sale_external_tax, the method _compute_tax_totals attempted to compute the tax totals when there were no account move lines (tax_totals['subtotals'] is empty), which results in an "out of range" traceback. The Brazilian Automatic Tax Mapping is computed externally, which is why it triggered this issue. opw-4256191 Forward-Port-Of: odoo/enterprise#72611
Before this commit, if a user didn't remove the prepared orders from the preparation display, all orders would be displayed even after closing and opening a new session. This could cause rendering issues due to the large number of orders. opw-4295258 Forward-Port-Of: odoo/enterprise#73235
Original PR description
Before this commit, if a user didn't remove the prepared orders from the preparation display, all orders would be displayed even after closing and opening a new session. This could cause rendering issues due to the large number of orders. opw-4295258 Forward-Port-Of: odoo/enterprise#73235
As Debian wants to remove pypdf2 and keep only pypdf (4.3) in trixie, so we need to be compatible otherwise Odoo could not be released in the next Debian. Forward-Port-Of: odoo/enterprise#73014 Forward-Port-Of: odoo/enterprise#71676
Original PR description
As Debian wants to remove pypdf2 and keep only pypdf (4.3) in trixie, so we need to be compatible otherwise Odoo could not be released in the next Debian. Forward-Port-Of: odoo/enterprise#73014 Forward-Port-Of: odoo/enterprise#71676
The issue: The child of the server action "Ask for Validation, Add Tag Draft" should be named "Remove Tag Draft." How to reproduce the issue: - Go to Server Actions: Search for “Ask for validation”. - Open “Add tag draft” child action opw-4281732 Forward-Port-Of: odoo/enterprise#73142
Original PR description
The issue: The child of the server action "Ask for Validation, Add Tag Draft" should be named "Remove Tag Draft." How to reproduce the issue: - Go to Server Actions: Search for “Ask for validation”. - Open “Add tag draft” child action opw-4281732 Forward-Port-Of: odoo/enterprise#73142
Problem: When rental dates are changed in the cart, the update occurs via an API call, which doesn't trigger the `_onchange_rental_start_date` and `_onchange_rental_return_date` methods. Additionally, we cannot add `rental_return_date` and `rental_start_date` as dependencies for `_compute_name` as outlined in this [commit](https://github.com/odoo/enterprise/commit/de5f3c7521d839e7549f5d44c7832e610fad7f29). Solution: Recompute the description after changing the dates in `_cart_update_renting
Original PR description
Problem: When rental dates are changed in the cart, the update occurs via an API call, which doesn't trigger the `_onchange_rental_start_date` and `_onchange_rental_return_date` methods. Additionally, we cannot add `rental_return_date` and `rental_start_date` as dependencies for `_compute_name` as outlined in this [commit](https://github.com/odoo/enterprise/commit/de5f3c7521d839e7549f5d44c7832e610fad7f29). Solution: Recompute the description after changing the dates in `_cart_update_renting_period` Steps to reproduce: - Add any rental product to the cart. - On the cart page, modify the rental start and end dates. - The order description does not update to reflect the new dates. opw-4259443 Forward-Port-Of: odoo/enterprise#72201
When an onboarding error occurred, the error page failed to render and the user would see "Internal Server Error" instead of a more helpful error message. The server error had two causes: - The original onboarding error not being properly cast to a string. - The onboarding return route not passing the lang code to the QWeb context. Forward-Port-Of: odoo/enterprise#71987
Original PR description
When an onboarding error occurred, the error page failed to render and the user would see "Internal Server Error" instead of a more helpful error message. The server error had two causes: - The original onboarding error not being properly cast to a string. - The onboarding return route not passing the lang code to the QWeb context. Forward-Port-Of: odoo/enterprise#71987
With a BR Company Setup: Settings > Website, assign 'My Website' to BR Company Configure Avatax Brazil in General Settings > Taxes > Avatax Publish the Product "Regular Consumable Product" to be available in the website. Open the web shop as Public User Add "Regular Consumable Product" to cart Go to checkout Fill valid Brazilian customer info Pay Issue: Error will popup ``` odoo.http: Odoo could not fetch the taxes related to S00040. It is not possible identify the CFOP ``` Thi
Original PR description
With a BR Company Setup: Settings > Website, assign 'My Website' to BR Company Configure Avatax Brazil in General Settings > Taxes > Avatax Publish the Product "Regular Consumable Product" to be available in the website. Open the web shop as Public User Add "Regular Consumable Product" to cart Go to checkout Fill valid Brazilian customer info Pay Issue: Error will popup ``` odoo.http: Odoo could not fetch the taxes related to S00040. It is not possible identify the CFOP ``` This occurs because the sales order is missing the "Goods Operation Type" and the call to Avatax is not done opw-4239483 Forward-Port-Of: odoo/enterprise#72966
"Title Suggested features for your new model" pop-up is not well aligned. After the upgrade to bootstrap 5.3, the variable is declared in the .model ( https://github.com/odoo/odoo/blame/63e09a452d7724b6e844c5b0229c95e36f39ea61/addons/web/static/lib/bootstrap/scss/_modal.scss#L25-L27 ) while in web_studio we're only using 'model-header' Task-4072763 Forward-Port-Of: odoo/enterprise#73252 Forward-Port-Of: odoo/enterprise#72196
Original PR description
"Title Suggested features for your new model" pop-up is not well aligned. After the upgrade to bootstrap 5.3, the variable is declared in the .model ( https://github.com/odoo/odoo/blame/63e09a452d7724b6e844c5b0229c95e36f39ea61/addons/web/static/lib/bootstrap/scss/_modal.scss#L25-L27 ) while in web_studio we're only using 'model-header' Task-4072763 Forward-Port-Of: odoo/enterprise#73252 Forward-Port-Of: odoo/enterprise#72196
Collection of small shop floor fixes for v17. Please refer to the individual feature commits for details. Forward-Port-Of: odoo/enterprise#73095 Forward-Port-Of: odoo/enterprise#70704
Original PR description
Collection of small shop floor fixes for v17. Please refer to the individual feature commits for details. Forward-Port-Of: odoo/enterprise#73095 Forward-Port-Of: odoo/enterprise#70704
…anys Have a ir.default that sets one line into a one2many on some models. In studio, edit the form view of the main model, then navigate to edit the one2many, with the ir.default having been triggered (there is one virual line in the one2many). Before this commit there was a crash because "false" is not a valid id for the staticlist. After this commit, there is no crash, and the virtual record doesn't appear. opw-4289233 Forward-Port-Of: odoo/enterprise#73260 Forward-Port-Of: odoo/
Original PR description
…anys Have a ir.default that sets one line into a one2many on some models. In studio, edit the form view of the main model, then navigate to edit the one2many, with the ir.default having been triggered (there is one virual line in the one2many). Before this commit there was a crash because "false" is not a valid id for the staticlist. After this commit, there is no crash, and the virtual record doesn't appear. opw-4289233 Forward-Port-Of: odoo/enterprise#73260 Forward-Port-Of: odoo/enterprise#73220
**Steps to reproduce:** - Install l10n_pk_reports - Switch to a Pakistani company (e.g. PK Company) - Create a Journal entry crediting an account of "Other Income" type (e.g. 3112003 Misc Income) - Post the journal entry - Go to "Accounting / Reporting / Statement Reports / Profit and Loss" - Select "Profit and Loss (PK)" report **Issue:** The created journal entry is negative in the "Other Income" section and its value is subtracted from "Gross Profit" section, reducing "Profit of the
Original PR description
**Steps to reproduce:** - Install l10n_pk_reports - Switch to a Pakistani company (e.g. PK Company) - Create a Journal entry crediting an account of "Other Income" type (e.g. 3112003 Misc Income) - Post the journal entry - Go to "Accounting / Reporting / Statement Reports / Profit and Loss" - Select "Profit and Loss (PK)" report **Issue:** The created journal entry is negative in the "Other Income" section and its value is subtracted from "Gross Profit" section, reducing "Profit of the Year" section, which is not correct. On the other hand, if the normal "Profit and Loss" report is selected, the created journal entry is positive and its value is added to "Gross Profit" section, increasing "Net Profit" section, which is correct. opw-4185212 Forward-Port-Of: odoo/enterprise#73272 Forward-Port-Of: odoo/enterprise#72378
*l10n_fr_fec_import,l10n_fr_reports Related to https://github.com/odoo/odoo/pull/185817 Forward-Port-Of: odoo/enterprise#73167 Forward-Port-Of: odoo/enterprise#73048
Original PR description
*l10n_fr_fec_import,l10n_fr_reports Related to https://github.com/odoo/odoo/pull/185817 Forward-Port-Of: odoo/enterprise#73167 Forward-Port-Of: odoo/enterprise#73048
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the subscription app, create a quotation with the specified product. 5. Preview the invoice for the quotation. 6. Copy the link for the portal invoice and open it in an incognito window. 7. Pay the invoice. You will encounter a TraceBack error depending on the modules installed. This is due to the
Original PR description
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the…
To reproduce the bug: 1. Install the subscription feature on your website. 2. Create a second company and link it to the website. 3. Create a recurring product with the service type. 4. In the subscription app, create a quotation with the specified product. 5. Preview the invoice for the quotation. 6. Copy the link for the portal invoice and open it in an incognito window. 7. Pay the invoice. You will encounter a TraceBack error depending on the modules installed. This is due to the `company_id` being set to an empty record as a result of how it is computed here: https://github.com/odoo/odoo/blob/17.0/addons/account/models/account_move.py#L696-L698 In our case, `move.journal_id.company_id` (the invoice company) exists, so `self.env.company` (the website company) gets ignored. However, since the public user of the website doesn't have access to the invoice company, the `company_id` is set to an empty record after checking the access rights with `._accessible_branches()[:1]`. opw-3999546 Forward-Port-Of: odoo/enterprise#71404 Forward-Port-Of: odoo/enterprise#68034
In this commit: === - Removed the XML data file for creating the discount product. - Added logic to create the discount product in Python, directly where the existing discount product is searched. - Implemented a check to first search for the discount product, and only create it if it does not already exist. Forward-Port-Of: odoo/enterprise#72981
Original PR description
In this commit: === - Removed the XML data file for creating the discount product. - Added logic to create the discount product in Python, directly where the existing discount product is searched. - Implemented a check to first search for the discount product, and only create it if it does not already exist. Forward-Port-Of: odoo/enterprise#72981
In this commit: === - Discounts for online delivery orders are now handled. - Tax is now applied to charges (e.g., packaging charges). - The rider_status_updated payload has been updated. task-4075113 Forward-Port-Of: odoo/enterprise#72458
Original PR description
In this commit: === - Discounts for online delivery orders are now handled. - Tax is now applied to charges (e.g., packaging charges). - The rider_status_updated payload has been updated. task-4075113 Forward-Port-Of: odoo/enterprise#72458