diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index af6de0867..9b758be32 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -402,14 +402,14 @@ class SoongWorkflowCommentWizard(models.TransientModel): """ 通知前端刷新红点、播放音频 :param partners: 需要通知的用户(res.partner),未传则通知所有 """ - partners = self.env['res.partner'].search([]) bus_message = {'type': 'wkf_notify'} notifications = [[partner, 'sun_badge_menu.reload_menu_data', [bus_message]] for partner in partners] self.env["bus.bus"]._sendmany(notifications) # 浏览器叮咚 def add_comment(self): self.ensure_one() - self._send_workflow_notifications() + partners = self._get_all_employee_partners() + self._send_workflow_notifications(partners) # 如果选择了常用意见,将使用信息追加到 soong.note 记录 if self.comment_note_id: import pytz @@ -1082,24 +1082,18 @@ class SoongWorkflowCommentWizard(models.TransientModel): 'uid': self.env.uid, } } - # return { - # 'name': '流程待办', - # 'view_mode': 'tree', - # 'res_model': 'soong.workflow.record', - # 'type': 'ir.actions.act_window', - # 'views': [[tree_id, 'tree']], - # 'domain': [('users_ids', 'in', self.env.uid), ('reclaim_state', '=', False), ('soong_state', '=', 'to_do')], - # 'context': { - # 'header_search_default_approve_state': 1, - # 'header_search_default_to_do': 1, - # 'check_employee': 1 - # } - # } - # def red_reload(self): - # return { - # 'type': 'ir.actions.client', - # 'tag': 'flush_badge', - # } + + def _get_all_employee_partners(self): + all_employees = self.env['hr.employee'] + all_employees |= self.employee_trans_domain_ids + all_employees |= self.employee_ids + all_employees |= self.circulated_employee_ids + all_employees |= self.dep_manager_employee_ids + all_employees |= self.add_employee_ids + all_employees |= self.supervising_employee_ids + all_employees |= self.employee_ids1 + partners = all_employees.filtered(lambda e: e.user_id and e.user_id.partner_id).mapped('user_id.partner_id') + return partners def update_self_users_ids(self):