17 changed files with 498 additions and 0 deletions
@ -0,0 +1,31 @@ |
|||||
|
Cron Job Failure Notifications v9 |
||||
|
================================= |
||||
|
This module will generate error Logs for Scheduled Actions / Cron jobs running in backend server. |
||||
|
Purpose of module to have creating history & PDF reports of failure of all jobs in backend. |
||||
|
|
||||
|
Features |
||||
|
======== |
||||
|
* Any failure will automatically logged. |
||||
|
* PDF Report for error logs. |
||||
|
* Custom Error Logs Scheduled Actions Email Template. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
No other requirements. |
||||
|
|
||||
|
To test the module: |
||||
|
- Activate Developer mode |
||||
|
- Go to Settings --> Technical --> Automation --> Scheduled actions. |
||||
|
- Select the record "Test Cron Failure Notification" and check active button. |
||||
|
- Click the button 'Run Manually'. |
||||
|
- A log of scheduler failure will be created under the menu 'Logs Scheduled Actions'. |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
To analyse/test the log history of cron failure, |
||||
|
Go to Settings --> Technical --> Automation --> Logs Scheduled Actions. |
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
Developer: Mufeeda C K @ cybrosys |
||||
|
Guidance: Nilmar Shereef @ cybrosys, shereef@cybrosys.in |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import models |
@ -0,0 +1,48 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
'name': "Cron Job Failure Notification", |
||||
|
'summary': """Cron jobs/Scheduled Actions failure Log Notification & Its PDF Reports""", |
||||
|
'description': """ |
||||
|
This module will generate error Logs for Scheduled |
||||
|
Actions / Cron jobs running in backend server |
||||
|
""", |
||||
|
'author': "Cybrosys Techno Solution", |
||||
|
'website': "http://www.cybrosys.com", |
||||
|
'category': 'Extra Tools', |
||||
|
'depends': ['base', 'mail', 'web', 'base_setup'], |
||||
|
'data': [ |
||||
|
'views/logs_scheduled_actions_view.xml', |
||||
|
'views/error_log_report_template.xml', |
||||
|
'views/report.xml', |
||||
|
'views/error_mail_template.xml', |
||||
|
], |
||||
|
'demo': [ |
||||
|
'demo/ir_cron_demo.xml', |
||||
|
], |
||||
|
'images': ['static/description/banner.jpg'], |
||||
|
'license': 'AGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
|
||||
|
<openerp> |
||||
|
<data noupdate="1"> |
||||
|
<record id="test_scheduler_error_mailer" model="ir.cron"> |
||||
|
<field name="name">Test Cron Failure Notification</field> |
||||
|
<field name="active" eval="False"/> |
||||
|
<field name="user_id" ref="base.user_root"/> |
||||
|
<field name="interval_number">1</field> |
||||
|
<field name="interval_type">hours</field> |
||||
|
<field name="numbercall">-1</field> |
||||
|
<!-- don't limit the number of calls --> |
||||
|
<field name="doall" eval="True"/> |
||||
|
<field name="model">ir.cron</field> |
||||
|
<field name="function">_test_scheduler_failure</field> |
||||
|
<field name="email_template_id" ref="cron_failure_notification.scheduler_error_mailer"/> |
||||
|
</record> |
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import logs_scheduled_actions |
@ -0,0 +1,115 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). |
||||
|
# Author: Nilmar Shereef(<http://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import datetime |
||||
|
import logging |
||||
|
from openerp import models, fields, api, _ |
||||
|
from openerp.exceptions import UserError |
||||
|
|
||||
|
|
||||
|
class LogsScheduledActions(models.Model): |
||||
|
_description = "Error log" |
||||
|
_name = 'logs.action' |
||||
|
_inherit = ['mail.thread', 'ir.needaction_mixin', 'ir.cron'] |
||||
|
|
||||
|
name = fields.Char(string="Name", required=True, track_visibility='always') |
||||
|
method = fields.Char(string="Method", track_visibility='always') |
||||
|
created_by = fields.Many2one('res.users', string="Created by", default=lambda self: self.env.user, index=True) |
||||
|
object_action = fields.Char(string="Object", track_visibility='always') |
||||
|
exec_date = fields.Datetime(string="Execution Date Time") |
||||
|
company_name = fields.Many2one('res.company', string="Company", default=lambda self: self.env.user.company_id, |
||||
|
index=True) |
||||
|
stages_id = fields.Selection( |
||||
|
[('new', 'New'), ('confirm', 'Confirmed'), ('resolved', 'Resolved'), ('cancelled', 'Cancelled')], string="State", default='new') |
||||
|
error_details = fields.Char(string="Error details", track_visibility='always') |
||||
|
|
||||
|
@api.multi |
||||
|
def action_mail_send(self): |
||||
|
self.ensure_one() |
||||
|
ir_model_data = self.env['ir.model.data'] |
||||
|
template_id = ir_model_data.get_object_reference('cron_failure_notification', |
||||
|
'scheduler_error_mailer')[1] |
||||
|
try: |
||||
|
compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1] |
||||
|
except ValueError: |
||||
|
compose_form_id = False |
||||
|
ctx = dict(self.env.context or {}) |
||||
|
ctx.update({ |
||||
|
'default_model': 'logs.action', |
||||
|
'default_res_id': self.ids[0], |
||||
|
'default_use_template': bool(template_id), |
||||
|
'default_template_id': template_id, |
||||
|
'default_composition_mode': 'comment', |
||||
|
}) |
||||
|
|
||||
|
return { |
||||
|
'name': _('Compose Email'), |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'view_type': 'form', |
||||
|
'view_mode': 'form', |
||||
|
'res_model': 'mail.compose.message', |
||||
|
'views': [(compose_form_id, 'form')], |
||||
|
'view_id': compose_form_id, |
||||
|
'target': 'new', |
||||
|
'context': ctx, |
||||
|
} |
||||
|
|
||||
|
@api.multi |
||||
|
def button_confirm_action(self): |
||||
|
self.write({'stages_id': 'confirm'}) |
||||
|
|
||||
|
@api.multi |
||||
|
def button_resolved_action(self): |
||||
|
self.write({'stages_id': 'resolved'}) |
||||
|
|
||||
|
@api.multi |
||||
|
def button_cancel_action(self): |
||||
|
self.write({'stages_id': 'cancelled'}) |
||||
|
|
||||
|
_logger = logging.getLogger(__name__) |
||||
|
|
||||
|
|
||||
|
class IrCron(models.Model): |
||||
|
_inherit = "ir.cron" |
||||
|
|
||||
|
@api.model |
||||
|
def _handle_callback_exception( |
||||
|
self, model_name, method_name, args, job_id, job_exception): |
||||
|
res = super(IrCron, self)._handle_callback_exception( |
||||
|
model_name, method_name, args, job_id, job_exception) |
||||
|
my_cron = self.browse(job_id) |
||||
|
self.env['logs.action'].create({ |
||||
|
'name': my_cron.name, |
||||
|
'method': my_cron.model, |
||||
|
'object_action': my_cron.function, |
||||
|
'exec_date': datetime.datetime.now(), |
||||
|
'error_details': str(job_exception), |
||||
|
}) |
||||
|
|
||||
|
return res |
||||
|
|
||||
|
@api.model |
||||
|
def _test_scheduler_failure(self): |
||||
|
"""This function is used to test and debug this module""" |
||||
|
|
||||
|
raise UserError( |
||||
|
_("Task failure with UID = %d.") % self._uid) |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,71 @@ |
|||||
|
<section class="oe_container"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan">Cron Job Failure Notification</h2> |
||||
|
<h3 class="oe_slogan"><center>Error Logs for Scheduled Actions/Cron jobs running in backend server.</center></h3> |
||||
|
<h4 class="oe_slogan">Cybrosys Technologies , www.cybrosys.com</h4> |
||||
|
|
||||
|
</div> |
||||
|
<div> |
||||
|
<h4><p>Major Features:</p></h4> |
||||
|
<ul> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> →</span> Creating Failure History for All Jobs in Backend.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> →</span> Failure Report Will Automatically Logged.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> →</span> Administrator Can Review Logs.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> →</span> Send Report to Support/Technical Team by Email Button.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> →</span> Custom Email Template for Sending Mail with Failure Details.</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container oe_dark"> |
||||
|
<h3 class="oe_slogan">Error Logs Scheduled Actions - Form View</h3> |
||||
|
<div class="oe_bg_img"> |
||||
|
<img class="oe_picture oe_screenshot" src="logs_form_view.png"> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container"> |
||||
|
<h3 class="oe_slogan">Print PDF Report- Error Logs Scheduled</h3> |
||||
|
<div class="oe_bg_img"> |
||||
|
<img class="oe_picture oe_screenshot" src="logs_pdf_report.png"> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container oe_dark"> |
||||
|
<h3 class="oe_slogan">Send By Email - Error Logs Scheduled Actions Attaching PDF Report</h3> |
||||
|
<div class="oe_bg_img"> |
||||
|
<img class="oe_picture oe_screenshot" src="logs_mail_template.png"> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container"> |
||||
|
<h3 class="oe_slogan" style="text-align:left;padding-left: 23px;">How to test this module ?</h3> |
||||
|
<div> |
||||
|
<p> |
||||
|
<ul> |
||||
|
<li>Activate Developer mode.</li> |
||||
|
<li>Go to Settings --> Technical --> Automation --> Scheduled actions.</li> |
||||
|
<li>Select the record "Test Cron Failure Notification" and check active button.</li> |
||||
|
<li>Click the button 'Run Manually'.</li> |
||||
|
<li>A log of scheduler failure will be created under the menu 'Logs Scheduled Actions'.</li> |
||||
|
<li>For more details, Please see the README.rst file with this module.</li> |
||||
|
</ul> |
||||
|
</p> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container oe_dark"> |
||||
|
<h2 class="oe_slogan" style="margin-top:20px;" >Need Any Help?</h2> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;"> |
||||
|
<a class="btn btn-primary btn-lg mt8" |
||||
|
style="color: #FFFFFF !important;" href="http://www.cybrosys.com"><i |
||||
|
class="fa fa-envelope"></i> Email </a> <a |
||||
|
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
||||
|
href="http://www.cybrosys.com/contact/"><i |
||||
|
class="fa fa-phone"></i> Contact Us </a> <a |
||||
|
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
||||
|
href="http://www.cybrosys.com/odoo-customization-and-installation/"><i |
||||
|
class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block"> |
||||
|
</section> |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 41 KiB |
@ -0,0 +1,54 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<template id="report_log_error"> |
||||
|
<t t-call="report.html_container"> |
||||
|
<t t-call="report.internal_layout"> |
||||
|
<div class="page"> |
||||
|
<p t-esc="res_company.name"/> |
||||
|
<h2> |
||||
|
<span t-field="doc.name"/> |
||||
|
</h2> |
||||
|
<table class="table"> |
||||
|
<tbody> |
||||
|
<tr t-if="doc.object_action"> |
||||
|
<th>Object:</th> |
||||
|
<td><span t-field="doc.object_action"/></td> |
||||
|
</tr> |
||||
|
<tr t-if="doc.method"> |
||||
|
<th>Method:</th> |
||||
|
<td><span t-field="doc.method"/></td> |
||||
|
</tr> |
||||
|
<tr t-if="doc.created_by"> |
||||
|
<th>Responsible user:</th> |
||||
|
<td><span t-field="doc.created_by"/></td> |
||||
|
</tr> |
||||
|
<tr t-if="doc.exec_date"> |
||||
|
<th>Execution Date Time:</th> |
||||
|
<td><span t-field="doc.exec_date"/></td> |
||||
|
</tr> |
||||
|
<tr t-if="doc.company_name"> |
||||
|
<th>Company:</th> |
||||
|
<td><span t-field="doc.company_name"/></td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
<br/><br/> |
||||
|
<strong><p>Error: </p></strong> |
||||
|
<p t-field="doc.error_details"/> |
||||
|
<div class="oe_structure"/> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
<template id="report_logs_details"> |
||||
|
<t t-call="report.html_container"> |
||||
|
<t t-foreach="docs" t-as="doc"> |
||||
|
<t t-call="cron_failure_notification.report_log_error" /> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,25 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
|
||||
|
<openerp> |
||||
|
<data noupdate="1"> |
||||
|
|
||||
|
<!-- Error Email template --> |
||||
|
<record id="scheduler_error_mailer" model="mail.template"> |
||||
|
<field name="name">Scheduler Error</field> |
||||
|
<field name="email_from">${object.user_id.email}</field> |
||||
|
<field name="subject">'${object.name}' FAILED</field> |
||||
|
<field name="report_template" ref="action_report_logs"/> |
||||
|
<field name="model_id" ref="cron_failure_notification.model_logs_action"/> |
||||
|
<field name="auto_delete" eval="True"/> |
||||
|
<field name="body_html"> |
||||
|
<![CDATA[ |
||||
|
Dear Support team,<br> |
||||
|
<p>Here we are attaching error logs from scheduled cron jobs on our server, so please |
||||
|
urgently take action.<br> If you have any question, don't hesitate to contact us.<br></p><br> |
||||
|
Thank You. |
||||
|
]]> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,77 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<record model="ir.ui.view" id="developer_mode_active_form"> |
||||
|
<field name="name">DeveloperMode</field> |
||||
|
<field name="model"></field> |
||||
|
<field name="inherit_id" ref="web.login"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//input[@name='redirect']" position='attributes'> |
||||
|
<attribute name="t-att-value">'%s%sdebug=1' % (redirect or '/web', redirect and '?' in redirect and '&' or '?')</attribute> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
<record id="logs_form_view" model="ir.ui.view"> |
||||
|
<field name="name">logs.action.form</field> |
||||
|
<field name="model">logs.action</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Logs"> |
||||
|
<header> |
||||
|
<button name="button_confirm_action" string="Confirm" type="object" class="oe_highlight" attrs="{'invisible': [('stages_id', '!=', 'new')]}"/> |
||||
|
<button name="button_cancel_action" string="Cancel" type="object" attrs="{'invisible': [('stages_id', '!=', 'new')]}"/> |
||||
|
<button name="button_resolved_action" string="Resolve" type="object" class="oe_highlight" attrs="{'invisible': [('stages_id', '!=', 'confirm')]}"/> |
||||
|
<button name="action_mail_send" string="Send By Email" type="object" context="{'send_mail':True}" class="oe_highlight" attrs="{'invisible': [('stages_id', '!=', 'confirm')]}"/> |
||||
|
<field name="stages_id" widget="statusbar"/> |
||||
|
</header> |
||||
|
<sheet string="Logs"> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name"/> |
||||
|
<field name="method"/> |
||||
|
<field name="created_by"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="object_action"/> |
||||
|
<field name="exec_date"/> |
||||
|
<field name="company_name"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page name="error_info" string="Error"> |
||||
|
<field name="error_details"/> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</sheet> |
||||
|
<div class="oe_chatter"> |
||||
|
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> |
||||
|
<field name="message_ids" widget="mail_thread"/> |
||||
|
</div> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.ui.view" id="logs_tree_view"> |
||||
|
<field name="name">logs.action.tree</field> |
||||
|
<field name="model">logs.action</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Logs"> |
||||
|
<field name="name"/> |
||||
|
<field name="exec_date"/> |
||||
|
<field name="stages_id"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="ir_cron_act_logs" model="ir.actions.act_window"> |
||||
|
<field name="name">Logs Scheduled Actions</field> |
||||
|
<field name="res_model">logs.action</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">form,tree</field> |
||||
|
<field name="view_id" ref="logs_tree_view"/> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="menu_ir_cron_logs" action="ir_cron_act_logs" parent="base.menu_automation"/> |
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,12 @@ |
|||||
|
<openerp> |
||||
|
<data> |
||||
|
<report id="action_report_logs" |
||||
|
model="logs.action" |
||||
|
string="Print Log Scheduled" |
||||
|
report_type="qweb-pdf" |
||||
|
file="cron_failure_notification.report_logs_details" |
||||
|
name="cron_failure_notification.report_logs_details" |
||||
|
menu="True" |
||||
|
/> |
||||
|
</data> |
||||
|
</openerp> |
Loading…
Reference in new issue