Fix remaining controller serialization and model mismatches

- Replace all _serialize_group/exam/assignment/stat/session calls with _serialize
- Fix sessions controller to use exam_data JSON field instead of nonexistent columns
- Fix stats controller to use correct model fields (score_correct/total/missing, solutions)

Made-with: Cursor
This commit is contained in:
Talal Sharabi
2026-03-15 01:12:17 +04:00
parent bf3981028b
commit fa538a1f12
5 changed files with 42 additions and 40 deletions

View File

@@ -44,7 +44,7 @@ class ExamsController(EncoachMixin, http.Controller):
exams = Exam.search(domain, offset=offset, limit=limit, order='create_date desc')
return self._json_response({
'exams': [self._serialize_exam(e) for e in exams],
'exams': [self._serialize(e) for e in exams],
'total': total,
'page': page,
'limit': limit,
@@ -84,7 +84,7 @@ class ExamsController(EncoachMixin, http.Controller):
vals['entity_id'] = int(body['entityID'])
exam = request.env['encoach.exam'].sudo().with_user(user).create(vals)
return self._json_response(self._serialize_exam(exam), status=201)
return self._json_response(self._serialize(exam), status=201)
except Exception:
_logger.exception("Create exam error")
return self._error_response('Internal server error', 500)
@@ -104,7 +104,7 @@ class ExamsController(EncoachMixin, http.Controller):
if not exam.exists():
return self._error_response('Exam not found', 404)
return self._json_response(self._serialize_exam(exam))
return self._json_response(self._serialize(exam))
except Exception:
_logger.exception("Get exam error")
return self._error_response('Internal server error', 500)
@@ -140,7 +140,7 @@ class ExamsController(EncoachMixin, http.Controller):
if vals:
exam.write(vals)
return self._json_response(self._serialize_exam(exam))
return self._json_response(self._serialize(exam))
except Exception:
_logger.exception("Update exam error")
return self._error_response('Internal server error', 500)