diff --git a/soong_workflow/models/soong_workflow_log.py b/soong_workflow/models/soong_workflow_log.py
index 098850c5a..7d4af76d5 100644
--- a/soong_workflow/models/soong_workflow_log.py
+++ b/soong_workflow/models/soong_workflow_log.py
@@ -11,37 +11,19 @@ class SoongWorkflowLog(models.Model):
_name = "soong.workflow.log"
_description = "Soong Workflow Log"
- # _sql_constraints = [(
- # "uniq_node_btn_id",
- # "unique(model, res_id, node_btn_id)",
- # _("Workflow log must be unique."),), ]
-
name = fields.Char(string="节点名称", compute="_compute_name", store=True)
model = fields.Char(string="Related Document Model", index=True, required=True)
res_id = fields.Integer(string="Related Document ID", index=True, required=True)
code = fields.Char(string="流水号", index=True)
sequence = fields.Integer(string="序号", compute="_compute_sequence")
- # w_res_id = fields.Many2oneReference(string='Workflow Ref.', index=True, model_field='w_res_model_id')
- # w_res_model_id = fields.Many2one('ir.model', string='Model', index=True, ondelete='cascade')
- # w_res_model = fields.Char('Workflow Ref Model', index=True, related='w_res_model_id.model', precompute=True, store=True, readonly=True)
-
workflow_id = fields.Many2one(comodel_name="soong.workflow")
node_id = fields.Many2one(comodel_name="soong.workflow.node")
node_btn_id = fields.Many2one(comodel_name="soong.workflow.node.button", string="动作名称")
- node_btn_name = fields.Selection([
- ('0', ' '),
- ('1', '退回'),
- ('2', '加签'),
- ], string='节点功能', default='0')
-
+ node_btn_name = fields.Selection([('0', ' '), ('1', '退回'), ('2', '加签')], string='节点功能', default='0')
done_by = fields.Many2one(comodel_name="res.users", string="审批人")
lase_click_date = fields.Datetime(string="操作时间")
- approval_state = fields.Selection([
- ('0', '待办'),
- ('1', '办理中'),
- ('2', '已办结'),
- ], string='审批状态', default='0')
+ approval_state = fields.Selection([('0', '待办'), ('1', '办理中'), ('2', '已办结')], string='审批状态', default='0')
comment = fields.Char(string="意见")
date_create = fields.Datetime(string="时间", default=lambda self: fields.Datetime.now())
@@ -63,3 +45,36 @@ class SoongWorkflowLog(models.Model):
else:
logs_obj = self.sudo().search([("res_id", "=", record.res_id), ("model", "=", record.model), ("workflow_id", "=", record.workflow_id.id), ("date_create", "<", record.date_create)])
record.sequence = len(logs_obj) + 1
+
+class SoongWorkflowLog2(models.Model):
+ _name = "soong.workflow.log2"
+ _description = "Soong Workflow Log2"
+
+ workflow_id = fields.Many2one(comodel_name="soong.workflow")
+ model = fields.Char(string="Related Document Model", index=True, required=True)
+ res_id = fields.Integer(string="Related Document ID", index=True, required=True)
+ node_id = fields.Many2one(comodel_name="soong.workflow.node")
+ node_btn_id = fields.Many2one(comodel_name="soong.workflow.node.button", string="动作名称")
+
+ sequence = fields.Integer(string="序号", compute="_compute_sequence")
+ done_by = fields.Many2one(comodel_name="res.users", string="审批人")
+ name = fields.Char(string="节点名称", compute="_compute_name", store=True)
+ approval_state = fields.Selection([('0', '未读'), ('1', '已读')], string='审批状态', default='0')
+ lase_click_date = fields.Datetime(string="操作时间")
+
+ @api.depends("workflow_id", "node_id", "node_btn_id")
+ def _compute_name(self):
+ for rec in self:
+ rec.name = "%(node_id_name)s" % {"node_id_name": rec.node_id.name}
+
+ @api.depends("workflow_id")
+ def _compute_sequence(self):
+ for record in self:
+ if type(record.id) == int:
+ logs_obj = self.sudo().search([("res_id", "=", record.res_id), ("model", "=", record.model),
+ ("workflow_id", "=", record.workflow_id.id), ("id", "<", record.id)])
+ else:
+ logs_obj = self.sudo().search([("res_id", "=", record.res_id), ("model", "=", record.model),
+ ("workflow_id", "=", record.workflow_id.id),
+ ("date_create", "<", record.date_create)])
+ record.sequence = len(logs_obj) + 1
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index 53439c51a..e4b40c310 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -152,13 +152,10 @@ class SoongWorkflowMixin(models.AbstractModel):
else:
rec.approve_state = "pending"
- log_ids = fields.One2many(
- comodel_name="soong.workflow.log",
- inverse_name="res_id",
- string=" ",
- domain=lambda self: [("model", "=", self._name)],
- auto_join=True,
- )
+ log_ids = fields.One2many(comodel_name="soong.workflow.log", inverse_name="res_id", string=" ",
+ domain=lambda self: [("model", "=", self._name)], auto_join=True)
+ log_ids2 = fields.One2many(comodel_name="soong.workflow.log2", inverse_name="res_id", string=" ",
+ domain=lambda self: [("model", "=", self._name)], auto_join=True)
@api.model_create_multi
def create(self, vals_list):
diff --git a/soong_workflow/security/ir.model.access.csv b/soong_workflow/security/ir.model.access.csv
index 414457848..861deaefa 100644
--- a/soong_workflow/security/ir.model.access.csv
+++ b/soong_workflow/security/ir.model.access.csv
@@ -27,6 +27,7 @@ access_trans_link,trans_link,model_trans_link,soong_workflow.group_soong_workflo
access_soong_workflow_entrust,soong_workflow_entrust,model_soong_workflow_entrust,soong_workflow.group_soong_workflow_user,1,1,1,1
access_entrust_all,entrust_all,model_entrust_all,soong_workflow.group_soong_workflow_user,1,1,1,1
access_soong_workflow_log,soong_workflow_log,model_soong_workflow_log,soong_workflow.group_soong_workflow_user,1,1,1,1
+access_soong_workflow_log2,soong_workflow_log2,model_soong_workflow_log2,soong_workflow.group_soong_workflow_user,1,1,1,1
access_soong_workflow_inspector,soong_workflow_inspector,model_soong_workflow_inspector,soong_workflow.group_soong_workflow_user,1,1,1,1
access_soong_workflow_inspector_line,soong_workflow_inspector_line,model_soong_workflow_inspector_line,soong_workflow.group_soong_workflow_user,1,1,1,1
access_soong_workflow_inspector_line2,soong_workflow_inspector_line2,model_soong_workflow_inspector_line2,soong_workflow.group_soong_workflow_user,1,1,1,1
diff --git a/soong_workflow/templates/soong_workflow_templates.xml b/soong_workflow/templates/soong_workflow_templates.xml
index 72c7cd16d..e5fe7fad8 100644
--- a/soong_workflow/templates/soong_workflow_templates.xml
+++ b/soong_workflow/templates/soong_workflow_templates.xml
@@ -1,18 +1,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soong_workflow/views/menuitem.xml b/soong_workflow/views/menuitem.xml
index 443c77b0e..27b85493e 100644
--- a/soong_workflow/views/menuitem.xml
+++ b/soong_workflow/views/menuitem.xml
@@ -21,55 +21,46 @@
parent="menu_soong_workflow_root"
action="soong_workflow_record_action"
sequence="3"/>
-
-
-
-
-
-
-
-
-