diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py
index 330bb36dd..c3a201ead 100644
--- a/soong_workflow/models/soong_workflow_record.py
+++ b/soong_workflow/models/soong_workflow_record.py
@@ -65,7 +65,7 @@ class SoongWorkflowRecord(models.Model):
department_id = fields.Many2one("hr.department", string="部门", required=True)
done_by = fields.Many2one(comodel_name="res.users", string="发起人")
active = fields.Boolean(string="归档", default=True)
- is_manager = fields.Boolean(string="是否管理员", compute='_compute_is_manager')
+ is_manager = fields.Boolean(string="是否管理员", compute='_compute_is_manager', search='_search_is_manager')
soong_state = fields.Selection([('to_do', '待办'), ('done', '已办'),('to_active', '待归档'), ('active', '已归档')], string="流程状态", default="to_do")
member_of_department = fields.Boolean("是否是本部门数据", compute='_compute_part_of_department',
search='_search_part_of_department')
@@ -109,6 +109,17 @@ class SoongWorkflowRecord(models.Model):
store=False,
)
+ @api.depends('create_uid')
+ def _compute_is_manager(self):
+ self.is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_sub_manager')
+
+ def _search_is_manager(self, operator, value):
+ is_manager_user = self.env.user.has_group('soong_workflow.group_soong_workflow_sub_manager')
+ if is_manager_user:
+ return []
+ else:
+ return [('member_of_department', '=', True)]
+
def correction(self):
for rec in self:
biz_record = self.env[rec.res_model].browse(rec.res_id)
@@ -738,11 +749,6 @@ class SoongWorkflowRecord(models.Model):
else:
related_record.self_users_ids = [(5,)]
-
- @api.depends('create_uid')
- def _compute_is_manager(self):
- self.is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_manager')
-
def update_users_ids(self):
record_ids = self.env["soong.workflow.record"].browse(
self._context.get('active_ids', self._context.get('active_id', []))
diff --git a/soong_workflow/security/soong_workflow_security.xml b/soong_workflow/security/soong_workflow_security.xml
index 53e5e05c4..a61555c90 100644
--- a/soong_workflow/security/soong_workflow_security.xml
+++ b/soong_workflow/security/soong_workflow_security.xml
@@ -16,10 +16,22 @@
+
+ 下级管理员
+
+
+
+
+
Manager
-
+
@@ -33,7 +45,6 @@
-
Manager: 访问所有数据
diff --git a/soong_workflow/views/soong_workflow_record.xml b/soong_workflow/views/soong_workflow_record.xml
index 027365839..c20d8659f 100644
--- a/soong_workflow/views/soong_workflow_record.xml
+++ b/soong_workflow/views/soong_workflow_record.xml
@@ -469,7 +469,7 @@
ir.actions.act_window
soong.workflow.record
tree,kanban,search
- [('reclaim_state', '=', False), ('member_of_department', '=', True), ('is_company', '=', True),('approve_state','!=','start'),('approvals_group_id.name', 'not in', ['考勤', '人事'])]
+ [('reclaim_state', '=', False), ('is_company', '=', True),('approve_state','!=','start'),('approvals_group_id.name', 'not in', ['考勤', '人事'])]
{'search_default_my_department_shifts': True, 'default_order': 'display_end_time desc'}
diff --git a/yuthon_official/views/yuthon_official_incoming_normal_views.xml b/yuthon_official/views/yuthon_official_incoming_normal_views.xml
index 8f1a41d95..b61ef7172 100644
--- a/yuthon_official/views/yuthon_official_incoming_normal_views.xml
+++ b/yuthon_official/views/yuthon_official_incoming_normal_views.xml
@@ -31,9 +31,6 @@
class="btn-primary" invisible="not work_end"/>
-
-
-