Commit Graph

7 Commits

Author SHA1 Message Date
Talal Sharabi
f7c780e7e6 Store training tip embeddings in column (attachment=False)
Binary fields default to attachment storage in Odoo 19, but FAISS
embedding vectors need to be loaded in bulk via direct SQL for
performance. Using attachment=False stores them in the table column.

Made-with: Cursor
2026-03-15 01:34:09 +04:00
Talal Sharabi
c43b4ae9f2 Fix import script to use mounted path instead of __file__
Made-with: Cursor
2026-03-15 01:27:48 +04:00
Talal Sharabi
c919e83526 Add AI stack configuration: ELAI avatars, system params, training tips import
- Add ELAI avatar seed data (7 avatars with codes, URLs, voice configs)
  from the original backend's avatars.json
- Add missing system parameters: encoach.aws_region (eu-west-1),
  encoach.whisper_workers (4)
- Add training tips import script with pathways_2_rw.json data source
- Add action_compute_embeddings() method to training tip model for
  computing sentence-transformer embeddings on demand

Made-with: Cursor
2026-03-15 01:23:56 +04:00
Talal Sharabi
b7bb40b844 Fix group controller: admin_ids -> admin_id (Many2one field)
Made-with: Cursor
2026-03-15 01:13:53 +04:00
Talal Sharabi
fa538a1f12 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
2026-03-15 01:12:17 +04:00
Talal Sharabi
bf3981028b 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
2026-03-15 01:08:36 +04:00
Talal Sharabi
f5b627256f EnCoach Odoo 19 custom modules
Full backend implementation with custom Odoo modules:
- encoach_api: Core API, user management, JWT auth
- encoach_exam: Exam generation (reading, writing, listening, speaking)
- encoach_evaluate: AI-powered evaluation (writing, speaking)
- encoach_training: Training tips and walkthrough
- encoach_storage: File storage management
- encoach_payment: Stripe, PayPal, Paymob integration
- encoach_mail: Email notifications

Made-with: Cursor
2026-03-14 16:46:46 +04:00