@@ -85,6 +85,7 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
is_active = fields.Boolean(string='是否允许归档', compute='_compute_is_active', store=False,)
|
||||
is_confirm = fields.Boolean(string="未确认", compute='_compute_is_confirm', store=False,)
|
||||
is_end = fields.Boolean(string="未结束", compute='_compute_is_confirm', store=False,)
|
||||
is_done = fields.Boolean(string="已办", compute='_compute_is_done', store=False,)
|
||||
is_send = fields.Boolean(string="是否分发")
|
||||
|
||||
def _compute_is_back(self):
|
||||
@@ -139,6 +140,19 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
# if self.log_ids[-1].name == '归档' and self.log_ids[-1].is_active_operate == True:
|
||||
# self.is_active = False
|
||||
|
||||
def _compute_is_done(self):
|
||||
for record in self:
|
||||
record.is_done = False
|
||||
log_ids_domain = [
|
||||
('done_by', '=', self.env.user.id),
|
||||
('workflow_id', '=', record.workflow_id.id),
|
||||
('res_id', '=', record.id),
|
||||
]
|
||||
lg1 = record.log_ids.search(log_ids_domain)
|
||||
if lg1:
|
||||
if lg1.approval_state == '2':
|
||||
record.is_done = True
|
||||
|
||||
def _compute_is_confirm(self):
|
||||
for record in self:
|
||||
record.is_confirm = False
|
||||
@@ -1004,12 +1018,13 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
id_el = etree.Element("field")
|
||||
id_el.set("name", "log_ids")
|
||||
id_el.set("invisible", "1")
|
||||
invisible += " or not log_ids "
|
||||
invisible += " or not log_ids or is_done"
|
||||
if button.name == "分发":
|
||||
btn_exec_action_el.set("class", "btn btn-distribute")
|
||||
invisible += " or is_send"
|
||||
invisible += " or is_send or is_done"
|
||||
if button.name == "转交":
|
||||
btn_exec_action_el.set("class", "btn btn-transfer")
|
||||
invisible += " or is_done"
|
||||
if button.name == "收回":
|
||||
btn_exec_action_el.set("class", "btn btn-recall")
|
||||
id_el = etree.Element("field")
|
||||
@@ -1090,6 +1105,11 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
end_el.set("invisible", "1")
|
||||
header_el.append(end_el)
|
||||
|
||||
back_el = etree.Element("field")
|
||||
back_el.set("name", "is_back")
|
||||
back_el.set("invisible", "1")
|
||||
header_el.append(back_el)
|
||||
|
||||
confirm_el = etree.Element("field")
|
||||
confirm_el.set("name", "is_confirm")
|
||||
confirm_el.set("invisible", "1")
|
||||
@@ -1105,6 +1125,11 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
send_el.set("invisible", "1")
|
||||
header_el.append(send_el)
|
||||
|
||||
done_el = etree.Element("field")
|
||||
done_el.set("name", "is_done")
|
||||
done_el.set("invisible", "1")
|
||||
header_el.append(done_el)
|
||||
|
||||
if header_el is not False:
|
||||
state_el = etree.Element("field")
|
||||
state_el.set("name", "state")
|
||||
|
||||
Reference in New Issue
Block a user