Daily updates from Odoo
Thursday, June 20, 2024
18 changes · 17.0
Enhancements to existing features
This update improves the performance of the shop floor display by loading only the manufacturing orders relevant to the workcenters currently visible on screen, and by limiting the total number of orders loaded at once. This prevents the system from becoming slow when dealing with large numbers of manufacturing orders.
Original PR description
Only load relevant MOs based on the workcenters that are shown in the view and reintroduce a limit to the amount of MOs that can be loaded simultaneously into the view. task-3895017
This update adds support for currency exchange rates from Sveriges Riksbank, Sweden's central bank. Users can now automatically fetch and update currency rates from this additional source, providing more reliable and localized currency data for Swedish operations.
Original PR description
Added support for currency_rate from the world oldest central bank, Sveriges Riksbank.
Resolved issues and error corrections
Fixed a bug in the Field Service Management module where the system would fail when trying to clean up empty folders that contained empty subfolders. The system now properly checks all nested folders before attempting removal, preventing errors during the initialization process.
Original PR description
Previous implementation checked if a folder was empty before removing it. However, it didn't take into account cases where one folder is empty but there are non-empty subfolders inside. Removing the parent folder triggered an error. The new implementation recursively checks the subfolders to ensure their emptiness before trying to remove the parent folder. Forward-Port-Of: odoo/enterprise#62184 Forward-Port-Of: odoo/enterprise#61649
This update speeds up the confirmation process for newsletter subscribers by changing the demo campaign's trigger timing from 1 hour to instant (0 hours). Subscribers will now receive their double opt-in confirmation message immediately upon signup instead of waiting an hour, improving the user experience.
Original PR description
This PR update the Demo Campaign Double Opt-in's Trigger Value to 0 Hour, so that subscribers of a newsletter get a close-to instant confirmation instead of an hour later. Task-3976448
This fix corrects an issue where recurring products sold through Point of Sale were not properly updating their invoiced quantities on the original sales order. When a sale order with a recurring product was processed through the Point of Sale system, the invoiced quantity would incorrectly remain at zero. The fix ensures that Point of Sale transactions are now properly linked and counted when calculating invoiced quantities for subscription products.
Original PR description
When settling a sale order with recurring product, the qty invoiced is not correctly update on the sale order. Steps to reproduce: ------------------- * Install Point of Sale and Sale Subscription * Create a recurring product A * Create a sale order with the product A and select any subscription plan * Open a PoS session, settle the order, validate it and invoice it * Go back to the sale order > Observation: The invoiced quantity is still 0 Why the fix: ------------ Before this fix the `_get_subscription_qty_invoiced` method was not considering the pos_order_lines linked to the order_lines. It was happening because here https://github.com/odoo/enterprise/blob/77c76fecda9b63e2fc17431a4cd3623650f93724/sale_subscription/models/sale_order_line.py#L189-L196 The order lines with recurring product where not considered in the normal invoiced quantity computation. opw-3992577
This fix corrects how nil-rated tax items are categorized in India's GSTR1 tax report. Previously, these items were incorrectly counted in both their category table and the nil-rated table. Now they appear only in their appropriate category, ensuring accurate tax reporting for invoices, credit notes, and special economic zone transactions.
Original PR description
Current behavior in gstr1 report: - For invoices and credit notes, if there are nil rated tax grid journal items then these tax lines are considered in both GSTR summary tables i.e self category (b2b/b2c) table and nil category table. After fix: - Now, the journal items are considered for their respective GSTR summary tables only. - For, `special economic zone` the nil-rated journal items are considered in their category i.e b2b/b2cs/b2cl, not in the nil summary table. task-3866787 Forward-Port-Of: odoo/enterprise#61433
This fix corrects how organization numbers are sent to Sweden's payment compliance device (blackbox). The system now removes the dash from organization numbers (converting XXXXXX-XXXX to XXXXXXXX) since the device only accepts numeric values. This ensures proper communication with the Swedish tax compliance system.
Original PR description
When sending the organisation number to the sweden blackbox, we only accept numbers. At the moment, the organisation number in the company should be: XXXXXX-XXXX. So we have to remove the dash in order to be able to send the number to the device.
This fix ensures that the Studio upsell button appears consistently in the optional columns dropdown across all list views, including account invoices and other views where it was previously unavailable. The issue was resolved by properly positioning the web_enterprise extension in the inheritance hierarchy to load immediately after the base list renderer component.
Original PR description
…ter its parent web_enterprise modifies the js template for the list_renderer by introducing an upsell point for Studio in the optional columns dropdown. That inheritance spec was not at any particular place in the inheritance hierarchy. On some views (e.g. account invoices) this feature was not available. This commit fixes the issue by manually forcing the extension in web_enterprise to go just after list_renderer.xml from the web module. After this commit, the upsell feature is available on the views that did not have it before. Forward-Port-Of: odoo/enterprise#64875 Forward-Port-Of: odoo/enterprise#64776
This fix resolves a system error that occurred when users with no timezone selected tried to add a leave in the Appointments module. The error prevented users from completing this action and has now been corrected to handle empty timezone settings properly.
Original PR description
When timezone of user is empty and the user clicks on Add a Leave button, a traceback will appear. Steps to reproduce the error: - Open Profile > Preferences > Select empty in timezone > Save -…
When timezone of user is empty and the user clicks on Add a Leave button,
a traceback will appear.
Steps to reproduce the error:
- Open Profile > Preferences > Select empty in timezone > Save
- Install 'Appointments'
- Go to Appointments > Schedule > Resource Bookings > Add a Leave
Traceback:
```
AttributeError: 'bool' object has no attribute 'upper'
File "odoo/http.py", line 2254, in __call__
response = request._serve_db()
File "odoo/http.py", line 1829, in _serve_db
return self._transactioning(_serve_ir_http, readonly=ro)
File "odoo/http.py", line 1849, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1827, in _serve_ir_http
return self._serve_ir_http(rule, args)
File "odoo/http.py", line 1834, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2059, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 220, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 740, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 38, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 34, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 458, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 871, in onchange
defaults = self.default_get(missing_names)
File "odoo/models.py", line 1524, in default_get
defaults[name] = field.default(self)
File "home/odoo/src/enterprise/saas-17.2/appointment/wizard/appointment_manage_leaves.py", line 20, in <lambda>
leave_start_dt = fields.Datetime('Start Date', required=True, default=lambda self: self._default_time(0, 0))
File "home/odoo/src/enterprise/saas-17.2/appointment/wizard/appointment_manage_leaves.py", line 14, in _default_time
user_timezone = pytz.timezone(self.env.user.tz or self.env.context.get('tz', 'utc'))
File "odoo/tools/_monkeypatches_pytz.py", line 129, in timezone
return original_pytz_timezone(name)
File "__init__.py", line 183, in timezone
if zone.upper() == 'UTC':
```
https://github.com/odoo/enterprise/blob/7640860f415028d2d516a2df5e4bc26d9d6dd3b4/appointment/wizard/appointment_manage_leaves.py#L14 When the user selects an empty timezone, tz will be False.
So, It will lead to the above traceback.
sentry-5443573507
Forward-Port-Of: odoo/enterprise#63858Fixed an issue where the Taxes Applied table in the Journal Report PDF export was too narrow, causing numbers to wrap and become difficult to read. The table layout has been adjusted to provide more space for displaying tax information clearly.
Original PR description
In accounting, when exporting journal report to pdf, the Taxes Applied table size is limited thus forcing long number to wrap. Steps to reproduce: 1.go to Accounting > Reporting > Audit Reports > Journal Report 2.click on Pdf button 3.the "Taxes Applied" table will be spanning accross 2 column of the parent table leading to wrapped values Cause: "Taxes Applied" and "Tax Grid" are sharing the same row to render 2 different table and there is not enough room especially if the numbers are long. Solution: Up the colspan for "Taxes Applied" to 3, not the ideal solution if each column are diplayed and filled with long numbers but it is stable friendly. + this issue is fixed in 17.3 opw-3959560
This update fixes a bug in the Swiss payroll tax rate import wizard that was preventing it from working correctly. The fix ensures that tax rates can be properly imported into the payroll system, which is essential for accurate salary calculations and compliance with Swiss tax regulations.
Fixed an issue in the Barcode app where the "Add Quantity" button was incorrectly displaying "+1" for products with quantities less than 1 unit (such as 0.5). The fix ensures the button now displays the actual quantity increment, making inventory operations more accurate when handling fractional quantities.
Original PR description
## Issue: - For an inventory operation, if a product quantity is less than 1 (eg. 0.5), the "+" button in the Barcode app will display "+1" instead of "+ 0.5". ## Steps To Reproduce: - In Inventory, create a transfer (Receipts) with a product where the quantity is 0.5 and "Mark As Todo". - In the Barcode app, go to that operation and notice that the "Add Quantity" button shows "+1" instead of "+0.5". ## Solution: - I modified the `getIncrementQuantity` function to change the minimum quantity from 1 to 0. This ensures that for product quantities less than 1, the "+" button in the Barcode app will display the correct increment. OPW-3880380 Forward-Port-Of: odoo/enterprise#64812 Forward-Port-Of: odoo/enterprise#62770
This update reverts a previous change to the documents module that was causing unintended side effects. The original modification is no longer needed since the related change it depended on has been removed. This fix ensures documents are properly saved to the correct attachment without unexpected behavior.
Original PR description
reverts [1] as [2] was reverted and it is no longer needed. As some side effects were noticed and there may be more too subtle to find during manual tour testing. task-3983664 1: a187b096ceca1e0335f86f23469894c11f9b983b 2: e6c55e1683d679efd12e7d1cfca85b736fcbea01 Forward-Port-Of: odoo/enterprise#64937 Forward-Port-Of: odoo/enterprise#64478
This update corrects how the certificate issuer information is handled in the Ecuador electronic invoicing system. The fix ensures that digital certificate data is properly processed when issuing electronic documents, improving the reliability of Ecuador-specific tax compliance features.
This fix corrects how equity capital values are renamed in Austrian tax reports when comparing different years. Previously, the system would incorrectly apply naming conventions across multiple comparison periods, causing issues when the current year showed positive equity but prior years showed negative equity. Now the renaming logic only applies to the current report year, ensuring accurate and consistent tax reporting.
Original PR description
Resolve issue when having a positive equity capital in the chosen report year and having a negative equity capital in the latest comparison period. Info: @wt-io-it
The bank reconciliation widget has been updated to properly handle One-to-Many fields when the model is extended. Previously, attempting to use One-to-Many fields would cause errors during data operations. This fix ensures the widget can now correctly process these field types, making it more flexible for customizations and extensions.
Original PR description
The bank_rec_widget is missing the handling of **One2many** field . When extending the model if a One2many field is used a error is thrown because the appended operation on the **line_ids** field of the model **bank.rec.widget** is wrong.
This fix expands dashboard editing permissions to allow dashboard managers to add pivot tables, a capability that was previously restricted to administrators only. This change improves workflow efficiency by enabling designated managers to customize dashboards without requiring full admin access.
Original PR description
Before this commit only admin can add pivot in dashbord. <img width="680" alt="image" src="https://github.com/odoo/enterprise/assets/16716992/a301451f-1bf1-42f7-81fa-d93ab9223d05">
This fix expands dashboard editing permissions to allow dashboard managers to add pivot tables, a capability that was previously restricted to administrators only. This change improves workflow efficiency by enabling designated managers to customize dashboards without requiring full admin access.
Original PR description
Before this commit only admin can add pivot in dashbord.