From 0ce14e846cdc3513585d8e246c5a76c8e82d5f06 Mon Sep 17 00:00:00 2001 From: Cybrosys Technologies Date: Fri, 27 Jun 2025 15:55:53 +0530 Subject: [PATCH] Jun 27: [FIX] Bug Fixed 'cron_failure_notification' --- cron_failure_notification/__manifest__.py | 2 +- .../data/mail_template_data.xml | 6 ++-- .../doc/RELEASE_NOTES.md | 8 ++++- cron_failure_notification/models/ir_cron.py | 29 +++++++++++++++---- 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/cron_failure_notification/__manifest__.py b/cron_failure_notification/__manifest__.py index c879b5972..582c53c78 100644 --- a/cron_failure_notification/__manifest__.py +++ b/cron_failure_notification/__manifest__.py @@ -21,7 +21,7 @@ ################################################################################ { 'name': "Cron Failure Notification", - 'version': '16.0.1.0.0', + 'version': '16.0.1.1.1', 'category': 'Discuss', 'author': 'Cybrosys Techno Solutions', 'company': 'Cybrosys Techno Solutions', diff --git a/cron_failure_notification/data/mail_template_data.xml b/cron_failure_notification/data/mail_template_data.xml index a7bd2b1a2..69fa0359a 100644 --- a/cron_failure_notification/data/mail_template_data.xml +++ b/cron_failure_notification/data/mail_template_data.xml @@ -1,12 +1,12 @@ - + Mail: Cron Action Error - {{ object.name }} Cron Failed - {{ ctx[ 'admin_mail' ] }} + Scheduled Cron Failed + {{ctx.get('email_to')}}

Dear Admin,

diff --git a/cron_failure_notification/doc/RELEASE_NOTES.md b/cron_failure_notification/doc/RELEASE_NOTES.md index 11314177f..447b2ef07 100644 --- a/cron_failure_notification/doc/RELEASE_NOTES.md +++ b/cron_failure_notification/doc/RELEASE_NOTES.md @@ -4,4 +4,10 @@ #### Version 16.0.1.0.0 #### ADD -- Initial commit for Cron Failure Notification \ No newline at end of file +- Initial commit for Cron Failure Notification + +#### 27.06.2025 +#### Version 16.0.1.1.1 +#### ADD + +- Fixed issue in python logic and updated the mail template. \ No newline at end of file diff --git a/cron_failure_notification/models/ir_cron.py b/cron_failure_notification/models/ir_cron.py index 8ee9930a5..4181df1ad 100644 --- a/cron_failure_notification/models/ir_cron.py +++ b/cron_failure_notification/models/ir_cron.py @@ -19,6 +19,7 @@ # If not, see . # ################################################################################ +import base64 import datetime import logging import odoo @@ -77,11 +78,27 @@ class IrCron(models.Model): [('create_date', '>', start_of_day), ('create_date', '<', end_of_day)]) if failure: - admin_mail = self.env['res.groups'].search( - [('category_id', '=', 'Administration'), - ('name', '=', 'Access Rights')]).users.login - email_values = {'admin_mail': admin_mail} + admins = self.env.ref('base.group_erp_manager') + admins_email = self.env.ref('base.group_erp_manager').users if admins else '' + admins_email = ','.join(admins_email.mapped('login')) if admins_email else '' + email_values = {'email_to': admins_email, + 'email_from': self.env.user.email} mail_template = self.env.ref( 'cron_failure_notification.mail_template_cron_error') - mail_template.with_context(email_values).send_mail(self.id, - force_send=True) + report_template_id = self.env['ir.actions.report']._render_qweb_pdf( + report_ref='cron_failure_notification.cron_fail_pdf_report', + res_ids=False, + ) + data_record = base64.b64encode(report_template_id[0]) + ir_values = { + 'name': "Scheduled Cron Job Failed Attachment.pdf", + 'type': 'binary', + 'datas': data_record, + 'store_fname': data_record, + 'mimetype': 'application/x-pdf', + } + data_id = self.env['ir.attachment'].create(ir_values) + mail_template.attachment_ids = [(6, 0, [data_id.id])] + mail_template.with_context(email_values).send_mail(self.id, email_values=email_values, force_send=True) + mail_template.attachment_ids = [(3, data_id.id)] + return True