Daily updates from Odoo
Friday, October 11, 2024
26 changes · master
Enhancements to existing features
The Ecuador point-of-sale electronic invoicing data now includes ordering information for SRI payment methods. This helps keep payment options displayed or processed in a consistent, expected sequence for users.
Original PR description
related: https://github.com/odoo/odoo/pull/181035 task-4107994
Resolved issues and error corrections
This fix removes unnecessary extra spacing around control buttons in Planning, Social, and Gantt views. The change makes these screens look more consistent and avoids blank gaps when no buttons are shown.
Original PR description
This PR removes an extra spacing added on top of the gap rule already defined at the control panel level. As this extra spacing was leading to a weird and inconsistent visual result, we simply remove…
This PR removes an extra spacing added on top of the gap rule already defined at the control panel level. As this extra spacing was leading to a weird and inconsistent visual result, we simply remove it. It also fixes an issue about `GanttView.Buttons` always being present in the DOM even if empty, leading to an extra spacing due to the `d-flex gap-1` set on the parent. To handle that scenario, we simply add a `d-empty-none` rule on it. - requires https://github.com/odoo/odoo/pull/183077 | ///////////// | Master | This PR | |--------|--------|--------| | Planning | <img width="383" alt="image" src="https://github.com/user-attachments/assets/130b2f50-ecbf-47b0-ba4b-f15536186802"> | <img width="391" alt="image" src="https://github.com/user-attachments/assets/5e045515-1d16-401e-985d-c84a1220b1d8"> | | Social | <img width="388" alt="image" src="https://github.com/user-attachments/assets/f1bcf991-bed8-43de-8b41-d59a6dca03e9"> | <img width="383" alt="image" src="https://github.com/user-attachments/assets/6ca8d83d-da9f-42d1-855c-493afe384869"> | | web_gantt | <img width="340" alt="image" src="https://github.com/user-attachments/assets/374beeb3-f0de-4a78-9b63-1f351343994e"> | <img width="340" alt="image" src="https://github.com/user-attachments/assets/6dc6c802-3198-4680-8a94-33e60f6d228b"> | task-3833933
A new technical settings menu makes quote calculator spreadsheet templates easier to find and manage. Administrators can now clean up unused templates or import templates from JSON files without adding clutter to the Sales app menus.
Original PR description
Currently, there's no menu to get a list of all quote calculator spreadsheet templates. This commits adds a menu in the technical settings. It allows to: - delete/clean unused spreadsheet templates - import a template from its json file (BA do that quite often for dashboards, I expect they'll want to do it for spreadsheet quotation templates) Feedback from OXP Note: we don't add the menu in the Sales app menus because we don't want to add noise in there. It must be kept clean. Will be backported to 18.0 Task: 4236559
This update supports an internal platform change and adjusts automated checks across accounting, localization, inventory barcode, sales, and helpdesk knowledge areas. It helps ensure these business workflows continue to run reliably after the core environment change.
Original PR description
odoo/odoo#181048
Code cleanup and technical improvements
This update refreshes internal automated tests around timesheets, timers, helpdesk, field service, and sales timesheet views. It helps keep those workflows reliable without introducing visible functional changes for end users.
Original PR description
Community: https://github.com/odoo/odoo/pull/167044 task-3880470
Miscellaneous changes
There's no refresh when closing a MO on the 'All MO' tab of the shopfloor. Because of that, the MO fades away but the total count is still the same. This PR forces a refresh to make sure that the count is corresponding to the number of MOs shown. When marking a workorder as done with the timer running, the timer doesn't stop and the value registered contains the time it takes to fade away. E.g. if you mark a WO as done at 1 min 33 sec, the real duration registered will be around 1 min
Original PR description
There's no refresh when closing a MO on the 'All MO' tab of the shopfloor. Because of that, the MO fades away but the total count is still the same. This PR forces a refresh to make sure that the count is corresponding to the number of MOs shown. When marking a workorder as done with the timer running, the timer doesn't stop and the value registered contains the time it takes to fade away. E.g. if you mark a WO as done at 1 min 33 sec, the real duration registered will be around 1 min 36-37 sec. This fix ensures the timer stop effectively and visually when closing a WO. Forward-Port-Of: odoo/enterprise#71695 Forward-Port-Of: odoo/enterprise#71548
Problem: When the user enables allow_material on a project, they encounter a ValidationError when adding products on a task that has no sale order. Odoo tries to create a sale order for the task, but there is no company_id passed into the values. Solution: The company_id should be required when allow_material is enabled and the company should be computed once enabled. Steps to Reproduce on Runbot: 1. Install Sales, Field Service, Projects 2. Create a project and enable "Products on Task"
Original PR description
Problem: When the user enables allow_material on a project, they encounter a ValidationError when adding products on a task that has no sale order. Odoo tries to create a sale order for the task, but there is no company_id passed into the values. Solution: The company_id should be required when allow_material is enabled and the company should be computed once enabled. Steps to Reproduce on Runbot: 1. Install Sales, Field Service, Projects 2. Create a project and enable "Products on Task" 3. Create a task and assign a customer that has no sales order 4. Add products on the task and the ValidationError occurs opw-4000580 Forward-Port-Of: odoo/enterprise#71716 Forward-Port-Of: odoo/enterprise#68493
…le split Currently, when auditing a DNA category with the vehicle split option leads to incorrect values. All the lines from the account being audited are displayed, including those with a 'vehicle_id'. That is wrong, since these lines will be grouped with the corresponding vehicle inside said category. They will appear both when auditing the category as well as when auditing each vehicle from this category. The solution is simply to exclude lines related to a vehicle when auditing a
Original PR description
…le split Currently, when auditing a DNA category with the vehicle split option leads to incorrect values. All the lines from the account being audited are displayed, including those with a 'vehicle_id'. That is wrong, since these lines will be grouped with the corresponding vehicle inside said category. They will appear both when auditing the category as well as when auditing each vehicle from this category. The solution is simply to exclude lines related to a vehicle when auditing a category while the vehicle split is active. task-4023543 Forward-Port-Of: odoo/enterprise#71382
**Before this PR:** - The tour included a step that was supposed to display a tooltip with the message and position it to the right, but it did not include a click action. - The subsequent step triggered by `.alert-info a.alert-link:contains(Back to edit mode)` only performed a click action without displaying any tooltip or additional content. - So, the navigating back step was not properly highlighted . **After this PR:** - Updated the step triggered by `.alert-info a.alert-link:contai
Original PR description
**Before this PR:** - The tour included a step that was supposed to display a tooltip with the message and position it to the right, but it did not include a click action. - The subsequent step triggered by `.alert-info a.alert-link:contains(Back to edit mode)` only performed a click action without displaying any tooltip or additional content. - So, the navigating back step was not properly highlighted . **After this PR:** - Updated the step triggered by `.alert-info a.alert-link:contains(Back to edit mode)` to include `content` and `tooltipPosition`. task-4159812 Forward-Port-Of: odoo/enterprise#69782
In this commit: ------------------- - We have added meal type option in product template list view, by default shown when we install urban_piper but we will be able to hide from options. task- 4075159 Forward-Port-Of: odoo/enterprise#69175
Original PR description
In this commit: ------------------- - We have added meal type option in product template list view, by default shown when we install urban_piper but we will be able to hide from options. task- 4075159 Forward-Port-Of: odoo/enterprise#69175
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations. Also delete unnecessary fr_BE.po files that didn't have any translations in them Forward-Port-Of: odoo/enterprise#71385 Forward-Port-Of: odoo/enterprise#71027
Original PR description
Some pot files were out of date/missing, some .po files were out of date/missing/missing translations. Also delete unnecessary fr_BE.po files that didn't have any translations in them Forward-Port-Of: odoo/enterprise#71385 Forward-Port-Of: odoo/enterprise#71027
Do not use a partner ID in email_to. And use partner_to when using partners. Forward-Port-Of: odoo/enterprise#71663
Original PR description
Do not use a partner ID in email_to. And use partner_to when using partners. Forward-Port-Of: odoo/enterprise#71663
In this context, the sentence seems better phrased with "en" rather than "dans": - Vous avez lettré 2 transactions dans 45 secondes. Becomes: - Vous avez lettré 2 transactions en 45 secondes. Forward-Port-Of: odoo/enterprise#71386 Forward-Port-Of: odoo/enterprise#70449
Original PR description
In this context, the sentence seems better phrased with "en" rather than "dans": - Vous avez lettré 2 transactions dans 45 secondes. Becomes: - Vous avez lettré 2 transactions en 45 secondes. Forward-Port-Of: odoo/enterprise#71386 Forward-Port-Of: odoo/enterprise#70449
This commit adds a system to enable the loop communication with the native Odoo Mobile App only when the bus is actually used. Forward-Port-Of: odoo/enterprise#70907
Original PR description
This commit adds a system to enable the loop communication with the native Odoo Mobile App only when the bus is actually used. Forward-Port-Of: odoo/enterprise#70907
This commit adds support for the Bank of Italy currency rates. The Bank of Italy publishes the currency rates on its APIs, of which the most recent one is available at https://tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/latestRates. Documentation can be found at https://tassidicambio.bancaditalia.it/terzevalute-wf-ui-web/assets/files/Istruzioni_tecnico-operative.pdf. This is necessary for Italian law compliance, as the Bank of Italy is the only institution allowed to publis
Original PR description
This commit adds support for the Bank of Italy currency rates. The Bank of Italy publishes the currency rates on its APIs, of which the most recent one is available at https://tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/latestRates. Documentation can be found at https://tassidicambio.bancaditalia.it/terzevalute-wf-ui-web/assets/files/Istruzioni_tecnico-operative.pdf. This is necessary for Italian law compliance, as the Bank of Italy is the only institution allowed to publish currency rates in Italy. Forward-Port-Of: odoo/enterprise#71553 Forward-Port-Of: odoo/enterprise#55502
No description available.
1) Navigate to ‘Accounting Reports’ 2) Duplicate ‘Unrealized Currency Gains/Losses’ 3) Set the ‘Root Report’ to ‘Aged Receivable’ 4) Navigate to ‘Accounting/Aged Receivable’ report 5) In the header change current report to ‘Unrealized Currency Gains/Losses (copy)’ 6) Print PDF Issue: Traceback will raise with error "cannot access free variable 'column_index' where it is not associated with a value in enclosing scope" opw-4177428 Forward-Port-Of: odoo/enterprise#71467
Original PR description
1) Navigate to ‘Accounting Reports’ 2) Duplicate ‘Unrealized Currency Gains/Losses’ 3) Set the ‘Root Report’ to ‘Aged Receivable’ 4) Navigate to ‘Accounting/Aged Receivable’ report 5) In the header change current report to ‘Unrealized Currency Gains/Losses (copy)’ 6) Print PDF Issue: Traceback will raise with error "cannot access free variable 'column_index' where it is not associated with a value in enclosing scope" opw-4177428 Forward-Port-Of: odoo/enterprise#71467
Adapt some test to strictly check against boolean values. Task: 4220373 Forward-Port-Of: odoo/enterprise#71077
Original PR description
Adapt some test to strictly check against boolean values. Task: 4220373 Forward-Port-Of: odoo/enterprise#71077
Commit odoo/odoo@57b8b2487def4 make the return wizard fill the product quantity to 0 default. This break the return flow in the stock_barcode application as the return picking is created on the fly but empty so an error is raised. To encounter this, returns created via stock_barcode app have their quantities set to the original stock move ones. The return picking is thus fill according to the need. Forward-Port-Of: odoo/enterprise#71544
Original PR description
Commit odoo/odoo@57b8b2487def4 make the return wizard fill the product quantity to 0 default. This break the return flow in the stock_barcode application as the return picking is created on the fly but empty so an error is raised. To encounter this, returns created via stock_barcode app have their quantities set to the original stock move ones. The return picking is thus fill according to the need. Forward-Port-Of: odoo/enterprise#71544
We use tour_helper editor instead of programmatic run(). Forward-Port-Of: odoo/enterprise#71662
Original PR description
We use tour_helper editor instead of programmatic run(). Forward-Port-Of: odoo/enterprise#71662
In 2022, Republic of Turkey officially renamed itself to Republic of Türkiye. So, its name needed to be changed in its Odoo modules. Moreover, updated Turkish modules descriptions according to this excalidraw: https://link.excalidraw.com/readonly/rbesZEAkXUS8rVgXplgm?darkMode=true task-4182931 Forward-Port-Of: odoo/enterprise#71647 Forward-Port-Of: odoo/enterprise#70304
Original PR description
In 2022, Republic of Turkey officially renamed itself to Republic of Türkiye. So, its name needed to be changed in its Odoo modules. Moreover, updated Turkish modules descriptions according to this excalidraw: https://link.excalidraw.com/readonly/rbesZEAkXUS8rVgXplgm?darkMode=true task-4182931 Forward-Port-Of: odoo/enterprise#71647 Forward-Port-Of: odoo/enterprise#70304
Due to recent change introduced in 8b9a1a4462453bf64e7bc1307ededd0d127a27fa The customer variable can be non sudo for the public user when only using appointment module. Add a sudo to ensure contact creation. Task-4247116 Forward-Port-Of: odoo/enterprise#71666
Original PR description
Due to recent change introduced in 8b9a1a4462453bf64e7bc1307ededd0d127a27fa The customer variable can be non sudo for the public user when only using appointment module. Add a sudo to ensure contact creation. Task-4247116 Forward-Port-Of: odoo/enterprise#71666
In this commit, fixes visibility and error handling for belgium companies. task-4213306 Forward-Port-Of: odoo/enterprise#70735
Original PR description
In this commit, fixes visibility and error handling for belgium companies. task-4213306 Forward-Port-Of: odoo/enterprise#70735
Reproduce the issue: - Turn on inter-company transactions to sync Sales and Purchases - Create an SO in one company for the second company - Chatter displays an incorrect message noting the record was created from the current company instead of the triggering company The issue: In the sale_order.py model of sale_purchase_inter_company_rules.py, the field of the current company was used instead of the field of the order's company. opw-4199979 Forward-Port-Of: odoo/enterprise#71624
Original PR description
Reproduce the issue: - Turn on inter-company transactions to sync Sales and Purchases - Create an SO in one company for the second company - Chatter displays an incorrect message noting the record was created from the current company instead of the triggering company The issue: In the sale_order.py model of sale_purchase_inter_company_rules.py, the field of the current company was used instead of the field of the order's company. opw-4199979 Forward-Port-Of: odoo/enterprise#71624
This commit aims to fix the following issue: When we send a sign request, an email is sent containing some link for canceling the sign request, that is when clicked the sign request is canceled instantly. The issue is that some spam detectors is going to click every link in the email while validating it. Resulting in the sign request being canceled without the partner knowing about it. The commit changes the action of the email cancel link to displaying a form and asking the user to
Original PR description
This commit aims to fix the following issue: When we send a sign request, an email is sent containing some link for canceling the sign request, that is when clicked the sign request is canceled instantly. The issue is that some spam detectors is going to click every link in the email while validating it. Resulting in the sign request being canceled without the partner knowing about it. The commit changes the action of the email cancel link to displaying a form and asking the user to submit it to confirm the sign request cancel. Task: 4149784 Forward-Port-Of: odoo/enterprise#69205
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by: https://github.com/odoo/enterprise/blob/070a780db047d849db268a40f1b488dce0a80c6a/delivery_sendcloud/models/sendcloud_service.py#L556-L560 see commit fbeefb5f7d1e429b22d8fd6fc06b7c28b9c236a6 ### Steps to reproduce: - Create a sendcloud delivery method - go to website and order a product, go to
Original PR description
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by:…
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by: https://github.com/odoo/enterprise/blob/070a780db047d849db268a40f1b488dce0a80c6a/delivery_sendcloud/models/sendcloud_service.py#L556-L560 see commit fbeefb5f7d1e429b22d8fd6fc06b7c28b9c236a6 ### Steps to reproduce: - Create a sendcloud delivery method - go to website and order a product, go to checkout - pick sendcloud delivery method - select a relay location - go to odoo backend, go the sale order created by the website - click the SO deliveries smart button - Validate the delivery #### > Invalid operation ### Cause of the issue: When the customer checkouts, it confirms the sale order and generate a delivery linked to that SO via the `_action_launch_stock_rule`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/sale_stock/models/sale_order.py#L153-L155 Later in this confirm, the `partner_shipping_id` of the SO is changed to be associated with a `res.partner` of type `delivery`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/delivery/models/sale_order.py#L178-L183 but the partner of the picking is not changed accordingly. However, the `delivery_sendcloud` module expects ti receive this delivery partner as a `partner_id` which raises. ### Note: The error is only reproducible after 17.4 even though the only change is that the piece of code creating the partner was moved from `website_sale` to `delivery` by commit 6a28ecf201acaa1e09d3f02184b49f9b3f17486a HOWEVER, this change has a huge impact as it change the inheritance chain of the `sale.order` model: more precisely, the overrides of the `_action_confirm` in which the stock move is created happens before the overrides creating the partner of type delivery while the flow use to be generated in the opposite order so that the picking was created with the updated partner data ! opw-4181787 opw-4188628 Forward-Port-Of: odoo/enterprise#71528 Forward-Port-Of: odoo/enterprise#71368