Thursday, November 28, 2024
19 changes · 17.0
Enhancements to existing features
The Print Check button is now shown only when a suitable check layout is installed for the company localization. This avoids presenting users with an unusable action in countries or localizations that do not support check layouts.
Original PR description
When opening a vendor payment with a "Check" payment method, and the payment is posted, then the button "Print Check" should only be visible if some check layout are available. To have a Check Layout, a user needs to install the Check Layout module for that localization. However, many localizations are not supported which was making this feature unusable. task-4292174 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This change makes the search bar menu width setting reusable for customizations. It helps teams adjust the interface more consistently without duplicating styling values, with no expected change for everyday users.
Original PR description
This is needed so that the variable can be reused in overrides opw-4232114
Miscellaneous changes
Currently, an error occurs when splitting a backorder of MO's. Step to produce: - Install the 'mrp' module. - Enable work orders in the settings. - Create a BOM for a product P with an operation: - OP1: Assembly line 1, duration 10 minutes. - Create and confirm an MO for 5 units of P. - Add a Work Center and Operation in the work order line. - Set a producing quantity of 2. - Validate the MO and create a backorder. - Open a backorder of MO, Select a backorder that is in a confirmed
Original PR description
Currently, an error occurs when splitting a backorder of MO's. Step to produce: - Install the 'mrp' module. - Enable work orders in the settings. - Create a BOM for a product P with an operation: -…
Currently, an error occurs when splitting a backorder of MO's.
Step to produce:
- Install the 'mrp' module.
- Enable work orders in the settings.
- Create a BOM for a product P with an operation: - OP1: Assembly line 1, duration 10 minutes.
- Create and confirm an MO for 5 units of P.
- Add a Work Center and Operation in the work order line.
- Set a producing quantity of 2.
- Validate the MO and create a backorder.
- Open a backorder of MO, Select a backorder that is in a confirmed state.
- Click on the 'Action' button to split a backorder into two productions.
See Traceback:
```
TypeError: argument of type 'NoneType' is not iterable
File "odoo/http.py", line 2363, in __call__
response = request._serve_db()
File "odoo/http.py", line 1891, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1954, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1921, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2168, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 329, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 727, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 40, in call_button
action = call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 517, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/mrp/wizard/mrp_batch_produce.py", line 59, in action_done
return self._production_text_to_object(mark_done=True)
File "addons/mrp/wizard/mrp_batch_produce.py", line 90, in _production_text_to_object
productions = self.production_id._split_productions({self.production_id: productions_amount})
File "home/odoo/src/enterprise/18.0/mrp_workorder/models/mrp_production.py", line 87, in _split_productions
productions = super()._split_productions(amounts=amounts, cancel_remaining_qty=cancel_remaining_qty, set_consumed_qty=set_consumed_qty)
File "addons/mrp/models/mrp_production.py", line 1996, in _split_productions
if workorder.production_id.id not in self.env.context.get('mo_ids_to_backorder', []):
```
An error occurs because the system retrieves a None value for 'mo_ids_to_backorder' from the context at [1], which is not iterable. This causes issues as an iterable value is expected.
Link [1]: https://github.com/odoo/odoo/blob/99e2b13416256a0a23a1a619b92873bcfe15b8a9/addons/mrp/models/mrp_production.py#L1846
To resolve this issue, provide an empty list
for 'mo_ids_to_backorder' if the retrieved value is None instead of an iterable.
Sentry-6080156727
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#188434Product form buttons now remain inside the page even when labels are long, such as in French or after customization. This prevents layout overflow and keeps the form easier to read and use.
Original PR description
Steps to reproduce ================== - Create a product with many variants - Go to the form view - Switch to the french language so that the text is long enough or edit the button label with studio => The button box goes outside the main view Solution ======== - Set a max width on the control panel - Set a min-width on stat buttons so they can reduce their size - Hide the overflow as when a text is truncated, it goes outside opw-4056439
Delivery slips now use the customer or vendor address from the overall transfer when individual stock move lines do not have one. This ensures return delivery slips show the correct delivery address instead of only the warehouse address.
Original PR description
Version: 17.0+ Issue: If there is no partner on the stock moves, the delivery address will not display on the delivery slip. Purpose of this PR: Change the logic to use the stock.picking partner so that the delivery address will be printed on the delivery slip. Steps to reproduce on runbot: 1) create a receipt transfer 2) return the receipt transfer 3) print the delivery slip for the return 4) view that there is no delivery address, only the warehouse address Notes: There are three conditions that must be met for the delivery address to be printed on the delivery slip. - there are stock moves - the first stock move has a partner - the picking type code is outgoing With the above workflow, the stock moves are not assigned a partner although a partner is assigned on the picking. opw-4177811 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Installing the event sales feature no longer resets existing event registration states to default values. This helps preserve accurate registration and sales information during module installation or updates.
Original PR description
When event_sale is installed the combined compute for the status and state resets the state to "open" and "free", the default values when there is no sale order. We now check whether state and status were already set before writing on them. task-4364856 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update addresses a draft-related issue in Odoo's web editor. It helps ensure editing content in draft workflows behaves more reliably, reducing the chance of confusion or incorrect content state for users preparing website changes.
Original PR description
draft pr 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
The India localization now treats a missing company state during demo accounting data setup as a warning instead of an error. This avoids unnecessary error alerts for a non-blocking demo-data situation while keeping the issue visible for follow-up if needed.
Original PR description
Currently, a logger error is occurring when the user tries to change the Chart of Account to India with Indian company having no state. Clearly, it's related to demo data and it's not breaking the flow. Error:- ``` Message Error while loading Indian-Accounting demo data in the company "odoo".State is not set in the company. ``` So we can change the logger error to a warning to reduce the noise in the sentry sentry-5610804086
This update fixes an automated walkthrough used in the subscription sales area. It helps keep internal validation reliable so teams can catch issues before they affect users.
Original PR description
task-id: 3679337
A test for resending expired signature links now performs the expected click action instead of stalling. This helps keep automated checks reliable so signature-related updates can be validated with more confidence.
Original PR description
In this commit, we fix sign_resend_expired_link_tour tour by doing click in step action instead of doing nothing.
This update fixes a test failure related to how products are assigned to helpdesk tickets. The previous test was overly strict about the order of products, which could cause it to fail. The change simplifies the test by verifying the correct products are present, regardless of their order, ensuring consistent functionality.
Original PR description
Before this commit, the `/helpdesk_stock:TestHelpdeskStock.test_helpdesk_ticket_product_from_parent_company` test could fail if the records contained in `suitable_product_ids` of a ticket created, inside the test, are not in the same order than the list of ids expected. This commit replaces the following assert: `self.assertEqual(ticket.suitable_product_ids.ids, [company_product.id, employee_product.id], 'Employee should see SOs of parent company')` by ```py self.assertEqual(len(ticket.suitable_product_ids), 2, '2 products should be visible') self.assertIn(company_product, ticket.suitable_product_ids, 'Employee should see SOs of parent company') self.assertIn(employee_product, ticket.suitable_product_ids, 'Employee should see SOs of parent company') ``` by doing that the order will no longer fail the test since finally the order is not really important in that test case. runbot-106821 Forward-Port-Of: odoo/enterprise#74806
This update resolves a visual issue where the search bar dropdown menu in the Shop Floor view would extend beyond the screen's edge on smaller devices. The fix ensures the dropdown remains within the designated viewport, improving usability across different screen sizes. This enhancement maintains a consistent and professional user experience.
Original PR description
Steps to reproduce ================== - Use a small viewport - Open the Shop Floor - Click on the dropdown toggle next to the search bar => The dropdown goes outside the viewport Cause of the issue ================== In the shopfloor, the search view has a max width of 65%. Solution ======== We can set the max-width of the search bar menu as the minimum between the initial value and 65% opw-4232114
This update corrects a bug in the Romanian financial reports that was displaying incorrect date ranges for the start of year column. Specifically, it resolved an issue where the start date was calculated incorrectly, leading to inaccurate comparisons. This ensures the reports accurately reflect financial data.
Original PR description
- When doing comparisons on the report the start of year column header would display an impossible date range ex. 'Jan 2024 - Dec 2023'. - When the date range would start at exactly 1 Jan YEAR, the date would be calculated incorrectly to 1 Jan YEAR-1.
This update corrects a validation issue in the l10n_mx_edi module, ensuring the CFDI origin field is correctly populated. This prevents errors related to incorrect origin codes and guarantees accurate CFDI data validation, improving compliance and data integrity.
Original PR description
Fix validation to ensure the CFDI origin field is assigned properly. Prevents cases like `04|`, ensuring the UUID is correctly validated.
Before:
`{'tipo_relacion': '04', 'cfdi_relationado_list': ['']}`
After:
`{'tipo_relacion': '04', 'cfdi_relationado_list': []}`This update corrects a technical issue that prevented users from properly extending a key method within the fleet expense tracking module. Previously, attempts to modify this method resulted in missing data. This fix ensures that users can now correctly customize and extend this functionality, improving flexibility and adaptability.
Original PR description
When trying to extend `_get_deferred_lines_values` method, you don't received argument "line"
Revert the following fix: https://github.com/odoo/odoo/commit/5e3b471f4a67553d6f7525595b15dc3d7b4efb3f Which is no longer necessary since we have streams: https://github.com/odoo/odoo/commit/da8def8e410de68256ba4ab09ebf7a8b699355ac In particular, media must be returned with code 206 and a range, which is now the case. Forward-Port-Of: odoo/odoo#188872
Original PR description
Revert the following fix: https://github.com/odoo/odoo/commit/5e3b471f4a67553d6f7525595b15dc3d7b4efb3f Which is no longer necessary since we have streams: https://github.com/odoo/odoo/commit/da8def8e410de68256ba4ab09ebf7a8b699355ac In particular, media must be returned with code 206 and a range, which is now the case. Forward-Port-Of: odoo/odoo#188872
Introduced in #57155 (commit da29586). Steps to reproduce: - Install Odoo on a Windows machine - The install path defaults to Program Files as expected - Uninstall Odoo - Try to install Odoo again - The install path defaults to the empty string, forcing the user to manually set one Expected behaviour: - The install path defaults to the previous install path task-4104451 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-O
Original PR description
Introduced in #57155 (commit da29586). Steps to reproduce: - Install Odoo on a Windows machine - The install path defaults to Program Files as expected - Uninstall Odoo - Try to install Odoo again - The install path defaults to the empty string, forcing the user to manually set one Expected behaviour: - The install path defaults to the previous install path task-4104451 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188637
When uploading invoices in EFFF format taxes were not applied even though the XML file correctly defined them. The issue came from not taking the `<cbc:Percent>` tag into account when outside of `{*}TaxCategory` tag. This commit adds support both structures by checking for the `<cbc:Percent>` tag within `<cac:TaxSubtotal>` and outside of it. task-4348339 Forward-Port-Of: odoo/odoo#188062
Original PR description
When uploading invoices in EFFF format taxes were not applied even though the XML file correctly defined them.
The issue came from not taking the `<cbc:Percent>` tag into account when outside of `{*}TaxCategory` tag.
This commit adds support both structures by
checking for the `<cbc:Percent>`
tag within `<cac:TaxSubtotal>` and outside of it.
task-4348339
Forward-Port-Of: odoo/odoo#188062Description of the issue/feature this PR addresses: This PR adds the signed corporate Contributor License Agreement (CLA) for Xcellent Exchange, allowing contributions from our organization to the Odoo repository in compliance with Odoo's contribution policies. Current behavior before PR: Contributions from Xcellent Exchange are not formally recognized due to the absence of a signed CLA in the Odoo repository. Desired behavior after PR is merged: The signed corporate CLA for Xcellent Ex
Original PR description
Description of the issue/feature this PR addresses: This PR adds the signed corporate Contributor License Agreement (CLA) for Xcellent Exchange, allowing contributions from our organization to the Odoo repository in compliance with Odoo's contribution policies. Current behavior before PR: Contributions from Xcellent Exchange are not formally recognized due to the absence of a signed CLA in the Odoo repository. Desired behavior after PR is merged: The signed corporate CLA for Xcellent Exchange is added to the Odoo repository. Contributions from Xcellent Exchange can be properly acknowledged and merged. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188672