from odoo import models, fields


class EncoachLearningObjective(models.Model):
    _name = 'encoach.learning.objective'
    _description = 'Taxonomy Learning Objective'
    _order = 'sequence, name'

    name = fields.Char(required=True, index=True)
    topic_id = fields.Many2one('encoach.topic', required=True, ondelete='cascade', index=True)
    description = fields.Text()
    cefr_level = fields.Selection([
        ('pre_a1', 'Pre-A1'), ('a1', 'A1'), ('a2', 'A2'),
        ('b1', 'B1'), ('b2', 'B2'), ('c1', 'C1'), ('c2', 'C2'),
    ])
    sequence = fields.Integer(default=10)
    active = fields.Boolean(default=True)

    def to_api_dict(self):
        self.ensure_one()
        return {
            'id': self.id,
            'name': self.name,
            'topic_id': self.topic_id.id,
            'topic_name': self.topic_id.name,
            'description': self.description or '',
            'cefr_level': self.cefr_level or '',
            'active': self.active,
        }
