Public release from ruodoo-project: 19.0 - 2026-07-26 21:17:35 UTC
This commit is contained in:
69
directive_layer/models/directive_template.py
Normal file
69
directive_layer/models/directive_template.py
Normal file
@ -0,0 +1,69 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class DirectiveTemplate(models.Model):
|
||||
_name = "directive.template"
|
||||
_description = "Directive Template"
|
||||
_order = "name asc, id desc"
|
||||
|
||||
PRIORITY = [
|
||||
("0", "Low"),
|
||||
("1", "Normal"),
|
||||
("2", "High"),
|
||||
]
|
||||
|
||||
name = fields.Char(string="Название шаблона директивы", required=True)
|
||||
code = fields.Char(string="Технический код", required=True, index=True)
|
||||
active = fields.Boolean(string="Активен", default=True)
|
||||
|
||||
sequence = fields.Integer(string="Порядок", default=10)
|
||||
|
||||
work_type_id = fields.Many2one(
|
||||
"directive.work.type",
|
||||
string="Тип работ",
|
||||
required=True,
|
||||
ondelete="restrict",
|
||||
index=True,
|
||||
)
|
||||
|
||||
planned_hours = fields.Float(string="Трудоёмкость", required=True)
|
||||
load_percent = fields.Integer(string="Процент загрузки", default=10)
|
||||
|
||||
priority = fields.Selection(
|
||||
selection=PRIORITY,
|
||||
string="Приоритет",
|
||||
default="0",
|
||||
required=True,
|
||||
)
|
||||
|
||||
executor_role_id = fields.Many2one(
|
||||
"res.users.role",
|
||||
string="Роль исполнителя (по умолчанию)",
|
||||
ondelete="restrict",
|
||||
index=True,
|
||||
)
|
||||
requester_role_id = fields.Many2one(
|
||||
"res.users.role",
|
||||
string="Роль заявителя (по умолчанию)",
|
||||
ondelete="restrict",
|
||||
index=True,
|
||||
)
|
||||
|
||||
default_stage_id = fields.Many2one(
|
||||
"directive.stage",
|
||||
string="Стартовый статус",
|
||||
default=lambda self: self.env["directive.stage"].search([("code", "=", "draft")], limit=1),
|
||||
ondelete="restrict",
|
||||
index=True,
|
||||
)
|
||||
|
||||
handler_key = fields.Char(
|
||||
string="Handler key",
|
||||
help="Например: project.task.collect_ft (метод модели источника)",
|
||||
)
|
||||
|
||||
description = fields.Text(string="Описание/инструкции")
|
||||
|
||||
_sql_constraints = [
|
||||
("directive_template_code_uniq", "unique(code)", "Template code must be unique."),
|
||||
]
|
||||
Reference in New Issue
Block a user