Browse Source

Merge pull request #1297 from AMhadhbi/11.0-mig-scheduler_error_mailer

11.0 mig scheduler error mailer
pull/1347/head
Pedro M. Baeza 6 years ago
committed by GitHub
parent
commit
feefc73d3b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 68
      scheduler_error_mailer/README.rst
  2. 6
      scheduler_error_mailer/__init__.py
  3. 21
      scheduler_error_mailer/__manifest__.py
  4. 48
      scheduler_error_mailer/data/ir_cron_email_tpl.xml
  5. 29
      scheduler_error_mailer/demo/ir_cron_demo.xml
  6. 83
      scheduler_error_mailer/i18n/de.po
  7. 84
      scheduler_error_mailer/i18n/es.po
  8. 81
      scheduler_error_mailer/i18n/hr.po
  9. 82
      scheduler_error_mailer/i18n/pt_BR.po
  10. 82
      scheduler_error_mailer/i18n/sl.po
  11. 81
      scheduler_error_mailer/i18n/zh_CN.po
  12. BIN
      scheduler_error_mailer/images/scheduler_error_mailer.jpg
  13. 6
      scheduler_error_mailer/models/__init__.py
  14. 55
      scheduler_error_mailer/models/ir_cron.py
  15. BIN
      scheduler_error_mailer/static/description/icon.png
  16. 23
      scheduler_error_mailer/views/ir_cron.xml

68
scheduler_error_mailer/README.rst

@ -0,0 +1,68 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
======================
Scheduler Error Mailer
======================
This module adds the possibility to send an e-mail when a scheduler raises
an error.
Configuration
=============
To configure this module, you need to:
#. Go to Settings -> Technical -> Automation -> Scheduled Actions
#. Choose the scheduled Actions you want to send the error email and select the E-mail Template in the Error E-mail Template field.
Usage
=====
To use this module, you need to:
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/149/11.0
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smashing it by providing a detailed and welcomed feedback.
Credits
=======
Images
------
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Sébastien BEAU <sebastien.beau@akretion.com>
* David Beal <bealdavid@gmail.com>
* Alexis de Lattre <alexis.delattre@akretion.com>
* Sodexis <dev@sodexis.com>
* Achraf Mhadhbi <machraf@bloopark.de>
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit https://odoo-community.org.

6
scheduler_error_mailer/__init__.py

@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# © 2016 Sodexis
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models

21
scheduler_error_mailer/__manifest__.py

@ -0,0 +1,21 @@
# © 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# © 2016 Sodexis
# © 2018 bloopark systems (<http://bloopark.de>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Scheduler Error Mailer',
'version': '10.0.1.0.0',
'category': 'Extra Tools',
'license': 'AGPL-3',
'author': "Akretion,Sodexis,Odoo Community Association (OCA)",
'website': 'http://www.akretion.com/',
'depends': ['mail'],
'data': [
'data/ir_cron_email_tpl.xml',
'views/ir_cron.xml',
],
'demo': ['demo/ir_cron_demo.xml'],
'images': ['images/scheduler_error_mailer.jpg'],
'installable': True,
}

48
scheduler_error_mailer/data/ir_cron_email_tpl.xml

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<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 or ''}</field>
<field name="email_to">${object.user_id.email or ''}</field>
<field name="subject">[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED</field>
<field name="model_id" ref="base.model_ir_cron"/>
<field name="auto_delete" eval="True"/>
<field name="body_html">
<![CDATA[
<div style="font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; ">
<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>
<strong>
${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}
</strong>
<p>You may check the logs of the Odoo server to get more information about this failure.</p>
<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>
<ul>
<li>Model : ${object.model or ''}</li>
<li>Method : ${object.function or ''}</li>
<li>Arguments : ${object.args or ''}</li>
<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>
<li>Number of calls : ${object.numbercall or '0'}</li>
<li>Repeat missed : ${object.doall}</li>
<li>User : ${object.user_id.name or ''}</li>
</ul>
<p>
-- <br/>
Automatic e-mail sent by Odoo. Do not reply.<br/>
Database : ${ctx.get('dbname')}
</p>
</div>
]]>
</field>
</record>
</data>
</odoo>

29
scheduler_error_mailer/demo/ir_cron_demo.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
scheduler_error_mailer for Odoo
Copyright (C) 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
Copyright (C) 2016 Sodexis
Copyright (C) 2018 bloopark systems (<http://bloopark.de>)
The licence is in the file __openerp__.py
-->
<odoo>
<data noupdate="1">
<record id="test_scheduler_error_mailer" model="ir.cron">
<field name="name">Test Scheduler Error Mailer</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_id" ref="model_ir_cron"/>
<field name="state">code</field>
<field name="code">model._test_scheduler_failure()</field>
<field name="email_template_id" ref="scheduler_error_mailer.scheduler_error_mailer"/>
</record>
</data>
</odoo>

83
scheduler_error_mailer/i18n/de.po

@ -0,0 +1,83 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# Niki Waibel <niki.waibel@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-08 03:37+0000\n"
"PO-Revision-Date: 2017-02-08 03:37+0000\n"
"Last-Translator: Niki Waibel <niki.waibel@gmail.com>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr "Fehler e-Mail Vorlage"
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr ""
"Wähle die e-Mail Vorlage welche bei einem Fehler dieses Schedulers gesendet "
"wird."
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr "Task Fehler von UID = %d."
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FEHLER"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr "ir.cron"

84
scheduler_error_mailer/i18n/es.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Fernando Lara <gennesis45@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-22 00:55+0000\n"
"PO-Revision-Date: 2017-02-22 00:55+0000\n"
"Last-Translator: Fernando Lara <gennesis45@gmail.com>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr "Plantilla de correo electrónico de error"
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr ""
"Seleccione la plantilla de correo electrónico que se enviará cuando falla "
"este planificador."
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr "Error de Tarea con UID = %d."
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr "ir.cron"

81
scheduler_error_mailer/i18n/hr.po

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# Bole <bole@dajmi5.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-02 18:41+0000\n"
"PO-Revision-Date: 2018-03-02 18:41+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2018\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr ""
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr "ir.cron"

82
scheduler_error_mailer/i18n/pt_BR.po

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-06 02:49+0000\n"
"PO-Revision-Date: 2016-08-06 02:49+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr "Modelo de Erro de E-mail"
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr ""
"Selecione o modelo de email que será enviado quando o agendador falhar."
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr "Tarefa falhou com UID = %d."
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr "[DB ${ctx.get('dbname')}] Agendador '${object.name or ''}' FALHOU"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr ""

82
scheduler_error_mailer/i18n/sl.po

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-06 02:49+0000\n"
"PO-Revision-Date: 2016-08-06 02:49+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr "Predloga obvestila o napaki"
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr "Izberite predlogo za razpošiljanje ob napakah razporejevalca."
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr "Napaka pri opravilu UID = %d."
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr ""
"[DB ${ctx.get('dbname')}] Razporejevalec '${object.name or ''}' NEUSPEŠEN"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr ""

81
scheduler_error_mailer/i18n/zh_CN.po

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
# Translators:
# Jeffery Chenn <jeffery9@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-31 11:58+0000\n"
"PO-Revision-Date: 2016-08-31 11:58+0000\n"
"Last-Translator: Jeffery Chenn <jeffery9@gmail.com>, 2016\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"\n"
" \n"
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
"\n"
"<p>Odoo tried to run the scheduler <em>${object.name or ''}</em> in the database <em>${ctx.get('dbname')}</em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"${ctx.get('job_exception') and ctx.get('job_exception').value or 'Failed to get the error message from the context.'}\n"
"</strong>\n"
"\n"
"<p>You may check the logs of the Odoo server to get more information about this failure.</p>\n"
"\n"
"<p>Properties of the scheduler <em>${object.name or ''}</em> :</p>\n"
"<ul>\n"
"<li>Model : ${object.model or ''}</li>\n"
"<li>Method : ${object.function or ''}</li>\n"
"<li>Arguments : ${object.args or ''}</li>\n"
"<li>Interval : ${object.interval_number or '0'} ${object.interval_type or ''}</li>\n"
"<li>Number of calls : ${object.numbercall or '0'}</li>\n"
"<li>Repeat missed : ${object.doall}</li>\n"
"<li>User : ${object.user_id.name or ''}</li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br/>\n"
"Database : ${ctx.get('dbname')}\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Error E-mail Template"
msgstr "错误E-mail 模板"
#. module: scheduler_error_mailer
#: model:ir.model.fields,help:scheduler_error_mailer.field_ir_cron_email_template_id
msgid "Select the email template that will be sent when this scheduler fails."
msgstr ""
#. module: scheduler_error_mailer
#: code:addons/scheduler_error_mailer/models/ir_cron.py:55
#, python-format
msgid "Task failure with UID = %d."
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,subject:scheduler_error_mailer.scheduler_error_mailer
msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "ir.cron"
msgstr ""

BIN
scheduler_error_mailer/images/scheduler_error_mailer.jpg

After

Width: 900  |  Height: 364  |  Size: 29 KiB

6
scheduler_error_mailer/models/__init__.py

@ -0,0 +1,6 @@
# © 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# © 2016 Sodexis
# © 2018 bloopark systems (<http://bloopark.de>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import ir_cron

55
scheduler_error_mailer/models/ir_cron.py

@ -0,0 +1,55 @@
# © 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# © 2016 Sodexis
# © 2018 bloopark systems (<http://bloopark.de>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import _, api, fields, models
from odoo.exceptions import UserError
import logging
_logger = logging.getLogger(__name__)
class IrCron(models.Model):
_inherit = "ir.cron"
email_template_id = fields.Many2one(
comodel_name="mail.template",
string="Error E-mail Template",
help="Select the email template that will be sent when "
"this scheduler fails."
)
@api.model
def _handle_callback_exception(self, cron_name, server_action_id, job_id,
job_exception):
res = super(IrCron, self)._handle_callback_exception(cron_name,
server_action_id,
job_id,
job_exception)
my_cron = self.browse(job_id)
if my_cron.email_template_id:
# we put the job_exception in context to be able to print it inside
# the email template
context = {
'job_exception': job_exception,
'dbname': self._cr.dbname,
}
_logger.debug(
"Sending scheduler error email with context=%s", context)
self.env['mail.template'].browse(
my_cron.email_template_id.id
).with_context(context).sudo().send_mail(
my_cron.id, force_send=True)
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)

BIN
scheduler_error_mailer/static/description/icon.png

After

Width: 64  |  Height: 64  |  Size: 4.9 KiB

23
scheduler_error_mailer/views/ir_cron.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
scheduler_error_mailer for Odoo
Copyright (C) 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
Copyright (C) 2016 Sodexis
Copyright (C) 2018 bloopark systems (<http://bloopark.de>)
The licence is in the file __openerp__.py
-->
<odoo>
<record id="ir_cron_view" model="ir.ui.view">
<field name="name">ir.cron.error.mailer.form</field>
<field name="model">ir.cron</field>
<field name="inherit_id" ref="base.ir_cron_view_form"/>
<field name="arch" type="xml">
<field name="doall" position="after">
<field name="email_template_id"/>
</field>
</field>
</record>
</odoo>
Loading…
Cancel
Save