diff --git a/cron_failure_notification/README.rst b/cron_failure_notification/README.rst new file mode 100755 index 000000000..48acf2e41 --- /dev/null +++ b/cron_failure_notification/README.rst @@ -0,0 +1,44 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Cron Failure Notification +========================= +* Notify the Admin About Cron Failures Via Mail. + +Configuration +============ +- Install our custom addon + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL V3). +(http://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer: (V18) Muhammed Rishad, Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/cron_failure_notification/__init__.py b/cron_failure_notification/__init__.py new file mode 100755 index 000000000..b97177084 --- /dev/null +++ b/cron_failure_notification/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies( +# ). +# Author: MUHAMMED RISHAD (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import models diff --git a/cron_failure_notification/__manifest__.py b/cron_failure_notification/__manifest__.py new file mode 100755 index 000000000..765922d89 --- /dev/null +++ b/cron_failure_notification/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies( +# ). +# Author: MUHAMMED RISHAD (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': "Cron Failure Notification", + 'version': '18.0.1.0.0', + 'category': 'Discuss', + 'summary': 'Notify the Admin About Cron Failures Via Mail', + 'description': """This module helps to send notification to admin with + lists of failed scheduled actions.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['base', 'mail'], + 'data': ['security/ir.model.access.csv', + 'report/ir_cron_failure_templates.xml', + 'report/ir_cron_reports.xml', + 'data/failure_mail_data.xml', + 'data/mail_template_data.xml', + 'views/ir_cron_views.xml', + 'views/failure_history_views.xml'], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/cron_failure_notification/data/failure_mail_data.xml b/cron_failure_notification/data/failure_mail_data.xml new file mode 100755 index 000000000..2afd6bfe4 --- /dev/null +++ b/cron_failure_notification/data/failure_mail_data.xml @@ -0,0 +1,15 @@ + + + + + + Mail: Cron Error Notification + + code + model.mail_send_cron() + + 1 + days + + + diff --git a/cron_failure_notification/data/mail_template_data.xml b/cron_failure_notification/data/mail_template_data.xml new file mode 100755 index 000000000..73bf9a5f1 --- /dev/null +++ b/cron_failure_notification/data/mail_template_data.xml @@ -0,0 +1,19 @@ + + + + + + Mail: Cron Action Error23 + + {{ object.name }} Cron Failed + + +

Dear Admin,

+

Here is attaching failures from scheduled cron jobs on our + server, so please quickly take an action for this. +

+

Thank You.

+
+
+
+
diff --git a/cron_failure_notification/doc/RELEASE_NOTES.md b/cron_failure_notification/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..f6744744b --- /dev/null +++ b/cron_failure_notification/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 19.02.2025 +#### Version 18.0.1.0.0 +#### ADD + +- Initial commit for Cron Failure Notification diff --git a/cron_failure_notification/models/__init__.py b/cron_failure_notification/models/__init__.py new file mode 100755 index 000000000..8ae975fed --- /dev/null +++ b/cron_failure_notification/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies( +# ). +# Author: MUHAMMED RISHAD (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from . import failure_history +from . import ir_cron diff --git a/cron_failure_notification/models/failure_history.py b/cron_failure_notification/models/failure_history.py new file mode 100755 index 000000000..5216d2e2f --- /dev/null +++ b/cron_failure_notification/models/failure_history.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies( +# ). +# Author: MUHAMMED RISHAD (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from odoo import fields, models + + +class FailureHistory(models.Model): + """Creates failure history to store the failed cron action details + as a record""" + _name = 'failure.history' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _description = 'Failure History' + + name = fields.Char(string='Name', required=True, help="Failed cron action " + "name") + error = fields.Char(string='Error Details', help="Detailed description " + "about error") diff --git a/cron_failure_notification/models/ir_cron.py b/cron_failure_notification/models/ir_cron.py new file mode 100755 index 000000000..4a8a1a694 --- /dev/null +++ b/cron_failure_notification/models/ir_cron.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +# ############################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies( +# ). +# Author: MUHAMMED RISHAD (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +import datetime +import logging +import time +from odoo import api, models, _ +from odoo.exceptions import ValidationError +from odoo.fields import Datetime, _logger + + +class IrCron(models.Model): + """ Inherits ir cron for add a feature that sends mail to admin + each day, if any cron failed """ + _name = 'ir.cron' + _inherit = ['ir.cron', 'mail.thread'] + + + def _callback(self, cron_name, server_action_id): + """ Run the method associated to a given job. It takes care of logging + and exception handling. Note that the user running the server action + is the user calling this method. """ + self.ensure_one() + try: + if self.pool != self.pool.check_signaling(): + # the registry has changed, reload self in the new registry + self.env.reset() + self = self.env()[self._name] + + _logger.debug( + "cron.object.execute(%r, %d, '*', %r, %d)", + self.env.cr.dbname, + self._uid, + cron_name, + server_action_id, + ) + _logger.info('Job %r (%s) starting', cron_name, self.id) + start_time = time.time() + self.env['ir.actions.server'].browse(server_action_id).run() + self.env.flush_all() + end_time = time.time() + _logger.info('Job %r (%s) done in %.3fs', cron_name, self.id, + end_time - start_time) + if start_time and _logger.isEnabledFor(logging.DEBUG): + _logger.debug('Job %r (%s) server action #%s with uid %s ' + 'executed in %.3fs', + cron_name, self.id, server_action_id, + self.env.uid, end_time - start_time) + self.pool.signal_changes() + except Exception as exception: + self.pool.reset_changes() + _logger.exception('Job %r (%s) server action #%s failed', + cron_name, self.id, server_action_id) + # self.env.cr.rollback() + if exception: + self.env['failure.history'].create({ + 'name': cron_name, + 'error': str(exception), + }) + raise ValidationError(_(str(exception))) + + def mail_send_cron(self): + """ If any cron's failed a notification email will send to admin """ + current_datetime = datetime.datetime.now() + yesterday_datetime = current_datetime - datetime.timedelta(days=1) + failure = self.env['failure.history'].search( + [('create_date', '>', yesterday_datetime), + ('create_date', '<', current_datetime)] + ) + if failure: + admin_mail = self.env['res.groups'].search( + [('category_id', '=', 'Administration'), + ('name', '=', 'Access Rights')]).users.mapped('login') + email_values = { + 'email_to': admin_mail[0] if len(admin_mail) == 1 + else ",".join(admin_mail) + } + mail_template = self.env.ref( + 'cron_failure_notification.mail_template_cron_error') + mail_template.send_mail(self.id, email_values= email_values, + force_send=True) diff --git a/cron_failure_notification/report/ir_cron_failure_templates.xml b/cron_failure_notification/report/ir_cron_failure_templates.xml new file mode 100755 index 000000000..8f8174246 --- /dev/null +++ b/cron_failure_notification/report/ir_cron_failure_templates.xml @@ -0,0 +1,50 @@ + + + + + diff --git a/cron_failure_notification/report/ir_cron_reports.xml b/cron_failure_notification/report/ir_cron_reports.xml new file mode 100755 index 000000000..abaf22018 --- /dev/null +++ b/cron_failure_notification/report/ir_cron_reports.xml @@ -0,0 +1,13 @@ + + + + + Cron failure report + ir.cron + qweb-pdf + cron_failure_notification.report_logs_details + cron_failure_notification.report_logs_details + + report + + diff --git a/cron_failure_notification/security/ir.model.access.csv b/cron_failure_notification/security/ir.model.access.csv new file mode 100755 index 000000000..daeca37d9 --- /dev/null +++ b/cron_failure_notification/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_failure_history,access.failure.history,model_failure_history,base.group_user,1,1,1,1 diff --git a/cron_failure_notification/static/description/assets/icons/arrows-repeat.svg b/cron_failure_notification/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-1.png b/cron_failure_notification/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/banner-1.png differ diff --git a/cron_failure_notification/static/description/assets/icons/banner-2.svg b/cron_failure_notification/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-bg.png b/cron_failure_notification/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/banner-bg.png differ diff --git a/cron_failure_notification/static/description/assets/icons/banner-bg.svg b/cron_failure_notification/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-call.svg b/cron_failure_notification/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-mail.svg b/cron_failure_notification/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-pattern.svg b/cron_failure_notification/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/banner-promo.svg b/cron_failure_notification/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/brand-pair.svg b/cron_failure_notification/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/check.png b/cron_failure_notification/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/check.png differ diff --git a/cron_failure_notification/static/description/assets/icons/chevron.png b/cron_failure_notification/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/chevron.png differ diff --git a/cron_failure_notification/static/description/assets/icons/close-icon.svg b/cron_failure_notification/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/cogs.png b/cron_failure_notification/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/cogs.png differ diff --git a/cron_failure_notification/static/description/assets/icons/collabarate-icon.svg b/cron_failure_notification/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/cron_failure_notification/static/description/assets/icons/consultation.png b/cron_failure_notification/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/consultation.png differ diff --git a/cron_failure_notification/static/description/assets/icons/cybro-logo.png b/cron_failure_notification/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/cybro-logo.png differ diff --git a/cron_failure_notification/static/description/assets/icons/down.svg b/cron_failure_notification/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/cron_failure_notification/static/description/assets/icons/ecom-black.png b/cron_failure_notification/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/ecom-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/education-black.png b/cron_failure_notification/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/education-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/faq.png b/cron_failure_notification/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/faq.png differ diff --git a/cron_failure_notification/static/description/assets/icons/feature-icon.svg b/cron_failure_notification/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/feature.png b/cron_failure_notification/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/feature.png differ diff --git a/cron_failure_notification/static/description/assets/icons/gear.svg b/cron_failure_notification/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/hire-odoo.svg b/cron_failure_notification/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/hotel-black.png b/cron_failure_notification/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/hotel-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/license.png b/cron_failure_notification/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/license.png differ diff --git a/cron_failure_notification/static/description/assets/icons/life-ring-icon.svg b/cron_failure_notification/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/lifebuoy.png b/cron_failure_notification/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/lifebuoy.png differ diff --git a/cron_failure_notification/static/description/assets/icons/mail.svg b/cron_failure_notification/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/cron_failure_notification/static/description/assets/icons/manufacturing-black.png b/cron_failure_notification/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/manufacturing-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/notes.png b/cron_failure_notification/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/notes.png differ diff --git a/cron_failure_notification/static/description/assets/icons/notification icon.svg b/cron_failure_notification/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/odoo-consultancy.svg b/cron_failure_notification/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cron_failure_notification/static/description/assets/icons/odoo-licencing.svg b/cron_failure_notification/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/cron_failure_notification/static/description/assets/icons/odoo-logo.png b/cron_failure_notification/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/odoo-logo.png differ diff --git a/cron_failure_notification/static/description/assets/icons/patter.svg b/cron_failure_notification/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/pattern1.png b/cron_failure_notification/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/pattern1.png differ diff --git a/cron_failure_notification/static/description/assets/icons/pos-black.png b/cron_failure_notification/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/pos-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/puzzle-piece-icon.svg b/cron_failure_notification/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/puzzle.png b/cron_failure_notification/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/puzzle.png differ diff --git a/cron_failure_notification/static/description/assets/icons/replace-icon.svg b/cron_failure_notification/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/restaurant-black.png b/cron_failure_notification/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/restaurant-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/screenshot-main.png b/cron_failure_notification/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/screenshot-main.png differ diff --git a/cron_failure_notification/static/description/assets/icons/screenshot.png b/cron_failure_notification/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/screenshot.png differ diff --git a/cron_failure_notification/static/description/assets/icons/service-black.png b/cron_failure_notification/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/service-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/skype-fill.svg b/cron_failure_notification/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/skype.png b/cron_failure_notification/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/skype.png differ diff --git a/cron_failure_notification/static/description/assets/icons/skype.svg b/cron_failure_notification/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/cron_failure_notification/static/description/assets/icons/star-1.svg b/cron_failure_notification/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/star-2.svg b/cron_failure_notification/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/support.png b/cron_failure_notification/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/support.png differ diff --git a/cron_failure_notification/static/description/assets/icons/test-1 - Copy.png b/cron_failure_notification/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/test-1 - Copy.png differ diff --git a/cron_failure_notification/static/description/assets/icons/test-1.png b/cron_failure_notification/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/test-1.png differ diff --git a/cron_failure_notification/static/description/assets/icons/test-2.png b/cron_failure_notification/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/test-2.png differ diff --git a/cron_failure_notification/static/description/assets/icons/trading-black.png b/cron_failure_notification/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/trading-black.png differ diff --git a/cron_failure_notification/static/description/assets/icons/training.png b/cron_failure_notification/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/training.png differ diff --git a/cron_failure_notification/static/description/assets/icons/translate.svg b/cron_failure_notification/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/update.png b/cron_failure_notification/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/update.png differ diff --git a/cron_failure_notification/static/description/assets/icons/user.png b/cron_failure_notification/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/user.png differ diff --git a/cron_failure_notification/static/description/assets/icons/video.png b/cron_failure_notification/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/video.png differ diff --git a/cron_failure_notification/static/description/assets/icons/whatsapp.png b/cron_failure_notification/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/whatsapp.png differ diff --git a/cron_failure_notification/static/description/assets/icons/wrench-icon.svg b/cron_failure_notification/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/cron_failure_notification/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/icons/wrench.png b/cron_failure_notification/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/cron_failure_notification/static/description/assets/icons/wrench.png differ diff --git a/cron_failure_notification/static/description/assets/misc/Cybrosys R.png b/cron_failure_notification/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/Cybrosys R.png differ diff --git a/cron_failure_notification/static/description/assets/misc/categories.png b/cron_failure_notification/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/categories.png differ diff --git a/cron_failure_notification/static/description/assets/misc/check-box.png b/cron_failure_notification/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/check-box.png differ diff --git a/cron_failure_notification/static/description/assets/misc/compass.png b/cron_failure_notification/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/compass.png differ diff --git a/cron_failure_notification/static/description/assets/misc/corporate.png b/cron_failure_notification/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/corporate.png differ diff --git a/cron_failure_notification/static/description/assets/misc/customer-support.png b/cron_failure_notification/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/customer-support.png differ diff --git a/cron_failure_notification/static/description/assets/misc/cybrosys-logo.png b/cron_failure_notification/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/cybrosys-logo.png differ diff --git a/cron_failure_notification/static/description/assets/misc/email.svg b/cron_failure_notification/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/features.png b/cron_failure_notification/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/features.png differ diff --git a/cron_failure_notification/static/description/assets/misc/logo.png b/cron_failure_notification/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/logo.png differ diff --git a/cron_failure_notification/static/description/assets/misc/phone.svg b/cron_failure_notification/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/cron_failure_notification/static/description/assets/misc/pictures.png b/cron_failure_notification/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/pictures.png differ diff --git a/cron_failure_notification/static/description/assets/misc/pie-chart.png b/cron_failure_notification/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/pie-chart.png differ diff --git a/cron_failure_notification/static/description/assets/misc/right-arrow.png b/cron_failure_notification/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/right-arrow.png differ diff --git a/cron_failure_notification/static/description/assets/misc/star (1) 2.svg b/cron_failure_notification/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/star.png b/cron_failure_notification/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/star.png differ diff --git a/cron_failure_notification/static/description/assets/misc/support (1) 1.svg b/cron_failure_notification/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/support-email.svg b/cron_failure_notification/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/support.png b/cron_failure_notification/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/support.png differ diff --git a/cron_failure_notification/static/description/assets/misc/tick-mark.svg b/cron_failure_notification/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/whatsapp 1.svg b/cron_failure_notification/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/misc/whatsapp.png b/cron_failure_notification/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/cron_failure_notification/static/description/assets/misc/whatsapp.png differ diff --git a/cron_failure_notification/static/description/assets/misc/whatsapp.svg b/cron_failure_notification/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/cron_failure_notification/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cron_failure_notification/static/description/assets/modules/k1.png b/cron_failure_notification/static/description/assets/modules/k1.png new file mode 100644 index 000000000..3a68fe830 Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k1.png differ diff --git a/cron_failure_notification/static/description/assets/modules/k2.png b/cron_failure_notification/static/description/assets/modules/k2.png new file mode 100644 index 000000000..251d81b6f Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k2.png differ diff --git a/cron_failure_notification/static/description/assets/modules/k3.png b/cron_failure_notification/static/description/assets/modules/k3.png new file mode 100644 index 000000000..13e4ffc22 Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k3.png differ diff --git a/cron_failure_notification/static/description/assets/modules/k4.png b/cron_failure_notification/static/description/assets/modules/k4.png new file mode 100644 index 000000000..ce5a5515a Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k4.png differ diff --git a/cron_failure_notification/static/description/assets/modules/k5.png b/cron_failure_notification/static/description/assets/modules/k5.png new file mode 100644 index 000000000..f2ed46e7b Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k5.png differ diff --git a/cron_failure_notification/static/description/assets/modules/k6.png b/cron_failure_notification/static/description/assets/modules/k6.png new file mode 100644 index 000000000..d03723cae Binary files /dev/null and b/cron_failure_notification/static/description/assets/modules/k6.png differ diff --git a/cron_failure_notification/static/description/assets/screenshots/GIF.gif b/cron_failure_notification/static/description/assets/screenshots/GIF.gif new file mode 100644 index 000000000..e4a7048bd Binary files /dev/null and b/cron_failure_notification/static/description/assets/screenshots/GIF.gif differ diff --git a/cron_failure_notification/static/description/assets/screenshots/ss1.png b/cron_failure_notification/static/description/assets/screenshots/ss1.png new file mode 100644 index 000000000..182fd27e6 Binary files /dev/null and b/cron_failure_notification/static/description/assets/screenshots/ss1.png differ diff --git a/cron_failure_notification/static/description/assets/screenshots/ss2.png b/cron_failure_notification/static/description/assets/screenshots/ss2.png new file mode 100644 index 000000000..f1e4e9593 Binary files /dev/null and b/cron_failure_notification/static/description/assets/screenshots/ss2.png differ diff --git a/cron_failure_notification/static/description/assets/screenshots/ss3.png b/cron_failure_notification/static/description/assets/screenshots/ss3.png new file mode 100644 index 000000000..4093378e7 Binary files /dev/null and b/cron_failure_notification/static/description/assets/screenshots/ss3.png differ diff --git a/cron_failure_notification/static/description/banner.png b/cron_failure_notification/static/description/banner.png new file mode 100644 index 000000000..ba5df27a4 Binary files /dev/null and b/cron_failure_notification/static/description/banner.png differ diff --git a/cron_failure_notification/static/description/icon.png b/cron_failure_notification/static/description/icon.png new file mode 100644 index 000000000..7f2fb1399 Binary files /dev/null and b/cron_failure_notification/static/description/icon.png differ diff --git a/cron_failure_notification/static/description/index.html b/cron_failure_notification/static/description/index.html new file mode 100644 index 000000000..f25b09b56 --- /dev/null +++ b/cron_failure_notification/static/description/index.html @@ -0,0 +1,976 @@ + + + + + + Cron Failure Notification + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Notify the Admin About Cron Failures Via Mail. +

+

Cron Failure Notification +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Failure History +
+

+ Creates a failure history log for cron jobs that have failed.

+
+
+
+
+
+ +
+
+ Email Notification +
+

+ Sends email notifications to the admin regarding cron job failures.

+
+
+
+
+
+ +
+
+ PDF Report +
+

+ Email will include a report detailing the cron job failures as an attachment.

+
+
+
+
+ +
+
+
+ Cron Failure Notification +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
+

+ Scheduled + + Email +

+
+
+

+ A Cron action that sends the failed cron job history via email to the admin. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Failure + + History +

+
+
+

+ Access to the views of the stored failure history records. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Failure + + Report +

+
+
+

+ A PDF report displaying the details of various failed cron jobs throughout the day. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Mail Notification

+
+
+

+ Mail Notification containing details on failures sent to Admin on daily + basis. +

+
+
+
+
+
+
+
+ +
+

+ Failure History

+
+
+

+ Failures that happens in cron, will be recorded as a history. +

+
+
+
+
+
+
+
+ +
+

+ Failure Report

+
+
+

+ Creates Pdf Failure report, which is attached with the mail. +

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ The Cron Failure Notification module saves the failed scheduled + actions as history and sends out mail notification to the admin. +

+
+
+ +
+ +
+

+ A scheduled action runs daily to retrieve the failed scheduled + actions history and sends an email if any failures are detected. +

+
+
+ +
+ +
+

+ If you want to stay informed about failed scheduled actions + in your system, this module is for you. +

+
+
+
+
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 6th January, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/cron_failure_notification/views/failure_history_views.xml b/cron_failure_notification/views/failure_history_views.xml new file mode 100755 index 000000000..4119c53b7 --- /dev/null +++ b/cron_failure_notification/views/failure_history_views.xml @@ -0,0 +1,45 @@ + + + + + Failure History + ir.actions.act_window + failure.history + list,form + + + + failure.history.view.tree + failure.history + + + + + + + + + failure.history.view.form + failure.history + +
+ + + + + + + + + + + + + + +
+
+ + +
\ No newline at end of file diff --git a/cron_failure_notification/views/ir_cron_views.xml b/cron_failure_notification/views/ir_cron_views.xml new file mode 100755 index 000000000..b53d18c7e --- /dev/null +++ b/cron_failure_notification/views/ir_cron_views.xml @@ -0,0 +1,14 @@ + + + + + ir.cron.view.form.inherited.failure.notification + ir.cron + + + + + + + + \ No newline at end of file