51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
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,
|
|
)
|