Thursday, November 16, 2023
11 changes · 17.0
Resolved issues and error corrections
When creating a new helpdesk ticket, the breadcrumb navigation was incorrectly displaying "False(#False)" instead of "New". This fix corrects the breadcrumb display by properly returning the parent method, ensuring users see the correct navigation label when creating new tickets.
Original PR description
Steps: - Install helpdesk - Open helpdesk - Go to my tickets - Create new ticket Issue: - when create new ticket breadcrumb shows "False(#False)" instead of "New". Cause: - Not returning the super method. Fix: - Create new field filtered with name running loop on that field and returning the super method. task-3478920
This fix corrects how the Production Analysis report calculates the quantity of products produced. The report was using an outdated field that no longer accurately reflects completed quantities after production moves are finalized. The update ensures the report displays the correct production quantities to help you track manufacturing output accurately.
Original PR description
product_qty no longer represent done qty after the move is done. Change to use quantity to calculate quantity produced on the Production Analysis report.
A bug in the Knowledge editor's /article command has been fixed. Previously, when users opened the article selection menu, both articles and templates were displayed together. This update ensures that only articles appear in the selection menu, with templates properly filtered out, providing a cleaner and more intuitive user experience.
Original PR description
When merging the models `knowledge.article` and `knowledge.article.template`, we unintentionally forgot to add a condition in the search domain of the select menu to filter out the templates from the search results. As a result, the select menu currently lists both articles and templates. This commit will simply add the missing condition in the search domain to exclude the templates from the search results. Steps to reproduce the issue: 1. Open the Knowledge editor 2. Type the /article command 3. Click on the selection menu => The select menu lists the articles and the templates. TO BE: The selection menu should only display the articles and not the templates Reference: https://github.com/odoo/enterprise/pull/48691 task-3593373
This fix addresses an issue in the barcode scanning system for manufacturing orders where unpicked items were incorrectly being included during validation. The change adds test coverage to prevent this problem from recurring in the future.
Original PR description
Fixes same issue as odoo/odoo#141210 except for the MO flow in barcode. This commit simply adds a test to prevent this from happening again. COM PR: odoo/odoo#141797
This update fixes a technical issue that prevented users from opening the attendance app's gantt view in studio mode. The problem was caused by missing context information that affected date calculations. With this fix, users can now access and customize the gantt view in studio mode without encountering errors.
Original PR description
Prior to this commit, opening studio mode on the gantt view of the attendance app would lead to a traceback in get_gantt_data() This is due to the fact that start_date is not well assigned because context seems to be lost in studio mode.
This update improves UPS international shipping by automatically including commodity codes in shipping requests. This ensures that commercial invoices generated for international shipments now properly display commodity information for each item, making customs documentation more complete and accurate.
Original PR description
This commit adds the commodity code in the request for international shipping in UPS, so that the commercial invoice has it listed for every commodity. opw-3487614 Forward-Port-Of: odoo/enterprise#50687
This fix resolves a system error that occurred when viewing the Cost Analysis report in manufacturing operations after inventory revaluation. The error happened when multiple valuation records existed for the same scrap component. The fix ensures the Cost Analysis report displays correctly in all inventory scenarios.
Original PR description
Steps to reproduce the bug:
Steps to reproduce the bug:
- Configure Product Category All to use FIFO automated valuation
- Create two products that are storable with category All: “P1” and “C1”
- Set costs on the products:
- “P1”: 40
- “C1”: 25
- On”P1” create a BoM with Product B as the component
- Create an MO and scrap the component into negative quantities
- Complete the MO and view the Cost Analysis, it works.
- Purchase and receive the component product so that the negative inventory is revalued for the scrap move:
- in the PO -> C1 = 47
- Try to view the Cost Analysis
Problem:
Traceback is triggered:
Error when render the template
ValueError: Expected singleton: stock.valuation.layer(7, 11)
<span t-esc="scrap.stock_valuation_layer_ids.unit_cost"
t-options="{"widget": "monetary", "display_currency": currency}"/>
opw-3574431
Forward-Port-Of: odoo/enterprise#50692
Forward-Port-Of: odoo/enterprise#50534This fix resolves a critical error that prevented users from selecting an appointment type when creating new appointments. The issue was caused by incorrect field reference in the system's tracking mechanism. Users can now successfully create and configure appointments without encountering errors.
Original PR description
This issue occurs when a customer creates Appointments and then attempts to select the Appointments type ,at that time error will be generated. step to reproduce: - Install the `appointments` Module.…
This issue occurs when a customer creates Appointments and then attempts to select the Appointments type ,at that time error will be generated.
step to reproduce:
- Install the `appointments` Module.
- click on `Reporting > Appointments` menu.
- open list view.
- create new Appointments(Enter only Meeting Subject) .
- after select Appointments type.
- the error will be generated.
sentry traceback-
```
AttributeError: 'mail.tracking.value' object has no attribute 'field'
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 "home/odoo/src/enterprise/17.0/knowledge/controllers/article_thread.py", line 47, in mail_thread_messages
return super().mail_thread_messages(thread_model, thread_id, **kwargs)
File "odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/mail/controllers/thread.py", line 28, in mail_thread_messages
return {**res, "messages": res["messages"].message_format()}
File "home/odoo/src/enterprise/17.0/whatsapp/models/mail_message.py", line 48, in message_format
vals_list = super().message_format(*args, **kwargs)
File "addons/sms/models/mail_message.py", line 42, in message_format
message_values = super(MailMessage, self).message_format(format_reply=format_reply, msg_vals=msg_vals)
File "addons/rating/models/mail_message.py", line 30, in message_format
message_values = super().message_format(format_reply=format_reply, msg_vals=msg_vals)
File "addons/mail/models/mail_message.py", line 1033, in message_format
vals_list = self._message_format(self._get_message_format_fields(), format_reply=format_reply)
File "addons/im_livechat/models/mail_message.py", line 34, in _message_format
vals_list = super()._message_format(fnames=fnames, format_reply=format_reply)
File "addons/mail/models/mail_message.py", line 929, in _message_format
displayed_tracking_ids = record_sudo._track_filter_for_display(displayed_tracking_ids)
File "home/odoo/src/enterprise/17.0/appointment/models/calendar_event.py", line 204, in _track_filter_for_display
return tracking_values.filtered(lambda t: t.field.name != 'active')
File "odoo/models.py", line 6082, in filtered
return self.browse([rec.id for rec in self if func(rec)])
File "odoo/models.py", line 6082, in <listcomp>
return self.browse([rec.id for rec in self if func(rec)])
File "home/odoo/src/enterprise/17.0/appointment/models/calendar_event.py", line 204, in <lambda>
return tracking_values.filtered(lambda t: t.field.name != 'active')
```
https://github.com/odoo/enterprise/blob/17.0/appointment/models/calendar_event.py#L204
There is no 'field' name of fields accessible in the mail.tracking.value model, but there is `field_id` name fields accessible in that model.
after this commit, While creating an appointment, the customer will be able to select an appointment type.
sentry-4629475865This fix corrects a bug where quality inspection worksheets completed from the manufacturing shop floor were always marked as passing, regardless of actual results. The system now properly validates worksheet checks through the correct quality check wizard, allowing quality steps to accurately fail when inspection criteria are not met.
Original PR description
Before this commit, Quality steps of type worksheet done from the mrp shop floor, always passed. This is because since #44696, worksheets should be accessed through the `action_open_quality_check_wizard` to properly perform the worksheet check.
This update fixes an issue with UPS shipment processing by ensuring that email addresses for both the sender and receiver are included when sending shipments. This improvement helps ensure that UPS has complete contact information for delivery notifications and customer communication.
Original PR description
This commit includes email address of the sender and the receiver in send_shipping request. opw-3487959 Forward-Port-Of: odoo/enterprise#48689
This fix ensures that operation instruction PDFs are now displayed in the shop floor view even when a Quality Control process is attached to the operation. Previously, the system would hide the PDF when QC was present, making it difficult for workers to access important instructions. Now PDFs will always be shown when available, regardless of QC status.
Original PR description
### Steps - Create a product with its bill of materials - Include an operation with a pdf as instruction - Create a MO and confirm. - Go to shop floor and you will see the link to pdf in the operation record. - Go to the BOM and add a QC on the the operation - Create another MO, confirm and go to shop floor ### Issue The pdf doesn't appear. ### Reason In the method which checks if we display the worksheetData ``showWorksheetCheck()``, it returns false when there is a Quality Control present. After discussing with @MGM, it should always return the pdf if it's present. opw-3509503 Forward-Port-Of: odoo/enterprise#49389