1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -1,18 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<template id="soong_workflow_log">
|
||||
<group string="审批详情" invisible="not log_ids">
|
||||
<field name="log_ids" invisible="not log_ids" style="width:100%%; margin-top: 10px;">
|
||||
<tree create="false" edit="false" delete="false" editable="bottom">
|
||||
<field name="sequence" string=""/>
|
||||
<field name="name" string=""/>
|
||||
<field name="done_by" string=""/>
|
||||
<field name="lase_click_date" string=""/>
|
||||
<field name="comment" string=""/>
|
||||
<field name="approval_state" string=""/>
|
||||
<field name="node_btn_name" string=""/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="审批详情" invisible="not log_ids">
|
||||
<field name="log_ids" style="width:100%%; margin-top: 10px;">
|
||||
<tree create="false" edit="false" delete="false" editable="bottom">
|
||||
<field name="sequence" string=""/>
|
||||
<field name="name" string=""/>
|
||||
<field name="done_by" string=""/>
|
||||
<field name="lase_click_date" string=""/>
|
||||
<field name="comment" string=""/>
|
||||
<field name="approval_state" string=""/>
|
||||
<field name="node_btn_name" string=""/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="抄送/传阅记录" invisible="not log_ids">
|
||||
<field name="log_ids2" style="width:100%%; margin-top: 10px;">
|
||||
<tree create="false" edit="false" delete="false" editable="bottom">
|
||||
<field name="sequence" string=""/>
|
||||
<field name="done_by" string=""/>
|
||||
<field name="name" string=""/>
|
||||
<field name="lase_click_date" string=""/>
|
||||
<field name="approval_state" string=""/>
|
||||
<field name="lase_click_date" string=""/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
@@ -21,55 +21,46 @@
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem id="menu_workflow_approval_request_all"
|
||||
name="流程查询"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_all"
|
||||
sequence="4"/>
|
||||
|
||||
<menuitem id="menu_workflow_approval_request_new"
|
||||
name="新建流程"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="action_kklw_workflow_approval_request"
|
||||
sequence="5"/>
|
||||
|
||||
<menuitem id="menu_soong_workflow_entrust"
|
||||
sequence="6"
|
||||
name="流程委托"
|
||||
action="soong_workflow_entrust_action"
|
||||
parent="menu_soong_workflow_root"/>
|
||||
|
||||
<menuitem id="menu_workflow_approval_request_recycle"
|
||||
name="流程回收站"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_workflow_record_action_reclaim"
|
||||
sequence="7"/>
|
||||
|
||||
<menuitem id="menu_soong_workflow_inspector_approval"
|
||||
sequence="8"
|
||||
name="督办审批"
|
||||
action="soong_workflow_inspector_action"
|
||||
parent="menu_soong_workflow_root"/>
|
||||
|
||||
<menuitem id="menu_soong_other_setting"
|
||||
sequence="9"
|
||||
name="其他配置"
|
||||
parent="menu_soong_workflow_root"
|
||||
action="soong_note_action"/>
|
||||
|
||||
<menuitem id="menu_soong_workflow"
|
||||
name="工作流配置"
|
||||
parent="menu_soong_other_setting"
|
||||
action="action_soong_workflow"
|
||||
sequence="1"/>
|
||||
|
||||
<menuitem id="menu_soong_workflow_log"
|
||||
name="工作流日志"
|
||||
parent="menu_soong_other_setting"
|
||||
action="action_soong_workflow_log"
|
||||
sequence="2"/>
|
||||
|
||||
<menuitem id="menu_soong_approval_note"
|
||||
name="常用审批意见"
|
||||
parent="menu_soong_other_setting"
|
||||
|
||||
Reference in New Issue
Block a user