修复销售+排程消息推送
This commit is contained in:
@@ -28,12 +28,20 @@ class SFMessageSale(models.Model):
|
|||||||
# 继承并重写jikimo.message.dispatch的_get_message()
|
# 继承并重写jikimo.message.dispatch的_get_message()
|
||||||
def _get_message(self, message_queue_ids):
|
def _get_message(self, message_queue_ids):
|
||||||
res = super(SFMessageSale, self)._get_message(message_queue_ids)
|
res = super(SFMessageSale, self)._get_message(message_queue_ids)
|
||||||
if message_queue_ids.message_template_id.bussiness_node_id.name == '确认接单':
|
new_res = []
|
||||||
# sale_order = self.env['sale.order'].search([('id', '=', message_queue_ids.model.res_id)])
|
processed_messages = set() # 用于跟踪已经处理过的消息
|
||||||
sale_order_line = self.env['sale.order.line'].search([('order_id', '=', int(message_queue_ids.res_id))])
|
for item in message_queue_ids:
|
||||||
if len(sale_order_line) == 1:
|
if item.message_template_id.bussiness_node_id.name == '确认接单':
|
||||||
product = sale_order_line[0].product_id.name
|
sale_order_line = self.env['sale.order.line'].search([('order_id', '=', int(item.res_id))])
|
||||||
elif len(sale_order_line) > 1:
|
if len(sale_order_line) == 1:
|
||||||
product = '%s...' % sale_order_line[0].product_id.name
|
product = sale_order_line[0].product_id.name
|
||||||
res[0] = res[0].replace('{{product_id}}', product)
|
elif len(sale_order_line) > 1:
|
||||||
|
product = '%s...' % sale_order_line[0].product_id.name
|
||||||
|
for message in res:
|
||||||
|
message_text = message.replace('{{product_id}}', product)
|
||||||
|
if message_text not in processed_messages:
|
||||||
|
new_res.append(message_text)
|
||||||
|
processed_messages.add(message_text)
|
||||||
|
if new_res:
|
||||||
|
res = new_res
|
||||||
return res
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user