from odoo import fields, models


class DirectiveTemplateGroup(models.Model):
    _name = "directive.template.group"
    _description = "Directive Template Group"
    _order = "name asc, id desc"

    name = fields.Char(string="Название группы шаблонов", required=True)
    code = fields.Char(string="Технический код", index=True)
    active = fields.Boolean(string="Активен", default=True)

    applicable_model = fields.Char(
        string="Для какой модели доступен",
        help='Например: "project.task". Если пусто — доступен для всех.',
        index=True,
    )

    description = fields.Text(string="Описание")

    template_line_ids = fields.One2many(
        "directive.template.group.line",
        "group_id",
        string="Шаги (шаблоны директив)",
        copy=True,
    )


class DirectiveTemplateGroupLine(models.Model):
    _name = "directive.template.group.line"
    _description = "Directive Template Group Line"
    _order = "sequence asc, id asc"

    group_id = fields.Many2one(
        "directive.template.group",
        string="Группа",
        required=True,
        ondelete="cascade",
        index=True,
    )

    sequence = fields.Integer(string="Порядок", default=10)

    template_id = fields.Many2one(
        "directive.template",
        string="Шаблон директивы",
        required=True,
        ondelete="restrict",
        index=True,
    )
