Fix model-controller mismatches and routing issues

- ticket: add user_id, priority, category fields; fix _serialize_ticket -> _serialize
- package: fix is_active -> active (Odoo auto-filter), remove invalid entity_id filter
- walkthrough: add sequence field; fix controller to use name/content instead of title/steps
- users: fix encoach_user_type -> encoach_type, encoach_entity_id -> entity_rel_ids.entity_id
- generation: use EncoachGenerationService class instead of nonexistent ORM model,
  fix /api/exam/level/ route conflict (separate GET and POST URLs)

Made-with: Cursor
This commit is contained in:
Talal Sharabi
2026-03-15 01:08:36 +04:00
parent f5b627256f
commit bf3981028b
7 changed files with 62 additions and 48 deletions

View File

@@ -19,7 +19,7 @@ class TicketsController(EncoachMixin, http.Controller):
return self._error_response('Unauthorized', 401)
domain = []
user_type = getattr(user, 'encoach_user_type', 'student')
user_type = getattr(user, 'encoach_type', 'student')
if user_type not in ('admin', 'developer'):
domain.append(('user_id', '=', user.id))
@@ -33,7 +33,7 @@ class TicketsController(EncoachMixin, http.Controller):
records = Ticket.search(domain, offset=offset, limit=limit, order='create_date desc')
return self._json_response({
'tickets': [self._serialize_ticket(t) for t in records],
'tickets': [self._serialize(t) for t in records],
'total': total,
'page': page,
'limit': limit,
@@ -67,7 +67,7 @@ class TicketsController(EncoachMixin, http.Controller):
vals['category'] = body['category']
ticket = request.env['encoach.ticket'].sudo().create(vals)
return self._json_response(self._serialize_ticket(ticket), status=201)
return self._json_response(self._serialize(ticket), status=201)
except Exception:
_logger.exception("Create ticket error")
return self._error_response('Internal server error', 500)
@@ -101,7 +101,7 @@ class TicketsController(EncoachMixin, http.Controller):
if vals:
ticket.write(vals)
return self._json_response(self._serialize_ticket(ticket))
return self._json_response(self._serialize(ticket))
except Exception:
_logger.exception("Update ticket error")
return self._error_response('Internal server error', 500)