diff --git a/soong_workflow/__manifest__.py b/soong_workflow/__manifest__.py
index 99d56edac..d6f7be7d3 100644
--- a/soong_workflow/__manifest__.py
+++ b/soong_workflow/__manifest__.py
@@ -10,7 +10,6 @@
"data/soong_workflow_note_data.xml",
"data/soong_workflow_inspector_code.xml",
"data/soong_workflow_time.xml",
- "data/soong_user_role_data.xml",
"data/notice_template_data.xml",
"security/soong_workflow_security.xml",
"security/ir.model.access.csv",
diff --git a/soong_workflow/data/soong_user_role_data.xml b/soong_workflow/data/soong_user_role_data.xml
deleted file mode 100644
index 98aa62061..000000000
--- a/soong_workflow/data/soong_user_role_data.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- 工作流管理员
-
-
- 天河投资工作流管理员
-
-
- 天河物管工作流管理员
-
-
- 天河粮储工作流管理员
-
-
diff --git a/soong_workflow/models/ir_model.py b/soong_workflow/models/ir_model.py
index 255a53e01..c7de0753a 100644
--- a/soong_workflow/models/ir_model.py
+++ b/soong_workflow/models/ir_model.py
@@ -15,8 +15,5 @@ class IrModel(models.Model):
def _reflect_model_params(self, model):
vals = super(IrModel, self)._reflect_model_params(model)
- vals["is_workflow"] = (
- issubclass(type(model), self.pool["soong.workflow.mixin"])
- and model._name != "soong.workflow.mixin"
- )
+ vals["is_workflow"] = (issubclass(type(model), self.pool["soong.workflow.mixin"]) and model._name != "soong.workflow.mixin")
return vals
diff --git a/soong_workflow/models/soong_approval_users.py b/soong_workflow/models/soong_approval_users.py
index fb518fc4b..3f6a88bb7 100644
--- a/soong_workflow/models/soong_approval_users.py
+++ b/soong_workflow/models/soong_approval_users.py
@@ -22,7 +22,7 @@ class SoongApprovalUsers(models.Model):
res_model = fields.Char('Workflow Ref Model', index=True, related='res_model_id.model', precompute=True, store=True, readonly=True)
res_id = fields.Many2oneReference(string='Workflow Ref.', index=True, model_field='res_model')
approval_user_id = fields.Many2one('res.users', string='审批人')
- approval_user = fields.Many2one('soong.user.role', string='审批角色', domain=[('user_type', '!=', 'lv_role')])
+ approval_user = fields.Many2one('soong.user.role', string='审批角色',)
approval_user_datetime = fields.Datetime(string='审批时间')
approval_user_notice = fields.Char(string='审批意见')
approval_user_state = fields.Selection([('will', '待审批')], string='状态')
diff --git a/soong_workflow/models/soong_hr_employee.py b/soong_workflow/models/soong_hr_employee.py
index 2dc606fc9..e7c77a5e3 100644
--- a/soong_workflow/models/soong_hr_employee.py
+++ b/soong_workflow/models/soong_hr_employee.py
@@ -3,13 +3,10 @@ from odoo import api, fields, models
class YuthonHrEmployee(models.Model):
- """
- 对原模型数据的隐藏,字段的开发和添加
- """
_inherit = "hr.employee"
- user_role_id = fields.Many2one('soong.user.role', string="主角色", store=True, domain=[('user_type', '!=', 'lv_role')])
- user_role_ids = fields.Many2many('soong.user.role', string="辅助角色", store=True, index=True, domain=[('user_type', '!=', 'lv_role'), ('name', '!=', 'user_role_id.name')])
+ user_role_id = fields.Many2one('soong.user.role', string="主角色", store=True,)
+ user_role_ids = fields.Many2many('soong.user.role', string="辅助角色", store=True, index=True)
department_ids = fields.Many2many('hr.department', string="辅助部门", store=True)
@api.onchange('user_role_id')
diff --git a/soong_workflow/models/soong_user_role.py b/soong_workflow/models/soong_user_role.py
index 39f6e99bc..aba9df3a9 100644
--- a/soong_workflow/models/soong_user_role.py
+++ b/soong_workflow/models/soong_user_role.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
-from pypinyin import pinyin,lazy_pinyin
+from pypinyin import pinyin, lazy_pinyin
from odoo.osv import expression
@@ -9,22 +9,18 @@ class YuthonUserRole(models.Model):
_order = 'number asc'
name = fields.Char(string="角色名称")
- number = fields.Char(string="序号", store=True)
- user_type = fields.Selection([("system_global_user", "系统全局角色"),
- ("departmental_role", "部门私有角色"),
- ("lv_role", "部门层级角色")], string="角色类型")
- department_id = fields.Many2one('hr.department', string="所属机构部门")
+ number = fields.Char(string="序号")
+ department_id = fields.Many2one('hr.department', string="所属部门")
create_time = fields.Date(string="生效日期", default=fields.Datetime.today())
end_time = fields.Date(string="终止日期")
- parent_id = fields.Many2one('soong.user.role', string='上级角色', index=True)
+ parent_id = fields.Many2one('soong.user.role', string='上级角色')
user_role_group_ids = fields.Many2many('soong.user.role.group', string='角色分组', index=True)
- personnel_ids = fields.Many2many('hr.employee', string='在岗人员', store=True)
- number_people = fields.Integer(string="在岗人数", compute='_compute_employee_ids', store=True)
- personnel = fields.Text(string="在岗人员", store=True)
+ personnel_ids = fields.Many2many('hr.employee', string='在岗人员')
+ number_people = fields.Integer(string="在岗人数", compute='_compute_employee_ids')
+ personnel = fields.Text(string="在岗人员")
employee_ids = fields.One2many('hr.employee', 'user_role_id')
- child_ids = fields.One2many('soong.user.role', 'parent_id', string='下级角色', index=True)
- company_id = fields.Many2one('res.company', string="所属公司", index=True, default=lambda self: self.env.company)
- pinyin_name = fields.Char(string="拼音名称", compute='_compute_pinyin', index=True, store=True)
+ company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.company)
+ pinyin_name = fields.Char(string="拼音名称", compute='_compute_pinyin', index=True)
@api.depends('department_id')
def _compute_display_name(self):
@@ -66,32 +62,6 @@ class YuthonUserRole(models.Model):
rec.number_people = len(rec.personnel_ids)
-
- def f5_new(self):
- job_ids = self.env["soong.user.role"].browse(self._context.get('active_ids', self._context.get('active_id')))
- for job in job_ids:
- department_id = self.env['hr.department'].search([('name', '=', job.department_id.name)])
- if department_id:
- job.sudo().write({'department_id': department_id.id if len(department_id) == 1 else department_id[0].id})
-
- def f6_new(self):
- role_ids = self.env["soong.user.role"].browse(self._context.get('active_ids', self._context.get('active_id')))
- for role in role_ids:
- company_id = role.department_id.company_id
- role.sudo().write({'company_id': company_id.id if company_id else False})
-
- def sync_new(self):
- job_ids = self.env["soong.user.role"].browse(self._context.get('active_ids', self._context.get('active_id')))
- for job in job_ids:
- employee_ids = self.env['hr.employee'].search([('id', 'in', job.personnel_ids.ids)])
- for employee_id in employee_ids:
- if employee_id.user_role_ids:
- current_role_ids = employee_id.user_role_ids.ids
- missing_role_ids = [child.id for child in job.child_ids if child.id not in current_role_ids]
- if missing_role_ids:
- employee_id.user_role_ids = [(4, role_id) for role_id in missing_role_ids]
-
-
class YuthonUserRoleGroup(models.Model):
_name = 'soong.user.role.group'
_order = 'number asc'
@@ -117,10 +87,11 @@ class YuthonUserRoleGroup(models.Model):
}
}
+
class YuthonRoleTree(models.Model):
_name = 'soong.role.tree'
_order = 'number asc'
name = fields.Char(string="角色名称")
- department_id = fields.Many2one('hr.department', string="所属机构部门")
+ department_id = fields.Many2one('hr.department', string="所属部门")
company_id = fields.Many2one('res.company', string="所属公司", index=True, default=lambda self: self.env.company)
\ No newline at end of file
diff --git a/soong_workflow/models/soong_workflow.py b/soong_workflow/models/soong_workflow.py
index 26047b06d..6e387dc8f 100644
--- a/soong_workflow/models/soong_workflow.py
+++ b/soong_workflow/models/soong_workflow.py
@@ -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, domain=[('user_type', '!=', 'lv_role')],
+ 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])])
department_role_ids = fields.Many2many('hr.department', string="授权部门范围", store=True)
is_user_department_role = fields.Boolean(string="是否有权限查看", store=False, search="_search_is_user_department_role")
diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py
index 5dbc176a4..2c5fc44e9 100644
--- a/soong_workflow/models/soong_workflow_node.py
+++ b/soong_workflow/models/soong_workflow_node.py
@@ -346,7 +346,7 @@ class SoongWorkflowNodeButton(models.Model):
is_review_invisible = fields.Boolean(string="使用范围", default=False)
reviewer_id = fields.Many2one(comodel_name="res.users", string="Reviewer")
reviewer_group_id = fields.Many2one(comodel_name="res.groups", string="Reviewer group")
- users_role_id = fields.Many2one(comodel_name="soong.user.role", string="主角色", domain=[('user_type', '!=', 'lv_role')])
+ users_role_id = fields.Many2one(comodel_name="soong.user.role", string="主角色",)
users_role_group_ids = fields.Many2many(comodel_name="soong.user.role.group", string="角色组")
reviewer_expression = fields.Text(
string="Review Expression",
diff --git a/soong_workflow/views/soong_user_role_views.xml b/soong_workflow/views/soong_user_role_views.xml
index da4270f3f..69f9e139f 100644
--- a/soong_workflow/views/soong_user_role_views.xml
+++ b/soong_workflow/views/soong_user_role_views.xml
@@ -1,28 +1,5 @@
-
- 刷新部门
-
-
- code
- action = model._compute_employee_ids()
-
-
-
- 更新公司
-
-
- code
- action = model.f6_new()
-
-
- 同步花名册
-
-
- code
- action = model.sync_new()
-
-
soong.user.role.tree
soong.user.role
@@ -31,13 +8,10 @@
-
-
-
@@ -59,7 +33,6 @@
-
@@ -67,10 +40,8 @@
-
-
@@ -85,9 +56,6 @@
-
-
-
@@ -97,7 +65,6 @@
角色配置
soong.user.role
tree,search,form
- {'search_default_department_id': True}
diff --git a/yuthon_hr_employee/models/inherit_res_groups.py b/yuthon_hr_employee/models/inherit_res_groups.py
index eac338b9f..e17132a67 100644
--- a/yuthon_hr_employee/models/inherit_res_groups.py
+++ b/yuthon_hr_employee/models/inherit_res_groups.py
@@ -9,7 +9,7 @@ class ResGroups(models.Model):
users_ids = fields.Many2many('res.users', string="权限用户")
employee_ids = fields.Many2many('hr.employee', string="权限员工")
department_ids = fields.Many2many("hr.department", string="权限部门")
- user_role_ids = fields.Many2many("soong.user.role", string="权限主角色", domain=[('user_type', '!=', 'lv_role')])
+ user_role_ids = fields.Many2many("soong.user.role", string="权限主角色",)
def users_unlink(self):
users_to_unlink = self.users.filtered(lambda user: user.name != 'Administrator')
diff --git a/yuthon_performance/models/yuthon_employee_performance.py b/yuthon_performance/models/yuthon_employee_performance.py
index 2daa10609..d0736eab7 100644
--- a/yuthon_performance/models/yuthon_employee_performance.py
+++ b/yuthon_performance/models/yuthon_employee_performance.py
@@ -63,7 +63,7 @@ class YuthonRoleDetailLines(models.Model):
role_id = fields.Many2one('yuthon.employee.performance', string="关联员工绩效(考核任务)")
organization_id = fields.Many2one('yuthon.duty.management', string='组织绩效考核角色明细行')
- in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
+ in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
employee_ids = fields.Many2many('hr.employee', string='人员', compute='_compute_employee_ids', store=True)
weight = fields.Float(string="权重" )
diff --git a/yuthon_performance/models/yuthon_index_approval.py b/yuthon_performance/models/yuthon_index_approval.py
index f3d9443ae..ae9a4706d 100644
--- a/yuthon_performance/models/yuthon_index_approval.py
+++ b/yuthon_performance/models/yuthon_index_approval.py
@@ -62,7 +62,7 @@ class NewIndexManagement(models.Model):
('two_index', '双向指标'), ], '计算类别')
new_check_norm = fields.Char('考核标准', required=True)
new_department_ids = fields.Many2many("hr.department", string="指标来源", required=True)
- new_in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
+ new_in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
new_employee_ids = fields.Many2many('hr.employee', string="人员")
new_start_index_time = fields.Date(string='生效时间', required=True)
new_end_index_time = fields.Date(string='失效时间')
diff --git a/yuthon_performance/models/yuthon_index_employee.py b/yuthon_performance/models/yuthon_index_employee.py
index de35b3ea8..96c06c15c 100644
--- a/yuthon_performance/models/yuthon_index_employee.py
+++ b/yuthon_performance/models/yuthon_index_employee.py
@@ -11,7 +11,7 @@ class YuthonIndexEmployee(models.Model):
score_range_on = fields.Float(string='分值范围')
score_range_off = fields.Float(string='分值范围')
description_score = fields.Text(string='分值说明')
- in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
+ in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
department_ids = fields.Many2many('hr.department', string='部门')
change_employee_library_id = fields.Many2one('yuthon.employee.approval', string='变更指标库')
diff --git a/yuthon_performance/models/yuthon_index_management.py b/yuthon_performance/models/yuthon_index_management.py
index 16dcdb194..1348b87dc 100644
--- a/yuthon_performance/models/yuthon_index_management.py
+++ b/yuthon_performance/models/yuthon_index_management.py
@@ -19,7 +19,7 @@ class YuthonIndexManagement(models.Model):
('two_index', '双向指标'),],'计算类别')
check_norm = fields.Text('考核标准')
department_ids = fields.Many2many("hr.department", string="指标来源")
- in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
+ in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
start_index_time = fields.Date(string='生效时间', default=fields.Date.today())
end_index_time = fields.Date(string='失效时间')