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)