GitHub Issue : Error When Trying to Open / Click Employee Card While The Employee Is Already Checked In · Issue #141677 · odoo/odoo (github.com)
Version :
- 17.0 Enterprise
- 17.0 CE (Community Edition)
Steps to reproduce:
- Sign In
- Check In
- Go To Employees
- Click Employee Card of the current user that sign in
- Odoo Server Error
The Only step to solve the error is to :
- Check Out
- Click the employee card again
- Now it's working / not error
If this bug is intentional or to prevent data mismatch, there's should be an error handling like a message box "Pelase Check Out to Modify / see Employee Data".
Error also happening when trying to open other Employee Data that the employee is already Checked In, and to solve it is same like before, check out -> then click the employee card to show the data, seems like this kind of error is caused by attendance module.
I'm not using any additional third party module or apps, you can even try to reproduce it in Odoo Runbot.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1732, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
result = func()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1759, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1960, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 207, in _dispatch
result = endpoint(**request.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 24, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/web/models/models.py", line 86, in web_read
values_list: List[Dict] = self.read(fields_to_read, load=None)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3521, in read
return self._read_format(fnames=fields, load=load)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3732, in _read_format
vals[name] = convert(record[name], record, use_display_name)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 6570, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1205, in __get__
self.compute_value(recs)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1383, in compute_value
records._compute_field_value(self)
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 424, in _compute_field_value
return super()._compute_field_value(field)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 4848, in _compute_field_value
fields.determine(field.compute, self)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 101, in determine
return needle(*args)
File "/usr/lib/python3/dist-packages/odoo/addons/hr_attendance/models/hr_employee.py", line 103, in _compute_hours_last_month
for att in employee.attendance_ids.filtered(
File "/usr/lib/python3/dist-packages/odoo/models.py", line 6082, in filtered
return self.browse([rec.id for rec in self if func(rec)])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 6082, in
return self.browse([rec.id for rec in self if func(rec)])
File "/usr/lib/python3/dist-packages/odoo/addons/hr_attendance/models/hr_employee.py", line 104, in
lambda att: att.check_in >= start_naive and att.check_out (http://xxxxx:8069/web/assets/abc58b2/web.assets_web.min.js:2870:13)