Browse Source

Merge pull request #809 from Eficent/9.0-mig-fetchmail_notify_error_to_sender

[9.0][MIG] fetchmail_notify_error_to_sender
pull/918/head
Daniel Reis 8 years ago
committed by GitHub
parent
commit
26e27db888
  1. 47
      fetchmail_notify_error_to_sender/README.rst
  2. 24
      fetchmail_notify_error_to_sender/__init__.py
  3. 35
      fetchmail_notify_error_to_sender/__openerp__.py
  4. 3
      fetchmail_notify_error_to_sender/data/email_template_data.xml
  5. 30
      fetchmail_notify_error_to_sender/fetchmail.py
  6. 61
      fetchmail_notify_error_to_sender/i18n/de.po
  7. 90
      fetchmail_notify_error_to_sender/i18n/es.po
  8. 91
      fetchmail_notify_error_to_sender/i18n/fr.po
  9. 69
      fetchmail_notify_error_to_sender/i18n/it.po
  10. 4
      fetchmail_notify_error_to_sender/i18n/pt_BR.po
  11. 60
      fetchmail_notify_error_to_sender/i18n/pt_PT.po
  12. 4
      fetchmail_notify_error_to_sender/i18n/sl.po
  13. 61
      fetchmail_notify_error_to_sender/i18n/tr.po
  14. 75
      fetchmail_notify_error_to_sender/mail_thread.py
  15. 6
      fetchmail_notify_error_to_sender/models/__init__.py
  16. 15
      fetchmail_notify_error_to_sender/models/fetchmail.py
  17. 53
      fetchmail_notify_error_to_sender/models/mail_thread.py
  18. 9
      fetchmail_notify_error_to_sender/views/fetchmail_view.xml

47
fetchmail_notify_error_to_sender/README.rst

@ -1,38 +1,63 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg .. 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 :alt: License: AGPL-3
===============================
Send notice on fetchmail errors Send notice on fetchmail errors
=============================== ===============================
If fetchmail is not able to correctly route an email, the email is "silently" lost (you get an error message in server log).
For example, if you configure odoo mail system to route received emails according to recipient address, it may happen users send emails to wrong email address.
If fetchmail is not able to correctly route an email, the email is
"silently" lost (you get an error message in server log).
For example, if you configure odoo mail system to route received emails
according to recipient address, it may happen users send emails to wrong
email address.
This module allows to automatically send a notification email to sender, when odoo can't correctly process the received email.
This module extends the functionality of fetchmail to allow you to
automatically send a notification email to sender, when odoo can't
correctly process the received email.
Configuration Configuration
============= =============
Configure your fetchmail server setting 'Error notice template' = 'Fetchmail - error notice'.
You can edit the 'Fetchmail - error notice' email template according to your needs.
To configure this module, you need to:
#. Configure your fetchmail server setting 'Error notice template' = 'Fetchmail - error notice'.
#. You can edit the 'Fetchmail - error notice' email template according to your needs.
.. figure:: path/to/local/image.png
:alt: alternative description
:width: 600 px
Usage
=====
.. 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/9.0
Bug Tracker 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
`here <https://github.com/OCA/server-tools/issues/new?body=module:%20fetchmail_notify_error_to_sender%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
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 smash it by providing detailed and welcomed feedback.
Credits Credits
======= =======
Images
------
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors Contributors
------------ ------------
* Lorenzo Battistini <lorenzo.battistini@agilebg.com> * Lorenzo Battistini <lorenzo.battistini@agilebg.com>
* Miquel Raïch <miquel.raich@eficent.com> (migration to v9)
Maintainer Maintainer
---------- ----------
@ -47,4 +72,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.
To contribute to this module, please visit https://odoo-community.org.

24
fetchmail_notify_error_to_sender/__init__.py

@ -1,22 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# Copyright 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
# Copyright 2017 Eficent <http://www.eficent.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import mail_thread
from . import fetchmail
from . import models

35
fetchmail_notify_error_to_sender/__openerp__.py

@ -1,40 +1,25 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# Copyright 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
# Copyright 2017 Eficent <http://www.eficent.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ {
'name': 'Send notice on fetchmail errors', 'name': 'Send notice on fetchmail errors',
'summary': 'If fetching mails gives error, send an email to sender', 'summary': 'If fetching mails gives error, send an email to sender',
'version': '8.0.1.0.0',
'version': '9.0.1.0.0',
'category': 'Tools', 'category': 'Tools',
'author': "Agile Business Group,Odoo Community Association (OCA)",
'website': 'http://www.agilebg.com',
'author': "Agile Business Group,Eficent,Odoo Community Association (OCA)",
'website': 'https://github.com/OCA/server-tools',
'license': 'AGPL-3', 'license': 'AGPL-3',
'depends': [ 'depends': [
'fetchmail', 'fetchmail',
], ],
'data': [ 'data': [
'fetchmail_view.xml',
'email_template_data.xml',
'views/fetchmail_view.xml',
'data/email_template_data.xml',
], ],
'qweb': [ 'qweb': [
], ],
'installable': False,
'auto_install': False,
'installable': True,
'application': False,
} }

3
fetchmail_notify_error_to_sender/email_template_data.xml → fetchmail_notify_error_to_sender/data/email_template_data.xml

@ -1,9 +1,8 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<openerp> <openerp>
<data noupdate="1"> <data noupdate="1">
<!--Email template --> <!--Email template -->
<record id="email_template_error_notice" model="email.template">
<record id="email_template_error_notice" model="mail.template">
<field name="name">Fetchmail - error notice</field> <field name="name">Fetchmail - error notice</field>
<field name="email_from">${ctx.get('sender_message').get('to')|safe}</field> <field name="email_from">${ctx.get('sender_message').get('to')|safe}</field>
<field name="email_to">${ctx.get('sender_message').get('from')|safe}</field> <field name="email_to">${ctx.get('sender_message').get('from')|safe}</field>

30
fetchmail_notify_error_to_sender/fetchmail.py

@ -1,30 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models, fields
class fetchmail_server(models.Model):
_inherit = 'fetchmail.server'
error_notice_template_id = fields.Many2one(
'email.template', string="Error notice template",
help="Set here the template to use to send notice to sender when "
"errors occur while fetching email")

61
fetchmail_notify_error_to_sender/i18n/de.po

@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
# Rudolf Schnapka <rs@techno-flex.de>, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-19 14:44+0000\n"
"PO-Revision-Date: 2016-01-18 14:02+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr "\n<div>\n <p>Hallo ${ctx.get('sender_message').get('from')},</p>\n <p>wir haben ein Problem mit Ihrer Email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n <p>Vielleicht haben Sie nur die falsche Empfängeradresse angegeben?</p>\n <p><br/></p>\n <p>Technische Details:</p>\n <p><i>${ctx.get('route_exception').message}</i></p>\n</div>\n "
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Email-Thread"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr "Fehlerhinweis-Vorlage"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "POP/IMAP Server"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Erhalte Fehler mit: ${ctx.get('sender_message').get('subject')|safe}"
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr "Legen Sie hier die Vorlage fest, die verwendet werden soll, um Hinweise an Benutzer zu senden, wenn Fehler beim Nachrichten Abholen auftreten."

90
fetchmail_notify_error_to_sender/i18n/es.po

@ -0,0 +1,90 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016
# Antonio Trueba, 2016
# Antonio Trueba, 2016
# bossnm11 <bossnm11@gmail.com>, 2014
# Carles Antoli <carlesantoli@hotmail.com>, 2015
# Chanseok <kcsgoodboy@gmail.com>, 2014
# Chul Park <parkchul@nate.com>, 2015
# David10000 <gameness@naver.com>, 2014
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012-2013
# Gil <gedwarp@gmail.com>, 2014
# Hongseob Lee <shevious@gmail.com>, 2015
# Hongseob Lee <shevreg@yahoo.com>, 2015
# Hotellook, 2014
# jeon <bluerespect@nate.com>, 2014
# JiyeonLee <leejiyeon00@gmail.com>, 2014
# Jong-Dae Park <jdpark7@gmail.com>, 2013
# Kevin Min <gr326887@graded.br>, 2015
# KimKyudong <choemh@nate.com>, 2014
# mariana1201 <gogo3135@naver.com>, 2014
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Nicole <dlruddk1112@gmail.com>, 2014
# Paolo Valier, 2016
# Pope, 2014
# Rudolf Schnapka <rs@techno-flex.de>, 2016
# Sarina Canelake <sarina@edx.org>, 2014
# Seok Jun Yoon <fake2real@dctribe.com>, 2015
# shin2012 <shin2013@gmail.com>, 2014
# Sujin Lee <sujinlee.me@gmail.com>, 2014
# Sunah Lim <whitetree70@snu.ac.kr>, 2013
# Young Kim <youngck.uw@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-14 07:02+0000\n"
"PO-Revision-Date: 2016-04-07 17:54+0000\n"
"Last-Translator: Antonio Trueba\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr "\n<div>\n <p>Hola ${ctx.get('sender_message').get('from')},</p>\n <p>tenemos un problema con su email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n <p>¿Puede haber usado una dirección de destino incorrecta?</p>\n <p><br/></p>\n <p>Detalles técnicos:</p>\n <p><i>${ctx.get('route_exception').message}</i></p>\n</div>\n "
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Hilo correo electrónico"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "Servidor POP/IMAP"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr ""

91
fetchmail_notify_error_to_sender/i18n/fr.po

@ -0,0 +1,91 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2016
# Antonio Trueba, 2016
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
# bossnm11 <bossnm11@gmail.com>, 2014
# Chanseok <kcsgoodboy@naver.com>, 2014
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2015
# Chul Park <parkchul@nate.com>, 2015
# David10000 <gameness@naver.com>, 2014
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012-2013
# Gil <gedwarp@gmail.com>, 2014
# kmooc <shevious@gmail.com>, 2015
# Hongseob Lee <shevreg@yahoo.com>, 2015
# Hotellook, 2014
# jeon <bluerespect@nate.com>, 2014
# JiyeonLee <leejiyeon00@gmail.com>, 2014
# Jong-Dae Park <jdpark7@gmail.com>, 2013
# Kevin Min <gr326887@graded.br>, 2015
# KimKyudong <choemh@nate.com>, 2014
# mariana1201 <gogo3135@naver.com>, 2014
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015
# Nicole <dlruddk1112@gmail.com>, 2014
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015
# Pope, 2014
# SaFi J. <safi2266@gmail.com>, 2015
# Sarina Canelake <sarina@edx.org>, 2014
# Seok Jun Yoon <fake2real@dctribe.com>, 2015
# shin2012 <shin2013@gmail.com>, 2014
# Sujin Lee <sujinlee.me@gmail.com>, 2014
# Sunah Lim <whitetree70@snu.ac.kr>, 2013
# Young C. Kim, 2015
# Zwygart <zwygart@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-28 21:29+0000\n"
"PO-Revision-Date: 2016-10-11 22:10+0000\n"
"Last-Translator: Zwygart <zwygart@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr "\n<div>\n<p>Bonjour ${ctx.get('sender_message').get('from')},</p>\n<p>nous avons de la difficulté avec votre adresse de courriel: <i>${ctx.get('sender_message').get('subject')}</i></p>\n<p>Peut-être avez-vous utilisé une mauvaise adresse de destinataire?</p>\n<p><br/></p>\n<p>Détails techniques:</p>\n<p><i>${ctx.get('route_exception').message}</i></p>\n</div>"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Discussion de courriel"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr "Erreur dans le modèle de notice"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "Serveur POP/IMAP"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Reçu une erreur avec : ${ctx.get('sender_message').get('subject')|safe}"
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr "Choisissez ici le modèle à utiliser pour informer l'expéditeur lorsque des erreurs surviennent lors de la récupération du courriel. "

69
fetchmail_notify_error_to_sender/i18n/it.po

@ -0,0 +1,69 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
# danimaribeiro <danimaribeiro@gmail.com>, 2016
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011-2012
# Hotellook, 2014
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2016
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Paolo Valier, 2016
# Paolo Valier, 2016
# Rudolf Schnapka <rs@techno-flex.de>, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-28 00:59+0000\n"
"PO-Revision-Date: 2016-07-31 08:52+0000\n"
"Last-Translator: Paolo Valier\n"
"Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Discussione Email"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr "Modello per il messaggio di errore"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "Server POP/IMAP"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr ""

4
fetchmail_notify_error_to_sender/i18n/pt_BR.po

@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender #. module: fetchmail_notify_error_to_sender
#: model:email.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "" msgid ""
"\n" "\n"
"<div>\n" "<div>\n"
@ -49,7 +49,7 @@ msgid "POP/IMAP Server"
msgstr "Servidor POP/IMAP" msgstr "Servidor POP/IMAP"
#. module: fetchmail_notify_error_to_sender #. module: fetchmail_notify_error_to_sender
#: model:email.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}" msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Recebendo erro com: ${ctx.get('sender_message').get('subject')|safe}" msgstr "Recebendo erro com: ${ctx.get('sender_message').get('subject')|safe}"

60
fetchmail_notify_error_to_sender/i18n/pt_PT.po

@ -0,0 +1,60 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-16 09:29+0000\n"
"PO-Revision-Date: 2015-09-18 13:55+0000\n"
"Last-Translator: <>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Tópico de Email"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr ""
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr ""

4
fetchmail_notify_error_to_sender/i18n/sl.po

@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: fetchmail_notify_error_to_sender #. module: fetchmail_notify_error_to_sender
#: model:email.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "" msgid ""
"\n" "\n"
"<div>\n" "<div>\n"
@ -49,7 +49,7 @@ msgid "POP/IMAP Server"
msgstr "POP/IMAP strežnik" msgstr "POP/IMAP strežnik"
#. module: fetchmail_notify_error_to_sender #. module: fetchmail_notify_error_to_sender
#: model:email.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}" msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Napaka pri prejemu: ${ctx.get('sender_message').get('subject')|safe}" msgstr "Napaka pri prejemu: ${ctx.get('sender_message').get('subject')|safe}"

61
fetchmail_notify_error_to_sender/i18n/tr.po

@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fetchmail_notify_error_to_sender
#
# Translators:
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-19 14:44+0000\n"
"PO-Revision-Date: 2016-01-31 13:32+0000\n"
"Last-Translator: Ahmet Altınışık <aaltinisik@altinkaya.com.tr>\n"
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,body_html:fetchmail_notify_error_to_sender.email_template_error_notice
msgid ""
"\n"
"<div>\n"
" <p>Hello ${ctx.get('sender_message').get('from')},</p>\n"
" <p>we got a problem with your email: <i>${ctx.get('sender_message').get('subject')}</i></p>\n"
" <p>Maybe you used a wrong recipient address?</p>\n"
" <p><br/></p>\n"
" <p>Technical details:</p>\n"
" <p><i>${ctx.get('route_exception').message}</i></p>\n"
"</div>\n"
" "
msgstr "\n<div>\n <p>Merhaba ${ctx.get('sender_message').get('from')},</p>\n <p>E-postanız ile ilgili bir problem var: <i>${ctx.get('sender_message').get('subject')}</i></p>\n <p>Belki alıcı adresi yanlıştır?</p>\n <p><br/></p>\n <p>Teknik detaylar:</p>\n <p><i>${ctx.get('route_exception').message}</i></p>\n</div>\n "
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_mail_thread
msgid "Email Thread"
msgstr "Eposta konuşması"
#. module: fetchmail_notify_error_to_sender
#: field:fetchmail.server,error_notice_template_id:0
msgid "Error notice template"
msgstr "Hata bildirim şablonu"
#. module: fetchmail_notify_error_to_sender
#: model:ir.model,name:fetchmail_notify_error_to_sender.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "POP/IMAP sunucu"
#. module: fetchmail_notify_error_to_sender
#: model:mail.template,subject:fetchmail_notify_error_to_sender.email_template_error_notice
msgid "Receiving error with: ${ctx.get('sender_message').get('subject')|safe}"
msgstr "Alınan hata : ${ctx.get('sender_message').get('subject')|safe}"
#. module: fetchmail_notify_error_to_sender
#: help:fetchmail.server,error_notice_template_id:0
msgid ""
"Set here the template to use to send notice to sender when errors occur "
"while fetching email"
msgstr "E-posta alınırken oluşan hatalarda gönderilecek bildirim mesajı için şablonu belirleyin."

75
fetchmail_notify_error_to_sender/mail_thread.py

@ -1,75 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import osv
class mail_thread(osv.AbstractModel):
_inherit = 'mail.thread'
def message_route_verify(
self, cr, uid, message, message_dict, route, update_author=True,
assert_model=True, create_fallback=True, allow_private=False,
context=None
):
res = ()
if context is None:
context = {}
try:
res = super(mail_thread, self).message_route_verify(
cr, uid, message, message_dict, route,
update_author=update_author, assert_model=assert_model,
create_fallback=create_fallback, allow_private=allow_private,
context=context)
except ValueError as ve:
fetchmail_server_id = context.get('fetchmail_server_id')
if not fetchmail_server_id:
raise ve
fetchmail_server = self.pool['fetchmail.server'].browse(
cr, uid, fetchmail_server_id, context)
if not fetchmail_server.error_notice_template_id:
raise ve
context['sender_message'] = message
context['route_exception'] = ve
self.pool['email.template'].send_mail(
cr, uid, fetchmail_server.error_notice_template_id.id,
fetchmail_server.id, context=context)
context['error_notice_sent'] = True
return res
def message_route(
self, cr, uid, message, message_dict, model=None, thread_id=None,
custom_values=None, context=None
):
if context is None:
context = {}
res = []
try:
res = super(mail_thread, self).message_route(
cr, uid, message, message_dict, model=model,
thread_id=thread_id, custom_values=custom_values,
context=context)
except ValueError as ve:
if context.get('error_notice_sent'):
# avoid raising exception and setting mail message UNSEEN
return []
else:
raise ve
return res

6
fetchmail_notify_error_to_sender/models/__init__.py

@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Eficent <http://www.eficent.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import fetchmail
from . import mail_thread

15
fetchmail_notify_error_to_sender/models/fetchmail.py

@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
# Copyright 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
# Copyright 2017 Eficent <http://www.eficent.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import fields, models
class FetchmailServer(models.Model):
_inherit = 'fetchmail.server'
error_notice_template_id = fields.Many2one(
'mail.template', string="Error notice template",
help="Set here the template to use to send notice to sender when "
"errors occur while fetching email")

53
fetchmail_notify_error_to_sender/models/mail_thread.py

@ -0,0 +1,53 @@
# -*- coding: utf-8 -*-
# Copyright 2015 Lorenzo Battistini <lorenzo.battistini@agilebg.com>
# Copyright 2017 Eficent <http://www.eficent.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import api, models
class MailThread(models.AbstractModel):
_inherit = 'mail.thread'
@api.model
def message_route_verify(
self, message, message_dict, route, update_author=True,
assert_model=True, create_fallback=True, allow_private=False):
res = ()
try:
res = super(MailThread, self).message_route_verify(
message, message_dict, route,
update_author=update_author, assert_model=assert_model,
create_fallback=create_fallback, allow_private=allow_private)
except ValueError as ve:
fetchmail_server_id = self.env.context.get('fetchmail_server_id')
if not fetchmail_server_id:
raise ve
fetchmail_server = self.pool['fetchmail.server'].browse(
fetchmail_server_id)
if not fetchmail_server.error_notice_template_id:
raise ve
self.env.context['sender_message'] = message
self.env.context['route_exception'] = ve
self.env['mail.template'].send_mail(
fetchmail_server.error_notice_template_id.id,
fetchmail_server.id)
self.env.context['error_notice_sent'] = True
return res
@api.model
def message_route(
self, message, message_dict, model=None, thread_id=None,
custom_values=None):
res = []
try:
res = super(MailThread, self).message_route(
message, message_dict, model=model,
thread_id=thread_id, custom_values=custom_values)
except ValueError as ve:
if self.env.context.get('error_notice_sent'):
# avoid raising exception and setting mail message UNSEEN
return []
else:
raise ve
return res

9
fetchmail_notify_error_to_sender/fetchmail_view.xml → fetchmail_notify_error_to_sender/views/fetchmail_view.xml

@ -1,16 +1,13 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<openerp>
<data>
<odoo>
<record model="ir.ui.view" id="view_email_server_form"> <record model="ir.ui.view" id="view_email_server_form">
<field name="name">fetchmail.server.form</field> <field name="name">fetchmail.server.form</field>
<field name="model">fetchmail.server</field> <field name="model">fetchmail.server</field>
<field name="inherit_id" ref="fetchmail.view_email_server_form"></field> <field name="inherit_id" ref="fetchmail.view_email_server_form"></field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="active" position="after"> <field name="active" position="after">
<field name="error_notice_template_id"></field>
<field name="error_notice_template_id"/>
</field> </field>
</field> </field>
</record> </record>
</data>
</openerp>
</odoo>
Loading…
Cancel
Save