Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

103
scheduler_error_mailer/README.rst Executable file
View File

@@ -0,0 +1,103 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
======================
Scheduler Error Mailer
======================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:a8e6bce11d3a37dc2e2cbd48c0cd58bf158ffed0ee83994c75cdb0f5a55541b0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/18.0/scheduler_error_mailer
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-scheduler_error_mailer
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds the possibility to send an e-mail when a scheduler
raises an error.
**Table of contents**
.. contents::
:local:
Configuration
=============
To configure this module, you need to:
1. Go to Settings -> Technical -> Automation -> Scheduled Actions
2. Choose the scheduled Actions you want to send the error email and
select the E-mail Template in the Error E-mail Template field.
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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20scheduler_error_mailer%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* Akretion
* Sodexis
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>
- `Tecnativa <https://www.tecnativa.com>`__:
- Cristina Martin R.
- Víctor Martínez
- `Komit <https://komit-consulting.com>`__:
- Cuong NGUYEN MINH TRAN MANH
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/18.0/scheduler_error_mailer>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models
from .hooks import post_init_hook

View File

@@ -0,0 +1,20 @@
# Copyright 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# Copyright 2016 Sodexis
# Copyright 2018 bloopark systems (<http://bloopark.de>)
# Copyright 2019 Tecnativa - Cristina Martin R.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Scheduler Error Mailer",
"version": "18.0.1.0.0",
"category": "Extra Tools",
"license": "AGPL-3",
"author": "Akretion,Sodexis,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-tools",
"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,
"post_init_hook": "post_init_hook",
}

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo 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><t t-out="object.name or ''"/></em> in the database <em><t t-out="ctx.get('dbname')"/></em> but it failed. Here is the error message :</p>
<strong>
<t t-out="ctx.get('job_exception') 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><t t-out="object.name or ''"/></em> :</p>
<ul>
<li>Model : <t t-out="object.model_id.name or ''"/></li>
<li>Python code : <code><t t-out="object.code or ''"/></code></li>
<li>Interval : <t t-out="object.interval_number or '0'"/> <t t-out="object.interval_type or ''"/></li>
<li>User : <t t-out="object.user_id.name or ''"/></li>
</ul>
<p>
-- <br/>
Automatic e-mail sent by Odoo. Do not reply.<br/>
Database : <t t-out="ctx.get('dbname')"/>
</p>
</div>
]]>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,24 @@
<?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 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="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>
</odoo>

14
scheduler_error_mailer/hooks.py Executable file
View File

@@ -0,0 +1,14 @@
# Copyright 2023 Hunki Enterprises BV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import SUPERUSER_ID, api
def post_init_hook(env):
env = api.Environment(env.cr, SUPERUSER_ID, {})
env["ir.cron"].with_context(active_test=False).search([]).write(
{
"email_template_id": env.ref(
"scheduler_error_mailer.scheduler_error_mailer"
).id
}
)

110
scheduler_error_mailer/i18n/de.po Executable file
View File

@@ -0,0 +1,110 @@
# 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"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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 ""
"Wähle die e-Mail Vorlage welche bei einem Fehler dieses Schedulers gesendet "
"wird."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Task Fehler von UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
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 ""
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FEHLER"
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Fehler e-Mail Vorlage"
#~ msgid "ir.cron"
#~ msgstr "ir.cron"

149
scheduler_error_mailer/i18n/es.po Executable file
View File

@@ -0,0 +1,149 @@
# 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: 2023-09-03 00:15+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
"\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 intentó ejecutar el programador <em><t t-out=\"object.name or ''\"/"
"></em> en la base de datos <em><t t-out=\"ctx.get('dbname')\"/></em> pero "
"falló. Aquí está el mensaje de error:</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') or 'Failed to get the error message from "
"the context.'\"/>\n"
"</strong>\n"
"\n"
"<p>Puedes consultar los registros del servidor Odoo para obtener más "
"información sobre este fallo.</p>\n"
"\n"
"<p>Propiedades del planificador <em><t t-out=\"object.name or ''\"/>:</em>:</"
"p>\n"
"<ul>\n"
"<li>Modelo: <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Código Python: <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Intervalo: <t t-out=\"object.interval_number or '0'\"/><t t-out=\"object."
"interval_type or ''\"/></li>\n"
"<li>Número de llamadas: <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repetición perdida: <t t-out=\"object.doall\"/></li>\n"
"<li>Usuario: <t t-out=\"object.user_id.name or ''\"/></li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Correo electrónico automático enviado por Odoo. No respondas.<br/>\n"
"Base de datos: <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
#. 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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Acciones programadas"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
msgstr "Error de programación"
#. 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
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Error de Tarea con UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Programador de pruebas Error Mailer"
#. 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')}}] Programador '{{object.name or ''}}' FALLÓ"
#~ msgid "Smart Search"
#~ msgstr "Búsqueda inteligente"
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Plantilla de correo electrónico de error"
#~ msgid "ir.cron"
#~ msgstr "ir.cron"

View File

@@ -0,0 +1,219 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-06-09 16:09+0000\n"
"Last-Translator: Ignacio Buioli <ibuioli@gmail.com>\n"
"Language-Team: none\n"
"Language: es_AR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
"\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 trató de ejecutar el planificador <em><t t-out=\"object.name or ''\"/"
"></em> en la base de datos <em><t t-out=\"ctx.get('dbname')\"/></em> pero "
"falló. Acá está el mensaje de error :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') or 'Falló en obtener el mensaje de error "
"del contexto.'\"/>\n"
"</strong>\n"
"\n"
"<p>Puede consultar los registros del servidor Odoo para obtener más "
"información sobre esta falla.</p>\n"
"\n"
"<p>Propiedad del planificador <em><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Modelo : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Código Python : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Intervalo : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Número de ejecuciones : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repetir perdidos : <t t-out=\"object.doall\"/></li>\n"
"<li>Usuario : <t t-out=\"object.user_id.name or ''\"/></li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"Email enviado automáticamente por Odoo. No responder.<br/>\n"
"Base de datos : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
#. 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 del error"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Acciones Automatizadas"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
msgstr "Error del Planificador"
#. 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
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Error de Tarea con UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Probar el Mail de Errores del Planificador"
#. 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')}}] Planificador '{{object.name or ''}}' FALLIDO"
#~ msgid "Smart Search"
#~ msgstr "Búsqueda Inteligente"
#~ 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') 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_id.name or ''}</li>\n"
#~ "<li>Python code : <code>${object.code or ''}</code></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 ""
#~ "\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> en la "
#~ "base de datos <em>${ctx.get('dbname')}</em> pero falló. Acá está el "
#~ "mensaje de error:</p>\n"
#~ "\n"
#~ "<strong>\n"
#~ "${ctx.get('job_exception') or 'No se pudo obtener el mensaje de error del "
#~ "contexto.'}\n"
#~ "</strong>\n"
#~ "\n"
#~ "<p>Puede revisar los registros del servidor de Odoo para obtener más "
#~ "información acerca de este fallo.</p>\n"
#~ "\n"
#~ "<p>Propiedades del planificador <em>${object.name or ''}</em> :</p>\n"
#~ "<ul>\n"
#~ "<li>Modelo : ${object.model_id.name or ''}</li>\n"
#~ "<li>Código de Python : <code>${object.code or ''}</code></li>\n"
#~ "<li>Intervalo : ${object.interval_number or '0'} ${object.interval_type "
#~ "or ''}</li>\n"
#~ "<li>Número de llamados : ${object.numbercall or '0'}</li>\n"
#~ "<li>Repetir perdidos : ${object.doall}</li>\n"
#~ "<li>Usuario : ${object.user_id.name or ''}</li>\n"
#~ "</ul>\n"
#~ "\n"
#~ "<p>\n"
#~ "-- <br/>\n"
#~ "Email enviado automáticamente por Odoo. No responder.<br/>\n"
#~ "Base de datos : ${ctx.get('dbname')}\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " \n"
#~ " "
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr "[DB ${ctx.get('dbname')}] Planificador '${object.name or ''}' FALLÓ"

181
scheduler_error_mailer/i18n/fr.po Executable file
View File

@@ -0,0 +1,181 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-10-20 11:12+0000\n"
"Last-Translator: Yann Papouin <y.papouin@dec-industrie.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3.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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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 "Modèle de-mail derreur"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Actions planifiées"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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 ""
"Sélectionnez le modèle de-mail qui sera envoyé en cas déchec de ce "
"planificateur."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Échec de la tâche avec UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Test du mailer derreur du planificateur"
#. 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 ""
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr ""
#~ "[DB ${ctx.get('dbname')}] Planificateur '${object.name or ''}' ECHEC"
#~ 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 ""
#~ "\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 a essayé dexécuter le planificateur <em>${object.name ou ''}</"
#~ "em> dans la base de données <em>${ctx.get('dbname')}</em> mais cela a "
#~ "échoué. Voici le message derreur :</p>\n"
#~ "\n"
#~ "<strong>\n"
#~ "${ctx.get('job_exception') et ctx.get('job_exception').value ou "
#~ "'Impossible dobtenir le message derreur du contexte.'}\n"
#~ "</strong>\n"
#~ "\n"
#~ "<p>Vous pouvez consulter les journaux du serveur Odoo pour obtenir plus "
#~ "dinformations sur cette défaillance.</p>\n"
#~ "\n"
#~ "<p>Propriétés du planificateur <em>${object.name ou ''}</em> :</p>\n"
#~ "<ul>\n"
#~ "<li>Modèle : ${object.model ou ''}</li>\n"
#~ "<li>Méthode : ${object.function ou ''}</li>\n"
#~ "<li>Arguments : ${object.args ou ''}</li>\n"
#~ "<li>Intervalle : ${object.interval_number ou '0'} ${object.interval_type "
#~ "ou ''}</li>\n"
#~ "<li>Nombre dappels : ${object.numbercall ou '0'}</li>\n"
#~ "<li>Recommencer les manqués : ${object.doall}</li>\n"
#~ "<li>Utilisateur : ${object.user_id.name ou ''}</li>\n"
#~ "</ul>\n"
#~ "\n"
#~ "<p>\n"
#~ "-- <br/>\n"
#~ "E-mail automatique envoyé par Odoo. Ne pas répondre.<br/>\n"
#~ "Base de données : ${ctx.get('dbname')}\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " \n"
#~ " "

102
scheduler_error_mailer/i18n/hr.po Executable file
View File

@@ -0,0 +1,102 @@
# 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"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
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 ""
#~ msgid "ir.cron"
#~ msgstr "ir.cron"

128
scheduler_error_mailer/i18n/it.po Executable file
View File

@@ -0,0 +1,128 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-02-06 16:37+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\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><t t-out=\"object.name or ''\"/></em> in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out=\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
"\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 ha tentato di eseguire lo schedulatore <em><t t-out=\"object.name or "
"''\"/></em> nel database <em><t t-out=\"ctx.get('dbname')\"/></em> ma ha "
"fallito. Questo è il messaggio di errore :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') or 'Errore nel recuperare il messaggio "
"di errore dal contesto.'\"/>\n"
"</strong>\n"
"\n"
"<p>Per avere ulteiori informazioni su questo errore controllare i log del "
"server Odoo.</p>\n"
"\n"
"<p>Propietà dello schedulatore <em><t t-out=\"object.name or ''\"/></em> "
":</p>\n"
"<ul>\n"
"<li>Modello : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Codice Python : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Intervallo : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Numero di chiamate : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Ripetizione mancata : <t t-out=\"object.doall\"/></li>\n"
"<li>Utente : <t t-out=\"object.user_id.name or ''\"/></li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"E-mail automatica inviata da Odoo. Non rispondere.<br/>\n"
"Database : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
#. 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 "Modello dell'e-mail di errore"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Azioni pianificate"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
msgstr "Errore schedulatore"
#. 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 ""
"Selezionale il modello di e-mail che sarà inviato quando lo schedulatore va "
"in errore."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Errore lavoro con UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Test messaggi errore scedulatore"
#. 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')}}] Schedulatore '{{object.name or ''}}' FALLITO"

View File

@@ -0,0 +1,97 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-08-14 12:44+0000\n"
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
"Language-Team: none\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.7.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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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 do E-mail de Erro"
#. module: scheduler_error_mailer
#: model:ir.model,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Ações Agendadas"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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 ""
"Selecione o modelo de email que será enviado quando este agendador falhar."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Falha na tarefa com UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Testar o Envio de E-mails de Erro do Agendador"
#. 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 ""

View File

@@ -0,0 +1,187 @@
# 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: 2019-09-03 01:23+0000\n"
"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.8\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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "Ações Agendadas"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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 ""
"Selecione o modelo de email que será enviado quando o agendador falhar."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Tarefa falhou com UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
msgstr "Teste Agendado de Erro do Remetente"
#. 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 ""
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr "[DB ${ctx.get('dbname')}] Agendador '${object.name or ''}' FALHOU"
#~ 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 ""
#~ "\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 tentou executar o agendador<em>${object.name ou ''}</em>no banco "
#~ "de dados<em>${ctx.get ('dbname')}</em>, mas falhou. Aqui está a mensagem "
#~ "de erro:</p>\n"
#~ "\n"
#~ "<strong>\n"
#~ "${ctx.get ('job_exception') e ctx.get ('job_exception'). value ou 'Falha "
#~ "ao obter a mensagem de erro do contexto.'}\n"
#~ "</strong>\n"
#~ "\n"
#~ "<p>Você pode verificar os logs do servidor Odoo para obter mais "
#~ "informações sobre esta falha.</p>\n"
#~ "\n"
#~ "<p>Propriedades do planejador<em>${object.name ou''}</em>:</p>\n"
#~ "<ul>\n"
#~ "<li>Modelo: ${object.model ou ''}</li>\n"
#~ "<li> Método: ${object.function ou ''}</li>\n"
#~ "<li> Argumentos: ${object.args ou ''}</li>\n"
#~ "<li> Intervalo: ${object.interval_number ou '0'} ${object.interval_type "
#~ "ou ''}</li>\n"
#~ "<li> Número de chamadas: ${object.numbercall ou '0'}</li>\n"
#~ "<li> Repetição perdida: ${object.doall}</li>\n"
#~ "<li> Usuário: ${object.user_id.name ou ''}</li>\n"
#~ "</ul>\n"
#~ "\n"
#~ "<p>\n"
#~ "--<br/>\n"
#~ "Email automático enviado pelo Odoo. Não responda. <br/>\n"
#~ "Banco de Dados: ${ctx.get ('dbname')}\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " \n"
#~ " "
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Modelo de Erro de E-mail"

View File

@@ -0,0 +1,91 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * scheduler_error_mailer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: scheduler_error_mailer
#: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer
msgid ""
"<div style=\"font-family: 'Lucida Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \" data-o-mail-quote-container=\"1\">\n"
"\n"
"<p>Odoo tried to run the scheduler <em><t t-out=\"object.name or ''\"/></em> in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out=\"object.interval_type or ''\"/></li>\n"
"<li>User : <t t-out=\"object.user_id.name or ''\"/></li>\n"
"</ul>\n"
"\n"
"<p data-o-mail-quote=\"1\">\n"
"-- <br data-o-mail-quote=\"1\"/>\n"
"Automatic e-mail sent by Odoo. Do not reply.<br data-o-mail-quote=\"1\"/>\n"
"Database : <t t-out=\"ctx.get('dbname')\" data-o-mail-quote=\"1\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron__assigned_attachment_ids
msgid "Assigned Attachments"
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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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
#: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron__smart_search
msgid "Smart Search"
msgstr ""
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
msgid "Task failure with UID = %(uid)d."
msgstr ""
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
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 ""

107
scheduler_error_mailer/i18n/sl.po Executable file
View File

@@ -0,0 +1,107 @@
# 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"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr ""
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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 "Izberite predlogo za razpošiljanje ob napakah razporejevalca."
#. module: scheduler_error_mailer
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "Napaka pri opravilu UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
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 ""
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr ""
#~ "[DB ${ctx.get('dbname')}] Razporejevalec '${object.name or ''}' NEUSPEŠEN"
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Predloga obvestila o napaki"

View File

@@ -0,0 +1,218 @@
# 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: 2024-06-16 11:08+0000\n"
"Last-Translator: xtanuiha <feihu.zhang@live.com>\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.17\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><t t-out=\"object.name or ''\"/></em> "
"in the database <em><t t-out=\"ctx.get('dbname')\"/></em> but it failed. "
"Here is the error message :</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') 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><t t-out=\"object.name or ''\"/></em> :</"
"p>\n"
"<ul>\n"
"<li>Model : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python code : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>Interval : <t t-out=\"object.interval_number or '0'\"/> <t t-out="
"\"object.interval_type or ''\"/></li>\n"
"<li>Number of calls : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>Repeat missed : <t t-out=\"object.doall\"/></li>\n"
"<li>User : <t t-out=\"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 : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
msgstr ""
"\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 尝试在数据库 <em><t t-out=\"ctx.get('dbname')\"/></em> "
"中运行计划任务 <em><t t-out=\"object.name or ''\""
"/></em>,但运行失败。以下是错误信息:</p>\n"
"\n"
"<strong>\n"
"<t t-out=\"ctx.get('job_exception') or '未能从上下文中获取错误消息。'\"/>\n"
"</strong>\n"
"\n"
"<p>您可以通过查看Odoo服务器的日志来获取更多关于此失败的信息。</p>\n"
"\n"
"<p>计划任务 <em><t t-out=\"object.name or ''\"/></em> 的属性如下:</p>\n"
"<ul>\n"
"<li>模型 : <t t-out=\"object.model_id.name or ''\"/></li>\n"
"<li>Python 代码 : <code><t t-out=\"object.code or ''\"/></code></li>\n"
"<li>间隔 : <t t-out=\"object.interval_number or '0'\"/> <t t-out=\"object."
"interval_type or ''\"/></li>\n"
"<li>调用次数 : <t t-out=\"object.numbercall or '0'\"/></li>\n"
"<li>重复遗漏 : <t t-out=\"object.doall\"/></li>\n"
"<li>用户 : <t t-out=\"object.user_id.name or ''\"/></li>\n"
"</ul>\n"
"\n"
"<p>\n"
"-- <br/>\n"
"此邮件由Odoo自动发送请勿回复。<br/>\n"
"数据库 : <t t-out=\"ctx.get('dbname')\"/>\n"
"</p>\n"
"</div>\n"
" \n"
" "
#. 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,name:scheduler_error_mailer.model_ir_cron
msgid "Scheduled Actions"
msgstr "安排的动作"
#. module: scheduler_error_mailer
#: model:mail.template,name:scheduler_error_mailer.scheduler_error_mailer
msgid "Scheduler Error"
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
#. odoo-python
#: code:addons/scheduler_error_mailer/models/ir_cron.py:0
#, python-format
msgid "Task failure with UID = %d."
msgstr "任务失败 UID = %d."
#. module: scheduler_error_mailer
#: model:ir.actions.server,name:scheduler_error_mailer.test_scheduler_error_mailer_ir_actions_server
msgid "Test Scheduler Error Mailer"
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 "[数据库 {{ctx.get('dbname')}}] 计划任务 '{{object.name or ''}}' 执行失败"
#~ msgid "[DB ${ctx.get('dbname')}] Scheduler '${object.name or ''}' FAILED"
#~ msgstr "[DB ${ctx.get('dbname')}] 调度'${object.name or ''}' 失败"
#~ 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 ""
#~ "\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试图运行调度程序 <em>${object.name or ''}</em> 在数据库中 <em>"
#~ "${ctx.get('dbname')}</em> 但它失败了。这是错误消息 :</p>\n"
#~ "\n"
#~ "<strong>\n"
#~ "${ctx.get('job_exception') and ctx.get('job_exception').value or '无法从上"
#~ "下文中获取错误消息.'}\n"
#~ "</strong>\n"
#~ "\n"
#~ "<p>您可以检查Odoo服务器的日志以获取有关此故障的更多信息.</p>\n"
#~ "\n"
#~ "<p>调度程序的属性 <em>${object.name or ''}</em> :</p>\n"
#~ "<ul>\n"
#~ "<li>模型: ${object.model or ''}</li>\n"
#~ "<li>方法 : ${object.function or ''}</li>\n"
#~ "<li>参数: ${object.args or ''}</li>\n"
#~ "<li>间隔: ${object.interval_number or '0'} ${object.interval_type or ''}</"
#~ "li>\n"
#~ "<li>通话次数: ${object.numbercall or '0'}</li>\n"
#~ "<li>重复错过了: ${object.doall}</li>\n"
#~ "<li>用户: ${object.user_id.name or ''}</li>\n"
#~ "</ul>\n"
#~ "\n"
#~ "<p>\n"
#~ "-- <br/>\n"
#~ "Odoo发送的自动电子邮件。请勿回复。<br/>\n"
#~ "数据库: ${ctx.get('dbname')}\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " \n"
#~ " "
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "错误E-mail 模板"

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,38 @@
# Copyright 2025 360ERP (<https://www.360erp.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
from lxml import etree
from odoo import SUPERUSER_ID, api
from odoo.tools.convert import xml_import
from odoo.tools.misc import file_path
def migrate(cr, version):
"""Reset email template because the previous version won't work in 18.0"""
logger = logging.getLogger("odoo.addons.scheduler_error_mailer.migrations")
env = api.Environment(cr, SUPERUSER_ID, {})
external_id = "scheduler_error_mailer.scheduler_error_mailer"
template = env.ref(external_id)
# Using a snippet from template.reset.mixin's reset_template but only update body
expr = "//*[local-name() = $tag and (@id = $xml_id or @id = $external_id)]"
lang_false = {
code: False for code, _ in env["res.lang"].get_installed() if code != "en_US"
}
module, xml_id = external_id.split(".")
fullpath = file_path("scheduler_error_mailer/data/ir_cron_email_tpl.xml")
template.update_field_translations("body_html", lang_false)
doc = etree.parse(fullpath)
for rec in doc.xpath(expr, tag="record", xml_id=xml_id, external_id=external_id):
for node in rec.findall("field"):
if node.attrib["name"] != "body_html":
rec.remove(node)
obj = xml_import(template.env, module, {}, mode="init", xml_filename=fullpath)
obj._tag_record(rec)
template._override_translation_term(module, [xml_id, external_id])
logger.info(
"Scheduler Error email template body was reset due to data model changes"
)

View File

@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import ir_cron

View File

@@ -0,0 +1,53 @@
# Copyright 2012-2013 Akretion Sébastien BEAU,David Beal,Alexis de Lattre
# Copyright 2016 Sodexis
# Copyright 2018 bloopark systems (<http://bloopark.de>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
from odoo import api, fields, models
from odoo.exceptions import UserError
_logger = logging.getLogger(__name__)
class IrCron(models.Model):
_inherit = "ir.cron"
email_template_id = fields.Many2one(
comodel_name="mail.template",
domain=[("model_id.model", "=", "ir.cron")],
string="Error E-mail Template",
help="Select the email template that will be sent when "
"this scheduler fails.",
default=lambda self: self.env.ref(
"scheduler_error_mailer.scheduler_error_mailer", False
),
)
def _handle_callback_exception(self, cron_name, server_action_id, job_exception):
self.ensure_one()
if self.email_template_id:
# we put the job_exception in context to be able to print it inside
# the email template
context = {"job_exception": str(job_exception), "dbname": self._cr.dbname}
_logger.debug("Sending scheduler error email with context=%s", context)
template = self.email_template_id.with_context(**context).sudo()
template.send_mail(self.id, force_send=True)
@api.model
def _test_scheduler_failure(self):
"""This function is used to test and debug this module."""
raise UserError(self.env._("Task failure with UID = %(uid)d.", uid=self._uid))
@api.model
def _callback(self, cron_name, server_action_id):
try:
return super()._callback(cron_name, server_action_id)
except Exception as e:
self._handle_callback_exception(cron_name, server_action_id, e)
# Re-raise the original job exception
raise

View File

@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View File

@@ -0,0 +1,5 @@
To configure this module, you need to:
1. Go to Settings -\> Technical -\> Automation -\> Scheduled Actions
2. Choose the scheduled Actions you want to send the error email and
select the E-mail Template in the Error E-mail Template field.

View File

@@ -0,0 +1,10 @@
- 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>\>
- [Tecnativa](https://www.tecnativa.com):
- Cristina Martin R.
- Víctor Martínez
- [Komit](https://komit-consulting.com):
- Cuong NGUYEN MINH TRAN MANH

View File

@@ -0,0 +1,2 @@
This module adds the possibility to send an e-mail when a scheduler
raises an error.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,454 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="scheduler-error-mailer">
<h1>Scheduler Error Mailer</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:a8e6bce11d3a37dc2e2cbd48c0cd58bf158ffed0ee83994c75cdb0f5a55541b0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-tools/tree/18.0/scheduler_error_mailer"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-scheduler_error_mailer"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-tools&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module adds the possibility to send an e-mail when a scheduler
raises an error.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
<p>To configure this module, you need to:</p>
<ol class="arabic simple">
<li>Go to Settings -&gt; Technical -&gt; Automation -&gt; Scheduled Actions</li>
<li>Choose the scheduled Actions you want to send the error email and
select the E-mail Template in the Error E-mail Template field.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20scheduler_error_mailer%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-3">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-4">Authors</a></h3>
<ul class="simple">
<li>Akretion</li>
<li>Sodexis</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-5">Contributors</a></h3>
<ul class="simple">
<li>Sébastien BEAU &lt;<a class="reference external" href="mailto:sebastien.beau&#64;akretion.com">sebastien.beau&#64;akretion.com</a>&gt;</li>
<li>David Beal &lt;<a class="reference external" href="mailto:bealdavid&#64;gmail.com">bealdavid&#64;gmail.com</a>&gt;</li>
<li>Alexis de Lattre &lt;<a class="reference external" href="mailto:alexis.delattre&#64;akretion.com">alexis.delattre&#64;akretion.com</a>&gt;</li>
<li>Sodexis &lt;<a class="reference external" href="mailto:dev&#64;sodexis.com">dev&#64;sodexis.com</a>&gt;</li>
<li>Achraf Mhadhbi &lt;<a class="reference external" href="mailto:machraf&#64;bloopark.de">machraf&#64;bloopark.de</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Cristina Martin R.</li>
<li>Víctor Martínez</li>
</ul>
</li>
<li><a class="reference external" href="https://komit-consulting.com">Komit</a>:<ul>
<li>Cuong NGUYEN MINH TRAN MANH</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/18.0/scheduler_error_mailer">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1 @@
from . import test_scheduler_error_mailer

View File

@@ -0,0 +1,32 @@
# Copyright 2023 Hunki Enterprises BV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from unittest.mock import patch
from odoo.addons.base.tests.common import BaseCommon
from odoo.addons.scheduler_error_mailer.hooks import post_init_hook
class TestSchedulerErrorMailer(BaseCommon):
def setUp(self):
super().setUp()
self.cron = self.env.ref("scheduler_error_mailer.test_scheduler_error_mailer")
def test_error_cron(self):
with (
self.assertLogs(
"odoo.addons.scheduler_error_mailer.models.ir_cron", "DEBUG"
),
patch.object(self.env.cr, "rollback"),
):
self.cron._handle_callback_exception(
self.cron.name,
self.cron.ir_actions_server_id.id,
Exception("hello world"),
)
def test_init_hook(self):
post_init_hook(self.env)
self.assertFalse(
self.env["ir.cron"].search([("email_template_id", "=", False)])
)

View File

@@ -0,0 +1,20 @@
<?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="priority" position="after">
<field name="email_template_id" />
</field>
</field>
</record>
</odoo>