Thursday, November 16, 2023
2 changes
1 change
New functionality added to Odoo
This update adds Starshipit delivery integration for Australian and New Zealand carriers and improves Australian payroll reporting setup. It also cleans up payroll labels and supports PAYG withholding reporting so businesses can better prepare Australian tax reports.
Original PR description
Aggregation of last minute fixes and features for Australian talk Will not be merged in this PR
1 change
Resolved issues and error corrections
This 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-4629475865