Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
4
fetchmail_notify_error_to_sender/models/__init__.py
Executable file
4
fetchmail_notify_error_to_sender/models/__init__.py
Executable file
@@ -0,0 +1,4 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import fetchmail
|
||||
from . import mail_thread
|
||||
17
fetchmail_notify_error_to_sender/models/fetchmail.py
Executable file
17
fetchmail_notify_error_to_sender/models/fetchmail.py
Executable file
@@ -0,0 +1,17 @@
|
||||
# Copyright 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
|
||||
# Copyright 2017 ForgeFlow <http://www.forgeflow.com>
|
||||
# Copyright 2018 Hai Dinh <haidd.uit@gmail.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class FetchmailServer(models.Model):
|
||||
_inherit = "fetchmail.server"
|
||||
|
||||
error_notice_template_id = fields.Many2one(
|
||||
"mail.template",
|
||||
string="Error notice template",
|
||||
help="Set here the template to use to send notice to sender when "
|
||||
"errors occur while fetching email",
|
||||
)
|
||||
37
fetchmail_notify_error_to_sender/models/mail_thread.py
Executable file
37
fetchmail_notify_error_to_sender/models/mail_thread.py
Executable file
@@ -0,0 +1,37 @@
|
||||
# Copyright 2015-2017 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
|
||||
# Copyright 2017 ForgeFlow <http://www.forgeflow.com>
|
||||
# Copyright 2018 Hai Dinh <haidd.uit@gmail.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class MailThread(models.AbstractModel):
|
||||
_inherit = "mail.thread"
|
||||
|
||||
@api.model
|
||||
def message_route(
|
||||
self, message, message_dict, model=None, thread_id=None, custom_values=None
|
||||
):
|
||||
try:
|
||||
res = super().message_route(
|
||||
message,
|
||||
message_dict,
|
||||
model=model,
|
||||
thread_id=thread_id,
|
||||
custom_values=custom_values,
|
||||
)
|
||||
except ValueError as ve:
|
||||
fetchmail_server_id = self.env.context.get("default_fetchmail_server_id")
|
||||
if not fetchmail_server_id:
|
||||
raise ve
|
||||
fetchmail_server = (
|
||||
self.env["fetchmail.server"]
|
||||
.with_context(sender_message=message, route_exception=ve)
|
||||
.browse(fetchmail_server_id)
|
||||
)
|
||||
if not fetchmail_server.error_notice_template_id:
|
||||
raise ve
|
||||
fetchmail_server.error_notice_template_id.send_mail(fetchmail_server.id)
|
||||
raise ve
|
||||
return res
|
||||
Reference in New Issue
Block a user