Monday, November 27, 2023
12 changes
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
Fixed a critical issue where customers experienced application crashes when trying to cancel appointment meetings that had extra attendees added. The system now properly handles meeting cancellations by allowing attendees to leave the meeting without errors, and notifications are correctly displayed in the chat history.
Original PR description
**Steps to reproduce** Step 1. As a customer, schedule a meeting Step 2. Add extra attendees from the backend through the calendar event Step 3. Now again go to the appointment confirmation page and try to cancel the meeting. -> error(page crash) **Technical** If there are more than 2 attendees in the meeting then the person who is cancelling the meeting should only leave the meeting and his leaving notification should display on the chatter. we are removing the attendee before and then trying to send the message from that attendee, so it is giving a traceback of not finding the record. **After this PR** Now the traceback is gone and user can cancel the meeting. Task-3505659 Forward-Port-Of: odoo/enterprise#48078
The closing entry helper text in the tax report now displays with proper formatting instead of appearing as plain text. This improves the readability and presentation of the helpful information shown to users when they interact with the closing entry button.
Original PR description
This fix makes the helper of the closing entry button of the tax report be markuped as it is currently not the case and its content is in plain text. Forward-Port-Of: odoo/enterprise#51085 Forward-Port-Of: odoo/enterprise#50914
A recently added error notification widget in the accounting reports module had a limitation that prevented it from working correctly with functions that accept multiple parameters. This fix enables the widget to properly handle these more complex function calls, improving the reliability of error reporting during file generation processes.
Original PR description
The newly added widget for file generation error added in this commit https://github.com/odoo/enterprise/commit/49c9dc9151435fddfc2e3b62ad397015f144a7b6 needs a minor fix to be able to handle methods that have multiple arguments. task-3610890
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 update corrects the display width of the percentage field in the shift form view within the Planning module. The field was appearing wider than necessary due to inherited styling. By applying the proper percentage field styling class, the field now displays at the correct, more compact width, improving the visual layout of the shift form.
Original PR description
1) Step: - Install planning. - Go to form view of shift. Issue: - Percentage field has more width than needed. Cause: - `oe_inline` give mw inherit to float field. Fix: - Added `o_field_percentage` class to get 7ch width same as percentage field. task-3282848 Forward-Port-Of: odoo/enterprise#51466 Forward-Port-Of: odoo/enterprise#37155
This update adjusts automated tests in the Peru electronic invoicing module to align with a change that removes rounding from unit price calculations. The modification ensures tests accurately reflect how prices are now processed, maintaining the integrity of Peru's electronic document submission system.
Original PR description
As this community PR https://github.com/odoo/odoo/pull/143348 is removing the rounding on unit price amount, some tests have to be adapted. opw-3509940
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