diff --git a/room/models/room_booking.py b/room/models/room_booking.py index ff103cc26..e7d4a8b4b 100644 --- a/room/models/room_booking.py +++ b/room/models/room_booking.py @@ -89,17 +89,19 @@ class RoomBooking(models.Model): def compute_room_users_ids(self): users_role_list = department_users_list = [] # 部门人员 - for depart in self.department_ids: - department_users_data = self.env['hr.employee'].search([('department_id', '=', depart.id.origin)]) - department_users_list = [de.user_id.id for de in department_users_data] + if self.department_ids: + for depart in self.department_ids: + department_users_data = self.env['hr.employee'].search([('department_id', '=', depart.id.origin)]) + department_users_list = [de.user_id.id for de in department_users_data] # 人员 employee_users_list = self.employee_ids.user_id.ids # 角色人员 - for user_id in self.users_role_ids: - department_users_data = self.env['hr.employee'].search([('user_role_id', '=', user_id.id)]) - users_role_list = [ro.user_id.id for ro in department_users_data] + if self.users_role_ids: + for user_id in self.users_role_ids: + department_users_data = self.env['hr.employee'].search([('user_role_id', '=', user_id.id.origin)]) + users_role_list = [ro.user_id.id for ro in department_users_data] publish_user_list = department_users_list + employee_users_list + users_role_list - self.room_users_ids = [(6, 0, publish_user_list)] + self.room_users_ids = [(6, 0, list(set(publish_user_list)))] def meet_notice(self): if self.is_notice: diff --git a/yuthon_hr_employee/models/yuthon_hr_department.py b/yuthon_hr_employee/models/yuthon_hr_department.py index a34c73e9c..290ea8497 100644 --- a/yuthon_hr_employee/models/yuthon_hr_department.py +++ b/yuthon_hr_employee/models/yuthon_hr_department.py @@ -14,4 +14,14 @@ class YuthonHrDepartment(models.Model): is_global_department = fields.Boolean(string="是否全局部门") create_time = fields.Datetime(string="创建时间", default=fields.Datetime.now) end_time = fields.Datetime(string="结束时间") - department_code = fields.Char(string="部门序号") + department_code = fields.Char(string="部门序号", store=True) + + @api.onchange('department_code', 'parent_id') + def _onchange_department_code(self): + """ + 序号应该计算,级联修改和删除。后期再优化 + :return: + """ + for code in self: + if code.parent_id: + code.department_code = code.parent_id.department_code + code.department_code \ No newline at end of file diff --git a/yuthon_hr_employee/views/yuthon_hr_department_views.xml b/yuthon_hr_employee/views/yuthon_hr_department_views.xml index 8f2c8fd4e..f1ab1fcca 100644 --- a/yuthon_hr_employee/views/yuthon_hr_department_views.xml +++ b/yuthon_hr_employee/views/yuthon_hr_department_views.xml @@ -1,5 +1,9 @@ + + tree,kanban,hierarchy,form + + yuthon.hr.department.inherit hr.department @@ -21,4 +25,5 @@ + \ No newline at end of file diff --git a/yuthon_hr_employee/views/yuthon_hr_employee_views.xml b/yuthon_hr_employee/views/yuthon_hr_employee_views.xml index 5f8c07127..edcf82b76 100644 --- a/yuthon_hr_employee/views/yuthon_hr_employee_views.xml +++ b/yuthon_hr_employee/views/yuthon_hr_employee_views.xml @@ -242,4 +242,9 @@ code action = model.action_hr_employee() + + + tree,kanban,form,activity,graph,pivot,hierarchy + + \ No newline at end of file