Monday, November 27, 2023
10 changes
1 change
Enhancements to existing features
The bank reconciliation screens have been visually refreshed as part of the broader Odoo 16 style update. This reduces unnecessary styling code and should make the accounting workflow feel cleaner and more consistent for users.
Original PR description
Requires: - https://github.com/odoo/odoo/pull/94397 Required by: - https://github.com/odoo/enterprise/pull/28792 This commit improves the design and removes unnecessary SCSS. Part of the overall v16 SCSS optimization/restyle, task-2704984. task-2879908
9 changes
Enhancements to existing features
The quotation template form view has been enhanced to improve the user experience when entering prepayment amounts. This update makes it easier for sales teams to input and review prepayment information, streamlining the quotation process and reducing potential data entry errors.
Original PR description
**Version:** - master **Improvement:** With this PR, we have improved the UI for the Prepayment amount field in both the quotation template form view The changes have made it easier for users to input and review information. task-3546106
This update prevents subscription invoice processing from running when deferred revenue settings are not properly configured. Previously, invoices could be created but fail to post, causing system rollbacks and unclear error messages. The improvement includes better error notifications and upfront validation to avoid failed transactions.
Original PR description
…ng invcron Before this commit, it was possible to launch the subscription invoice cron when the deferred journal or account was not properly set in the settings. As a result, the invoice was created in draft, the payment request was performed but the invoice was not posted. Then the system was rollback. An email indicating the issue was sent but it was not clear enough. This commit improve the email content and prevent to launch the cron if the deferred revenues are not properly configured. opw-ticket: 3565556 Forward-Port-Of: odoo/enterprise#51478 Forward-Port-Of: odoo/enterprise#50897
Resolved issues and error corrections
This fix resolves a crash that occurred in the Project Gantt view when users resized their browser window or switched from mobile to desktop view while viewing task dependencies. The issue happened because certain variables needed to display task connections were not properly initialized during the resize operation. The fix ensures these variables are correctly set up when the view transitions from mobile to desktop mode.
Original PR description
Steps ===== - Open app Project - In settings of Project activate task dependencies - Open a project with dependencies between task (e.g. research and development in demo data) - Go to the Gantt view…
Steps ===== - Open app Project - In settings of Project activate task dependencies - Open a project with dependencies between task (e.g. research and development in demo data) - Go to the Gantt view of the tasks of this project in mobile view (or with as small window) - Deactivate all filters to ensure that tasks with dependencies appear in the current view - Switch to desktop view (or resize the window) Issue ===== A traceback appears indicating "Cannot read properties of undefined (reading '__pill__1')". Cause ===== The connections between dependent pill is only displayed if the user is not in mobile view. To avoid unecessary memory allocation, some variable used to manage the connections display (e.g. mappingPillToConnectors), are only declared if the user is not in mobile view. However, when resizing the window (or leaving mobile view), the onWillRender method is called and can make use of those variables if the connections need to be displayed. This create the traceback are those variables have not been declared. Fix === The method computeDerivedParams used to manage such variable declaration is called in the onWillRender method under the condition that connectors were not present in the previous render (i.e. it was in mobile view). Forward-Port-Of: odoo/enterprise#50407 Forward-Port-Of: odoo/enterprise#48107
This fix resolves an error that occurred when users tried to generate a delivery guide for validated delivery orders in the Mexican localization inventory module. The issue was caused by an incorrect method name being called, which has now been corrected to allow the delivery guide generation process to complete successfully.
Original PR description
This issue occurs when a customer creates a delivery order using the inventory module, validates it, and then tries to generate the delivery guide for that order. At that time error will be…
This issue occurs when a customer creates a delivery order using the inventory module, validates it, and then tries to generate the delivery guide for that order. At that time error will be generated.
step to reproduce:
- Install the `l10n_mx_edi_stock` Module.
- switch the company of `ESCUELA KEMPER URGATE`
- open the `Inventory`
- create the delivery order > validate it.
- click on `Generate Delivery Guide` button.
- the error will be generated,
sentry traceback-
```
AttributeError: 'stock.picking' object has no attribute '_l10n_mx_edi_cfdi_invoice_document_sent_failed'
File "odoo/http.py", line 2157, in __call__
response = request._serve_db()
File "odoo/http.py", line 1732, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1759, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1960, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 207, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 28, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 20, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/17.0/l10n_mx_edi_stock/models/stock_picking.py", line 362, in l10n_mx_edi_cfdi_try_send
self._l10n_mx_edi_cfdi_invoice_document_sent_failed("\n".join(errors))
```
https://github.com/odoo/enterprise/blob/17.0/l10n_mx_edi_stock/models/stock_picking.py#L362
https://github.com/odoo/enterprise/blob/17.0/l10n_mx_edi_stock/models/stock_picking.py#L264
The reason for this error is that the method that called `l10n_mx_edi_cfdi_invoice_document_sent_failed` instead of `_l10n_mx_edi_cfdi_document_sent_failed` was called incorrectly.
sentry-4621933269This fix resolves a problem where orders displayed on multiple preparation screens could not be deleted properly—they would reappear on the first stage instead of being removed. The solution hides orders when deleted from one screen and only permanently removes them once they're deleted from all screens. This ensures smooth order management in restaurant kitchen operations.
Original PR description
Prior to this commit, when two preparation display received the same order, it was then impossible to delete this order as the order would come back to the first stage when trying to delete it. This is now solved by virtually hiding the order when it is deleted and really delete it when the order is deleted in all preparation display.
The Partner Ledger report was displaying incorrect currency symbols for bills recorded in foreign currencies. When a vendor bill was created in a different currency than the journal, the report would show the journal's currency symbol instead of the actual transaction currency. This fix corrects the currency symbol display logic to properly reflect the currency used in each transaction.
Original PR description
Issue: ====== In `Parnter Ledger` report it only shows the primary currency symbols and not the foreign currency (If the bill was in foreign currency) Steps to reproduce the issue:…
Issue: ====== In `Parnter Ledger` report it only shows the primary currency symbols and not the foreign currency (If the bill was in foreign currency) Steps to reproduce the issue: ============================= - Make vendor bill in `Accounting` app in a different currency than the journal - Open `Parnter Ledger` report (`Accounting` app > Reporting > Partner Ledger - The `Amount Currency` field will be debited in the journal currency, not the one you specified. (just a wrong symbol, digits are fine). - This was due to the transition from version 16.3 > 16.4, in which currency symbols started to appear in the report (in previous versions symbols appeared only if it was a foreign currency), but the logic in the partner ledger remained the same, while the principle of passing a string to the report itself changed. Solution ======== I changed the logic of passing currency in report._build_column_dict by adding currency passing to the function and removing variables that are not used. opw-3584282 Forward-Port-Of: odoo/enterprise#50361
A recent change to report options inadvertently affected how the consolidation report displays. This fix restores the report to its previous working state and makes improvements to align it with other financial reports in the system. Users will see the consolidation report functioning correctly again with consistent formatting across all reports.
Original PR description
In this commit (https://github.com/odoo/enterprise/commit/6c570325dc64adba441c748d834cee2c0fe488b7), there has been a changed in the options of reports and the consolidation report was impacted. In the PR, we will come back to the behavior of the 16.3 version task: 3471071 Forward-Port-Of: odoo/enterprise#46076
This fix corrects a coding error in the subscription module where a method was being called on the wrong object type, causing database upgrades to fail. The method reference has been corrected to point to the proper location, allowing subscription operations to work as intended.
Original PR description
minor mistake. `_create_starting_transfer_log` method defined on `sale.order.log` model but given wrong reference by mistake to `sale_subscription`. so got error
during upgrade database
```
File "/home/odoo/src/enterprise/17.0/sale_subscription/models/sale_order_log.py", line 132, in _create_mrr_log
return sub._create_starting_transfer_log(sub, values.copy())
AttributeError: 'sale.order' object has no attribute '_create_starting_transfer_log'
```This fix resolves an issue where the sign and validate button becomes unresponsive on mobile devices when users switch between text fields in a document. The problem occurred because hidden form sections remained visually blocking the button even though they weren't visible. The fix ensures these sections are properly hidden when not in use, allowing users to successfully submit their signed documents.
Original PR description
Issue: ====== After adding all the values in a sign doucent and then go back to change other fields, clicking in a text field and then clicking on another will make the sign & validate button…
Issue: ====== After adding all the values in a sign doucent and then go back to change other fields, clicking in a text field and then clicking on another will make the sign & validate button unresponsive. Steps to reproduce the issue: ============================= - install sign - send a sign request to a customer , the sign document should have at least 2 text fields - - Open the sent link using mobile display and add all tha values but do not validate - Click on any text field - Click on another text field and click next - Clicking on the button validate will do nothing. Origin of the issue: ==================== Toggling between text fields will remove `show` class from the old bottom sheet and add it to the new one. but when closing the new one , the old one will still exist but we can't see it because it doesn't have the class `show` but it's display is still `block` , that's why clicking on the button validate woudln't work , it's below the div of the bottom sheet. Solution: ========= Removing the manual style as block and adding it to the show class so it will be updated automatically when we add/remove the class. opw-3477410 opw-3511365m Forward-Port-Of: odoo/enterprise#51526 Forward-Port-Of: odoo/enterprise#51377