!10206 Merge remote-tracking branch 'origin/dev' into dev
Merge pull request !10206 from 李鹏宇/dev
This commit is contained in:
@@ -398,47 +398,18 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
return record_id.users_id.employee_id
|
||||
return self.env['hr.employee'] # 默认返回空记录集
|
||||
|
||||
def _send_workflow_notifications(self, partners=None, user_partner_id=None):
|
||||
def _send_workflow_notifications(self, partners=None):
|
||||
""" 通知前端刷新红点、播放音频
|
||||
:param partners: 需要通知的用户(res.partner),未传则通知所有
|
||||
:param user_partner_id: 需要额外通知的 res.partner 记录集(传阅/加签/转交人员)
|
||||
"""
|
||||
if not partners:
|
||||
partners = self.env['res.partner'].search([])
|
||||
# 如果传入了额外的通知对象,将其合并进 partners 中(去重)
|
||||
if user_partner_id:
|
||||
partners = (partners | user_partner_id)
|
||||
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) # 浏览器叮咚
|
||||
self.env["bus.bus"]._sendmany(notifications) # 浏览器叮咚
|
||||
|
||||
def add_comment(self):
|
||||
self.ensure_one()
|
||||
|
||||
# -------------------------------------------------------
|
||||
# 收集传阅人员、加签人员、转交人员对应的 res.partner 记录集
|
||||
# 用于通知这些人员刷新红点
|
||||
# -------------------------------------------------------
|
||||
|
||||
# 传阅人员(circulated_employee_ids)-> 用户 -> partner
|
||||
circulated_partners = self.circulated_employee_ids.filtered(
|
||||
lambda e: e.user_id and e.user_id.partner_id
|
||||
).mapped('user_id.partner_id')
|
||||
|
||||
# 加签人员(add_employee_ids)-> 用户 -> partner
|
||||
add_partners = self.add_employee_ids.filtered(
|
||||
lambda e: e.user_id and e.user_id.partner_id
|
||||
).mapped('user_id.partner_id')
|
||||
|
||||
# 转交人员(employee_ids)-> 用户 -> partner
|
||||
trans_partners = self.employee_ids.filtered(
|
||||
lambda e: e.user_id and e.user_id.partner_id
|
||||
).mapped('user_id.partner_id')
|
||||
|
||||
# 合并三类人员的 partner,作为 user_partner_id 传入通知方法
|
||||
user_partner_id = circulated_partners | add_partners | trans_partners
|
||||
|
||||
self._send_workflow_notifications(user_partner_id=user_partner_id)
|
||||
self._send_workflow_notifications()
|
||||
# 如果选择了常用意见,将使用信息追加到 soong.note 记录
|
||||
if self.comment_note_id:
|
||||
import pytz
|
||||
@@ -1047,7 +1018,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
'work_end': False,
|
||||
})
|
||||
self.node_btn_id.with_context(cx).run()
|
||||
|
||||
if self.node_btn_name == '归档':
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '行政收文')], limit=1)
|
||||
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
|
||||
@@ -1099,7 +1069,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
if result_data and 'msgid' in result_data[-1]:
|
||||
msg_id = result_data[-1]['msgid']
|
||||
log2_id.msg_id = msg_id
|
||||
|
||||
if self.node_btn_name != "收回":
|
||||
tree_id = self.env.ref("soong_workflow.soong_workflow_record_my_tree").id
|
||||
kanban_id = self.env.ref("soong_workflow.soong_workflow_record_kanban").id
|
||||
|
||||
Reference in New Issue
Block a user