From d69ca61bc95995878200b635b2b4cc98765566ca Mon Sep 17 00:00:00 2001 From: Pranay Date: Tue, 20 May 2025 10:02:59 +0530 Subject: [PATCH] Discuss Messages --- .../flutter_odoo/models/__init__.py | 3 +- .../flutter_odoo/models/discuss.py | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 addons_extensions/flutter_odoo/models/discuss.py diff --git a/addons_extensions/flutter_odoo/models/__init__.py b/addons_extensions/flutter_odoo/models/__init__.py index a70ef9e7a..ff8812c83 100644 --- a/addons_extensions/flutter_odoo/models/__init__.py +++ b/addons_extensions/flutter_odoo/models/__init__.py @@ -1,2 +1,3 @@ from . import hr_employee -from . import hr_leave \ No newline at end of file +from . import hr_leave +from . import discuss \ No newline at end of file diff --git a/addons_extensions/flutter_odoo/models/discuss.py b/addons_extensions/flutter_odoo/models/discuss.py new file mode 100644 index 000000000..495f81995 --- /dev/null +++ b/addons_extensions/flutter_odoo/models/discuss.py @@ -0,0 +1,35 @@ +from logging import exception + +from odoo import api, models, _, fields +from odoo.exceptions import ValidationError +from odoo.tools.misc import format_date +from datetime import datetime +from markupsafe import Markup + +class DiscussChannel(models.Model): + _inherit = "discuss.channel" + + + def send_message_from_flutter_odoo(self,leave_request_data,message_type='notification'): + for rec in self: + attachments = leave_request_data.pop('attachments', []) + files = [] + leave_request_data['body'] = Markup(leave_request_data['body']) + # rec.message_post(message_type,leave_request_data) + + if attachments: + for att in attachments: + file = self.env['ir.attachment'].create({ + 'name': att['name'], + 'type': 'binary', + 'datas': att['datas'], # base64 string + 'res_model': 'discuss.channel', + 'res_id': rec.id, + }) + files.append(file.id) + rec.message_post( + body=leave_request_data['body'], + message_type="comment", + subtype_xmlid="mail.mt_comment", + attachment_ids=files # ✅ correct way to pass existing attachments + ) \ No newline at end of file