From b8894609a95083c4471ec4804bd4134a19a065b6 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Thu, 12 Jun 2025 10:10:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7=E5=AF=BF?= =?UTF-8?q?=E5=91=BD=E5=88=B0=E6=9C=9F=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_message/data/template_data.xml | 4 +-- .../sf_message_functional_tool_dismantle.py | 36 ++++++++++++++++--- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/sf_message/data/template_data.xml b/sf_message/data/template_data.xml index 158535a4..0c8bd4b7 100644 --- a/sf_message/data/template_data.xml +++ b/sf_message/data/template_data.xml @@ -210,8 +210,8 @@ markdown normal ### 功能刀具寿命到期提醒: -单号:拆解单[{{code}}]({{tool_expired_remind_special_url}}) -事项:{{functional_tool_id.tool_name_id.name}}寿命已到期,需拆解 +单号:拆解单[{{code}}]({{request_url}}) +事项:{{name}}寿命已到期,需拆解 diff --git a/sf_message/models/sf_message_functional_tool_dismantle.py b/sf_message/models/sf_message_functional_tool_dismantle.py index 5f844064..877db2b6 100644 --- a/sf_message/models/sf_message_functional_tool_dismantle.py +++ b/sf_message/models/sf_message_functional_tool_dismantle.py @@ -1,4 +1,5 @@ from odoo import models, api +from urllib.parse import urlencode class SFMessagefunctionalToolDismantle(models.Model): @@ -18,12 +19,39 @@ class SFMessagefunctionalToolDismantle(models.Model): obj.add_queue('功能刀具寿命到期') return result - def get_special_url(self,id,tmplate_name,special_name,model_id): + def _get_message(self, message_queue_ids): + contents = [] + for message_queue_id in message_queue_ids: + if message_queue_id.message_template_id.name == '功能刀具寿命到期': + content = message_queue_id.message_template_id.content + td_line = self.search([('id', '=', int(message_queue_id.res_id))]) + url = self.request_url(int(message_queue_id.res_id)) + content = content.replace('{{code}}', td_line.code).replace( + '{{request_url}}', url).replace('{{name}}', td_line.name) + contents.append(content) + return contents, message_queue_ids + + def request_url(self, id): + url = self.env['ir.config_parameter'].get_param('web.base.url') + action_id = self.env.ref('sf_tool_management.sf_functional_tool_dismantle_view_act').id + menu_id = self.env.ref('sf_tool_management.menu_sf_functional_tool_dismantle').id + # 查询参数 + params = {'id': id, 'menu_id': menu_id, 'action': action_id, + 'model': 'sf.functional.tool.dismantle', + 'view_type': 'form'} + # 拼接查询参数 + tool_string = urlencode(params) + # 拼接URL + full_url = url + "/web#" + tool_string + return full_url + + def get_special_url(self, id, tmplate_name, special_name, model_id): menu_id = 0 action_id = 0 - if tmplate_name=='调拨入库' and special_name== 'tool_expired_remind_special_url': + if tmplate_name == '调拨入库' and special_name == 'tool_expired_remind_special_url': menu_id = self.env.ref('mrp.menu_mrp_root').id action_id = self.env.ref('sf_tool_management.sf_functional_tool_dismantle_view_act').id - return super(SFMessagefunctionalToolDismantle, self).get_url(id, menu_id, action_id,model_id) + return super(SFMessagefunctionalToolDismantle, self).get_url(id, menu_id, action_id, model_id) else: - return super(SFMessagefunctionalToolDismantle, self).get_special_url(id, tmplate_name, special_name, model_id) \ No newline at end of file + return super(SFMessagefunctionalToolDismantle, self).get_special_url(id, tmplate_name, special_name, + model_id)