Merge pull request !1483 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-02-12 12:42:36 +00:00
committed by Gitee
3 changed files with 23 additions and 9 deletions
+1 -1
View File
@@ -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):
+18 -3
View File
@@ -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,}"