@@ -51,7 +51,7 @@ class SoongWorkflow(models.Model):
|
||||
is_enable_return_button = fields.Boolean(string="是否启用收回", default=True)
|
||||
is_enable_transmitted_button = fields.Boolean(string="是否启用转交", default=True)
|
||||
approvals_group_id = fields.Many2one('soong.approval.group', string="审批分组")
|
||||
user_role_ids = fields.Many2many('soong.user.role', string="角色", store=True,
|
||||
user_role_ids = fields.Many2many('soong.user.role', string="授权范围", store=True,
|
||||
default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])], domain=[('user_type', '!=', 'lv_role')])
|
||||
|
||||
def copy(self, default=None):
|
||||
|
||||
@@ -98,7 +98,7 @@ class SoongWorkflowNode(models.Model):
|
||||
record.button_ids = [
|
||||
(0, 0, {
|
||||
"name": _("加签"),
|
||||
"workflow_id": record.workflow_id,
|
||||
# "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None,
|
||||
"node_id": record.id,
|
||||
"sequence": sequence + 1,
|
||||
"action_type": "apostille",
|
||||
@@ -106,7 +106,7 @@ class SoongWorkflowNode(models.Model):
|
||||
}),
|
||||
(0, 0, {
|
||||
"name": _("加签确认"),
|
||||
"workflow_id": record.workflow_id,
|
||||
# "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None,
|
||||
"node_id": record.id,
|
||||
"sequence": sequence + 2,
|
||||
"action_type": "apostille",
|
||||
@@ -127,7 +127,7 @@ class SoongWorkflowNode(models.Model):
|
||||
record.button_ids = [
|
||||
(0, 0, {
|
||||
"name": _("结束"),
|
||||
"workflow_id": record.workflow_id,
|
||||
# "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None,
|
||||
"node_id": record.id,
|
||||
"sequence": sequence + 1,
|
||||
"action_type": "end",
|
||||
@@ -140,6 +140,19 @@ class SoongWorkflowNode(models.Model):
|
||||
remove_ids = record.button_ids.filtered(lambda r: r.name in ["结束"])
|
||||
record.button_ids = [(3, remove_id.id) for remove_id in remove_ids]
|
||||
|
||||
def btn_role_sync(self):
|
||||
for record in self:
|
||||
now_btn = record.button_ids.filtered(lambda r: r.name in ["转交"])
|
||||
for btn in now_btn:
|
||||
other_btn = record.button_ids.filtered(lambda r: r.name not in ["转交"])
|
||||
other_btn.write({
|
||||
"btn_hide": btn.btn_hide,
|
||||
"review_type": btn.review_type,
|
||||
"reviewer_id": btn.reviewer_id.id,
|
||||
"reviewer_group_id": btn.reviewer_group_id.id,
|
||||
"users_role_id": btn.users_role_id.id
|
||||
})
|
||||
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, values):
|
||||
@@ -375,6 +388,8 @@ class SoongWorkflowNodeButton(models.Model):
|
||||
"soong.workflow",
|
||||
string="Workflow Ref.",
|
||||
required=True,
|
||||
store=True,
|
||||
related="node_id.workflow_id",
|
||||
ondelete="cascade",
|
||||
)
|
||||
invisible_expression_model = fields.Char(related="workflow_id.model_id.model")
|
||||
|
||||
@@ -42,6 +42,10 @@
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Buttons">
|
||||
<button name="btn_role_sync"
|
||||
string="角色同步按钮"
|
||||
type="object"
|
||||
class="oe_highlight"/>
|
||||
<field name="button_ids" mode="tree" context="{'default_node_id':id}"/>
|
||||
</page>
|
||||
<page string="Fields">
|
||||
@@ -188,11 +192,6 @@
|
||||
options="{'mode': 'python'}" nolabel="1"/>
|
||||
</group>
|
||||
<group invisible="review_type != 'invisible' or btn_hide == False">
|
||||
<div class="alert alert-danger oe_edit_only" role="alert" style="width: max-content;">
|
||||
<strong>备注:</strong>
|
||||
这里填写按钮的隐藏条件,参考invisible的写法,invisible="name != '1' or state !=
|
||||
'0'",这里只写 name != '1' or state != '0' 即可,注意其中的字段必须填写页面中提前声明的。
|
||||
</div>
|
||||
<field name="invisible_expression" colspan="2" required="review_type == 'invisible'"
|
||||
widget="domain"
|
||||
options="{'model': 'invisible_expression_model', 'in_dialog': True,}"
|
||||
|
||||
Reference in New Issue
Block a user