first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model.exceptions import ValidationError
class TemplateError(ValidationError):
pass

View File

@@ -0,0 +1,102 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from sql import Table
from trytond import backend, config
from trytond.model import fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.transaction import Transaction
class Trigger(metaclass=PoolMeta):
__name__ = 'ir.trigger'
notification_email = fields.Many2One(
'notification.email', "Email Notification", readonly=True,
states={
'required': Eval('notification_email_required', False),
'invisible': ~Eval('notification_email_required', False),
})
notification_email_required = fields.Function(
fields.Boolean("Notification Email Required"),
'on_change_with_notification_email_required')
@classmethod
def __setup__(cls):
super().__setup__()
cls.action.selection.append(
('notification.email|trigger', "Email Notification"),
)
@fields.depends('action')
def on_change_with_notification_email_required(self, name=None):
return self.action == 'notification.email|trigger'
@fields.depends('notification_email', '_parent_notification_email.model')
def on_change_notification_email(self):
pool = Pool()
Model = pool.get('ir.model')
if self.notification_email:
try:
trigger_model, = Model.search([
('name', '=', self.notification_email.model),
])
except ValueError:
pass
else:
self.model = trigger_model
self.action = 'notification.email|trigger'
class Email(metaclass=PoolMeta):
__name__ = 'ir.email'
notification_email = fields.Many2One(
'notification.email', "Notification Email", readonly=True,
states={
'invisible': ~Eval('notification_email'),
})
notification_trigger = fields.Many2One(
'ir.trigger', "Notification Trigger", readonly=True,
states={
'invisible': ~Eval('notification_trigger'),
})
@classmethod
def __register__(cls, module):
table = cls.__table__()
log_name = 'notification.email.log'
log_table_name = config.get(
'table', log_name, default=log_name.replace('.', '_'))
log = Table(log_table_name)
cursor = Transaction().connection.cursor()
super().__register__(module)
# Migration from 6.6: merge notification email log with email
if backend.TableHandler.table_exist(log_table_name):
query = table.insert(
[table.create_uid, table.create_date,
table.write_uid, table.write_date,
table.recipients, table.recipients_secondary,
table.recipients_hidden,
table.resource,
table.notification_email, table.notification_trigger],
log.select(
log.create_uid, log.create_date,
log.write_uid, log.write_date,
log.recipients, log.recipients_secondary,
log.recipients_hidden,
log.resource,
log.notification, log.trigger))
cursor.execute(*query)
backend.TableHandler.drop_table(log_name, log_table_name)
def get_user(self, name):
user = super().get_user(name)
if self.notification_email or self.notification_trigger:
user = None
return user

View File

@@ -0,0 +1,41 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="trigger_view_form">
<field name="model">ir.trigger</field>
<field name="inherit" ref="ir.trigger_view_form"/>
<field name="name">trigger_form</field>
</record>
<record model="ir.ui.view" id="ir_email_view_form">
<field name="model">ir.email</field>
<field name="inherit" ref="ir.email_view_form"/>
<field name="name">ir_email_form</field>
</record>
<record model="ir.action.act_window" id="act_ir_email_form_relate_notification">
<field name="name">Emails</field>
<field name="res_model">ir.email</field>
<field name="domain"
eval="[('notification_email', 'in', Eval('active_ids'))]"
pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_ir_email_form_relate_notification_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="ir.email_view_list"/>
<field name="act_window" ref="act_ir_email_form_relate_notification"/>
</record>
<record model="ir.action.act_window.view" id="act_ir_email_form_relate_notification_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="ir.email_view_form"/>
<field name="act_window" ref="act_ir_email_form_relate_notification"/>
</record>
<record model="ir.action.keyword" id="act_ir_email_form_relate_notification_keyword1">
<field name="keyword">form_relate</field>
<field name="model">notification.email,-1</field>
<field name="action" ref="act_ir_email_form_relate_notification"/>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,189 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notificació per correu electrònic"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Disparador notificació"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Notificació per correu electrònic"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notificacions per correu electrònic obligatòria"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Adjunts"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Mitjà de contacte"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Contingut"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Recipients fallada"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Recipients ocults fallida"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Recipients secundaris fallida"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "De"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinataris"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinataris ocults"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinataris secundaris"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Enviar després de"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Asumpte"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Disparadors"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notificació"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Informe"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "El informes que s'utilitzaran com a adjunts."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"Defineix quin correu electrònic dels mitjans de contacte del tercer "
"s'utilitzarà"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "El informes utilitzat com a plantilla del correu electrònic."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"L'usuari que es notificarà quan no es trobi un correu electrònic per als "
"destinataris."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"L'usuari que es notificarà quan no es trobi cap correu electrònic pels "
"destinataris ocults."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"L'usuari que es notificarà quan no es trobi un correu electrònic pels "
"destinataris secundaris."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
"Deixeu en blanc per a utilitzar el valor definit al fitxer de configuració."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "El camp que conté el recipient(s)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "El camp que conté el recipient(s) ocults."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "El camp que conté el recipient(s) secundaris."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"El retard després del qual s'ha d'enviar el correu electrònic.\n"
"S'aplica si la cua de treballs està activada."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Es pot utilitzar la sintàxis Gensih amb 'record' al context d'evaluació.\n"
"En blanc s'utiltizarà el nom de l'informe."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Afegir un disparador per la notificació."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notificacions per correu electrònic"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "Correus electrònics"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"El asumpte del correu electrònic de la notificació \"%(notification)s\" és "
"invàlid amb l'excepció: \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notificacions per correu electrònic"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notificació per correu electrònic"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Adjunts notificacions per correu electrònic"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notificació per correu electrònic"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,188 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "E-Mail Benachrichtigung"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Benachrichtigung Trigger"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "E-Mail-Benachrichtigung"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "E-Mail Benachrichtigung Erforderlich"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Anhänge"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Kontaktinformation"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Inhalt"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Empfänger im Ausweichfall"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Versteckte Empfänger im Ausweichfall"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Sekundäre Empfänger im Ausweichfall"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Von"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Modell"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Empfänger"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Versteckte Empfänger"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Sekundäre Empfänger"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Versenden nach"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Betreff"
# https://de.wikipedia.org/wiki/Datenbanktrigger
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Trigger"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Modell"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Benachrichtigung"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Bericht"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Der als Anhang genutzte Bericht."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr "Auswahl der E-Mail-Adresse aus den Kontaktinformationen der Partei"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Der als E-Mail-Vorlage genutzte Bericht."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"Zu benachrichtigender Benutzer wenn keine Empfänger-E-Mail-Adresse gefunden "
"werden kann."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Zu benachrichtigender Benutzer wenn keine versteckte Empfänger-E-Mail-"
"Adresse gefunden werden kann."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Zu benachrichtigender Benutzer wenn keine sekundäre Empfänger-E-Mail-Adresse"
" gefunden werden kann."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "Leer lassen, um den Wert aus der Konfigurationsdatei zu verwenden."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Das Feld das den/die Empfänger enthält."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Das Feld das den/die versteckten Empfänger enthält."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Das Feld das den/die sekundären Empfänger enthält."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"Die Verzögerung nach der die E-Mail versandt werden soll.\n"
"Wird nur angewendet wenn die Queue aktiviert ist."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Die Genshi Syntax kann mit 'record' im Evaluierungskontext verwendet werden.\n"
"Sofern nicht angegeben wird die Bezeichnung des Datensatzes verwendet."
# https://de.wikipedia.org/wiki/Datenbanktrigger
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Einen Trigger für die Benachrichtigung hinzufügen."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-Mail Benachrichtigungen"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "E-Mails"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Ungültiger E-Mail-Betreff in Benachrichtigung \"%(notification)s\" mit "
"Fehler \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-Mail Benachrichtigungen"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "E-Mail Benachrichtigung"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "E-Mail-Benachrichtigung Anhang"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "E-Mail-Benachrichtigung"

View File

@@ -0,0 +1,190 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notificacion por correo electrónico"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Disparador notificación"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Notificación por correo electrónico"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notificaciones por correo electrónico obligatoria"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Adjuntos"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Medio de contacto"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Contenido"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Recipientes fallida"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Recipientes ocultos fallida"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Recipientes secundarios fallida"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "De"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Modelo"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinatarios"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinatarios ocultos"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinatarios secundarios"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Enviar tras"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Asunto"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Disparadores"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Modelo"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notificación"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Informe"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Los informes que se van a utilizar como adjuntos."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"Define que correo electrónico de los medios de contacto del tercero se "
"utilizará"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "El informe a utilizar como plantilla de correo electrónico."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"El usuario que se notificará cuando no se encuentre un correo electrónico "
"para los destinatarios."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"El usuario que se notificará cuando no se encuentre un correo electrónico "
"para los destinatarios ocultos."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"El usuario que se notificará cuando no se encuentre un correo electrónico "
"para los destinatarios secundarios."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
"Dejar en blanco para utilizar el valor definido en el fichero de "
"configuración."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "El campo que contiene los recipientes(s)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "El campo que contiene los recipiente(s) ocultos."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "El campo que contiene los recipientes(s) secundarios."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"El retraso tras el cual el correo debe ser enviado.\n"
"Solo aplica si la cola de trabajos está activada."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"La sintaxis Genshi puede ser utilizada con 'record' en el contexto de evaluación.\n"
"En blanco usará el nombre del informe."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Añade un disparador para la notificación."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notificaciones por correo electrónico"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "Correos electrónicos"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Asunto del correo electrónico inválido en la notificación "
"\"%(notification)s\" con la excepción \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notificaciones por correo electrónico"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notificacion por correo electrónico"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Adjuntos de notificaciones por correo electrónico"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notificación por correo electrónico"

View File

@@ -0,0 +1,174 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr ""
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr ""
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr ""
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr ""
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr ""
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr ""
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr ""
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr ""

View File

@@ -0,0 +1,183 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "E-kirja teavitused"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Teavitus"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "E-kirja teatis"
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "E-kirja teavitused"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Manudes"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Kontakteerumise viis"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Sisu"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Saajad"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Peidetud saajad"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Teised saajad"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Saatja"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Mudel"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Saajad"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Peidetud saajad"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Teised saajad"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Mudel"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Teavitus"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Aruanne"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Aruanded, mida kasutatakse manusena."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Väli, mis sisaldab saajat."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Väli, mis sisaldab peidetud saajat."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Väli, mis sisaldab teist saajat."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-kirja teavitused"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-kirja teavitused"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "E-kirja teavitused"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "E-kirja teavituse manus"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "E-kirja teatis"

View File

@@ -0,0 +1,188 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "ایمیل‌های اطلاعیه"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "اطلاعیه"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "ایمیل اطلاعیه"
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "ایمیل‌های اطلاعیه"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "پیوست ها"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "مکانیسم های تماس"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "محتوا"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "کاربردریافت کننده پاسخگو"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "کاربردریافت کننده پاسخگو پنهان"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "کاربردریافت کننده پاسخگو ثانویه"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "از"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "مدل"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "گیرندگان"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "گیرنده گان پنهان"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "گیرندگان ثانویه"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "ماشه ها"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "مدل"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "اطلاعیه"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "گزارش"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "استفاده از گزارش ها بعنوان پیوست ها."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"تعیین کنید کدام ایمیل برای استفاده از مکانیزم های تماس نهاد/سازمان استفاده "
"شود"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "استفاده از گزارش بعنوان الگوی ایمیل."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr "ابلاغ به کاربر هنگامی که هیچ گیرنده ایمیلی یافت نشد"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr "ابلاغ به کاربر هنگامی که هیچ گیرنده پنهان ایمیلی یافت نشد"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr "ابلاغ به کاربر هنگامی که هیچ گیرنده ثانویه ایمیلی یافت نشد"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "برای مقدار تعریف شده در فایل پیکربندی خالی بگذارید."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "فیلد حاوی گیرنده (ها)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "فیلد حاوی گیرنده (ها) پنهان."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "فیلد حاوی گیرنده (ها) ثانویه."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "یک ماشه برای اعلان اضافه کنید."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "ایمیل‌های اطلاعیه"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "ایمیل‌های اطلاعیه"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "ایمیل‌های اطلاعیه"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "پیوست ایمیل اطلاعیه"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "ایمیل اطلاعیه"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,188 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Courriel de notification"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Déclencheur de notification"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Notification par courriel"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Courriel de notification requis"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Attachements"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Moyen de contact"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Contenu"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Destinataire de secours"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Destinataires masqués de secours"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Destinataires secondaires de secours"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "De"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Modèle"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinataires"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinataires masqués"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinataires secondaires"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Envoyer après"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Objet"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Déclencheurs"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Modèle"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notification"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Rapport"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Les rapports utilisés comme attachements."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"Définit l'adresse électronique à utiliser à partir des mécanismes de contact"
" du tiers"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Le rapport utilisé comme modèle de courriel."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"L'utilisateur notifié lorsqu'aucune adresse électronique de destinataire "
"n'est trouvée."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"L'utilisateur notifié lorsqu'aucune adresse électronique de destinataire "
"masqué n'est trouvée."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"L'utilisateur notifié lorsqu'aucune adresse électronique de destinataire "
"secondaire n'est trouvée."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "Laissez vide pour la valeur définie dans le fichier de configuration."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Le champ qui contient le(s) destinataire(s)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Le champ qui contient le(s) destinataire(s) masqué(s)."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Le champ qui contient le(s) destinataire(s) secondaire(s)."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"Le délai après lequel le courriel doit être envoyé.\n"
"Appliqué si une file de travail est activée."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"La syntaxe Genshi peut être utilisée avec « record » dans le contexte d'évaluation.\n"
"S'il est vide, le nom du rapport sera utilisé."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Ajouter un déclencheur pour la notification."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Courriels de notification"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "Courriels"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Objet de courriel non valide dans la notification « %(notification)s » avec "
"l'exception « %(exception)s »."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Courriels de notification"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Courriel de notification"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Attachement de courriel de notification"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification par courriel"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Pemberitahuan Email"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Pemberitahuan Email"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Pemberitahuan Email"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr ""
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Lampiran-Lampiran"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Kandungan"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Penerima"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Dari"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Penerima"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Laporan"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr ""
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr ""
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Pemberitahuan Email"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Pemberitahuan Email"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Pemberitahuan Email"

View File

@@ -0,0 +1,197 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Email di notifica"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notifica"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Notifica email"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Email di notifica obbligatoria"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Allegati"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Meccanismi di contatto"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Contenuto"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Utenti destinatari di ripiego"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Utenti destinatari di ripiego nascosti"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Utenti destinatari secondari di ripiego"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Da"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Modello"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinatari"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinatari nascosti"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinatari secondari"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Invia dopo"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Oggetto"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Trigger"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Modello"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notifica"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Segnala"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "I report utilizzati da usare come allegati."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"Definire quale e-mail utilizzare fra i meccanismi di contatto della "
"controparte"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Il report utilizzato come template della E-mail."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"Utente notificato quando nessun destinatario nella E-mail viene trovato"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Utente notificato quando nessun destinatario nascosto nella E-mail viene "
"trovato"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Utente notificato quando nessun destinatario secondario nella E-mail viene "
"trovato"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "Lasciare vuoto per il valore definito nel file di configurazione."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Il campo che contiene il destinatario o i destinatari."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Il campo che contiene i destinatari nascosti."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Campo che contiene i destinatari secondari."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"Il ritardo dopo il quale l'e-mail deve essere inviata.\n"
"Valido se viene attivata una coda di lavoro."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"La sintassi di Genshi può essere utilizzata con il 'record' nel contesto di valutazione.\n"
"Se vuoto verrà utilizzato il nome del rapporto."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Aggiungi un trigger per la notifica."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Email di notifica"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Oggetto dell'e-mail non valido nella notifica \"%(notification)s\" con "
"eccezione \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Email di notifica"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Email di notifica"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Allegato E-mail di notifica"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notifica email"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,188 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "E-mailmeldingen"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Melding Trigger"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "E-mail notificatie"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "E-mailmelding vereist"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Bijlagen"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Contactmogelijkheid"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Inhoud"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Ontvangers fallback"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Verborgen ontvangers fallback"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Secundaire ontvangers fallback"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Van"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "ontvangers"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Verborgen ontvangers"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Secundaire ontvangers"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Verstuur over"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Onderwerp"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "triggers"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Kennisgeving"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Verslag"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "De rapporten die als bijlagen worden gebruikt."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"Bepaal welke e-mail u wilt gebruiken van de contactmechanismen van de "
"relatie"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Het rapport gebruikt als e-mailsjabloon."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"Gebruiker die geïnformeerd moet worden als er geen email adres gevonden is."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Gebruiker die geïnformeerd moet worden als er geen verborgen ontvanger email"
" adres gevonden is."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Gebruiker die geïnformeerd moet worden als er geen secundaire ontvangers "
"email adres gevonden is."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
"Laat leeg voor de waarde die is gedefinieerd in het configuratiebestand."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Het veld dat de ontvanger (s) bevat."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Het veld dat de verborgen ontvanger (s) bevat."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Het veld dat de secundaire ontvanger (s) bevat."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"De vertraging voordat de email verstuurd wordt\n"
"Wordt toegepast wanneer workers geactiveerd zijn."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"De Genshi-syntaxis kan worden gebruikt met 'record' in de evaluatiecontext.\n"
"Indien leeg wordt de rapportnaam gebruikt."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Voeg een trigger toe voor de melding."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-mailmeldingen"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "Emails"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Ongeldig email onderwerp in melding \"%(notification)s\" met uitzondering "
"\"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-mailmeldingen"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "E-mailmelding"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Bijlage bij e-mailmelding"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "E-mail notificatie"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "E-maile z powiadomieniami"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Powiadomienie"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Powiadomienie e-mailowe"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "E-maile z powiadomieniami"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Załączniki"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Sposób kontaktu"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Treść"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Zastępczy użytkownik odbiorców"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Ukryty zastępczy użytkownik odbiorców"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Dodatkowy zastępczy użytkownik odbiorców"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Od"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Odbiorcy"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Ukryci odbiorcy"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Dodatkowi odbiorcy"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Temat"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Wyzwalacze"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Powiadomienie"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Raport"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Raporty użyte jako załączniki."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr "Określ, którego e-maila ze sposobów kontaktu użyć dla strony"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Raport użyty jako szablon wiadomości."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"Użytkownik zostanie powiadomiony, jeśli adres e-mail nie jest dostępny"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Użytkownik zostanie powiadomiony, jeśli żaden ukryty adres e-mail nie jest "
"dostępny"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Użytkownik zostanie powiadomiony, jeśli żaden dodatkowy adres e-mail nie "
"jest dostępny"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "Pozostaw puste dla wartości zdefiniowanej w pliku konfiguracyjnym."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Pole zawierające odbiorcę(ów)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Pole zawierające ukrytego odbiorcę(ów)."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Pole zawierające dodatkowego odbiorcę(ów)."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Składnia Genshi może być używana z „rekordem” w kontekście oceny.\n"
"Jeśli jest pusta, zostanie użyta nazwa raportu."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Dodaj wyzwalacz powiadomienia."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-maile z powiadomieniami"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Nieprawidłowy temat wiadomości e-mail w powiadomieniu „% (notification) s” "
"generujący wyjątek „% (exception) s”."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-maile z powiadomieniami"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "E-maile z powiadomieniami"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Załącznik z powiadomieniem e-mailowym"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Powiadomienie e-mailowe"

View File

@@ -0,0 +1,183 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Email de Notificação"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Gatilho de Notificação"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Email de Notificação"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Email de Notificação Obrigatório"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Anexos"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Formas de Contato"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Conteúdo"
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Destinatários Reserva"
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Destinatários Reserva Ocultos"
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Destinatários Secundários de Reserva"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "De"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Modelo"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinatários"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinatários Ocultos"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinatários Secundários"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Enviar Após"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Assunto"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Gatilhos"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Modelo"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notificação"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Relatório"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Os relatórios usados como anexos."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr "Escolha qual email da pessoa será usado"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "O relatório utilizado como modelo para o email."
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr "Usuário a ser notificado quando nenhum email for encontrado."
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Usuário a ser notificado quando nenhum destinatário oculto for encontrado."
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Usuário a ser notificado quando nenhum destinatário secundário for "
"encontrado."
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "Deixe vazio para usar o valor definido no arquivo de configuração."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "O campo que contém o(s) destinatário(s)."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "O campo que contém o(s) destinatário(s) oculto(s)."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "O campo que contém o(s) destinatário(s) secundário(s)."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"O tempo no qual deve ser adiado o envio da mensagem de email.\n"
"Aplica se uma fila de trabalho está ativa."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"A sintaxe Genshi pode ser utilizada com o registro ('record') na avaliação do contexto.\n"
"O nome do relatório será utilizado, caso não for preenchido."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Adicionar um gatilho para a notificação."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Emails de Notificação"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "Emails"
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"O assunto do email na notificação \"%(notification)s\" é inválido devido à "
"exceção \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Emails de Notificação"
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Email de Notificação"
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Anexo do Email de Notificação"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notificação por Email"

View File

@@ -0,0 +1,192 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Email pentru Notificări"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Declanșator Notificare"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "Notificare Email"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notificare Email Obligatorie"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Atașament"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Mecanism de contact"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Conţinut"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Destinatari Utilizator Alternativ"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Destinatari Ascunși Utilizator Alternativ"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Destinatari secundari Utilizator alternativ"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Din"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Destinatari"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Destinatari Ascunși"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Destinatari Secundari"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Trimite După"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Subiect"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Declanșatoare"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Notificare"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Raport"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Rapoartele utilizate că atașamente."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr "Definire email de folosit din mecanismele de contact al parții"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Raportul utilizat ca șablon pentru email."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr "Utilizator notificat când nu se găsesc destinatari e-mail"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr "Utilizator notificat când nu sunt destinatari ascunși în e-mail"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Utilizatorul este notificat când nu este găsit niciun e-mail al "
"destinatarilor secundari"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
"Lăsați necompletat pentru valoarea definită în fișierul de configurare."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Câmpul care conține destinatarii."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Câmpul care conține destinatarii ascunși."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Câmpul care conține destinatarii secundari."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"Întârzierea după care trebuie trimis e-mailul.\n"
"Se aplică dacă este activată o coadă de lucrători."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Sintaxa Genshi poate fi folosită cu 'record' în contextul evaluării.\n"
"Dacă este gol, va fi folosit numele raportului."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Adăugați un declanșator pentru notificare."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-mailuri de notificare"
#, fuzzy
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "E-mailuri"
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Subiect invalid în e-mail notificare \"%(notification)s\" cu excepția "
"\"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-mailuri de notificare"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Email pentru Notificări"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Atașament Email de Notificare"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notificare Email"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,197 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "E-poštna obvestila"
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Prožilec obvestil"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "E-poštno obvestilo"
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "E-poštno obvestilo je obvezno"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "Priloge"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "Kotaktna informacija"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "Vsebina"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "Nadomestni uporabnik prejemnikov"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "Nadomestni uporabnik skritih prejemnikov"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "Nadomestni uporabnik sekundarnih prejemnikov"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "Od"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "Prejemniki"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "Skriti prejemniki"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "Sekundarni prejemniki"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr "Pošlji čez"
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "Zadeva"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "Prožilci"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "Model"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "Obvestilo"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "Poročilo"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "Poročila uporabljena kot priloge."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
"V kontaktnih mehanizmih partnerja določite, kateri e-poštni naslov želite "
"uporabiti"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "Poročilo uporabljeno kot e-poštna predloga."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
"Uporabnik, ki naj bo obveščen, ko ni najden noben e-poštni naslov prejemnika"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
"Uporabnik, ki naj bo obveščen, ko ni najden e-poštni naslov skritega "
"prejemnika"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
"Uporabnik, ki naj bo obveščen, ko ni najden e-poštni naslov sekundarnega "
"prejemnika"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
"Pustite prazno za privzeto vrednost opredeljeno v konfiguracijski datoteki."
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "Polje, ki vsebuje prejemnike."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "Polje, ki vsebuje skrite prejemnike."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "Polje, ki vsebuje sekundarne prejemnike."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
"Zakasnitev, po izteku katere se pošlje e-pošta.\n"
"V veljavi, če je delovna vrsta aktivna."
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Sintakso Genshi lahko uporabite z 'record' v kontekstu vrednotenja.\n"
"Če je prazno, bo uporabljeno ime poročila."
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "Dodajte prožilec za obvestilo."
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "E-poštna obvestila"
#, fuzzy
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr "E-pošte"
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
"Neveljavna zadeva e-pošte v obvestilu »%(notification)s«. Napaka "
"»%(exception)s«."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "E-poštna obvestila"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "E-poštna obvestila"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Priloga e-poštnemu obvestilu"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "E-poštna obvestila"

View File

@@ -0,0 +1,180 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "Notification Emails"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "Notification Emails"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "Notification Emails"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "Notification Emails"
#, fuzzy
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "Notification Emails"

View File

@@ -0,0 +1,174 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr ""
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr ""
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr ""
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr ""
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr ""
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr ""
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr ""
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr ""
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr ""
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr ""
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr ""
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr ""
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr ""
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr ""
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr ""
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr ""
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr ""
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr ""
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr ""
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr ""
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr ""
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr ""
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr ""
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr ""
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr ""
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr ""
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr ""
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr ""
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr ""
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr ""

View File

@@ -0,0 +1,187 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:ir.email,notification_email:"
msgid "Notification Email"
msgstr "电子邮件通知"
#, fuzzy
msgctxt "field:ir.email,notification_trigger:"
msgid "Notification Trigger"
msgstr "通知"
msgctxt "field:ir.trigger,notification_email:"
msgid "Email Notification"
msgstr "电子邮件通知"
#, fuzzy
msgctxt "field:ir.trigger,notification_email_required:"
msgid "Notification Email Required"
msgstr "电子邮件通知"
msgctxt "field:notification.email,attachments:"
msgid "Attachments"
msgstr "附件"
msgctxt "field:notification.email,contact_mechanism:"
msgid "Contact Mechanism"
msgstr "联系方式"
msgctxt "field:notification.email,content:"
msgid "Content"
msgstr "内容"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients:"
msgid "Recipients Fallback"
msgstr "收件人回退用户"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_hidden:"
msgid "Hidden Recipients Fallback"
msgstr "隐藏的收件人回退用户"
#, fuzzy
msgctxt "field:notification.email,fallback_recipients_secondary:"
msgid "Secondary Recipients Fallback"
msgstr "第二收件人回退用户"
msgctxt "field:notification.email,from_:"
msgid "From"
msgstr "发件人"
msgctxt "field:notification.email,model:"
msgid "Model"
msgstr "模型"
msgctxt "field:notification.email,recipients:"
msgid "Recipients"
msgstr "收件人"
msgctxt "field:notification.email,recipients_hidden:"
msgid "Hidden Recipients"
msgstr "隐藏的收件人"
msgctxt "field:notification.email,recipients_secondary:"
msgid "Secondary Recipients"
msgstr "第二收件人"
msgctxt "field:notification.email,send_after:"
msgid "Send After"
msgstr ""
msgctxt "field:notification.email,subject:"
msgid "Subject"
msgstr "主题"
msgctxt "field:notification.email,triggers:"
msgid "Triggers"
msgstr "触发器"
msgctxt "field:notification.email.attachment,model:"
msgid "Model"
msgstr "模型"
msgctxt "field:notification.email.attachment,notification:"
msgid "Notification"
msgstr "通知"
msgctxt "field:notification.email.attachment,report:"
msgid "Report"
msgstr "报告"
msgctxt "help:notification.email,attachments:"
msgid "The reports used as attachments."
msgstr "作为附件的报告."
msgctxt "help:notification.email,contact_mechanism:"
msgid "Define which email to use from the party's contact mechanisms"
msgstr "定义从参与者联系方式中使用哪个电子邮件"
msgctxt "help:notification.email,content:"
msgid "The report used as email template."
msgstr "作为电子邮件模板的报告."
#, fuzzy
msgctxt "help:notification.email,fallback_recipients:"
msgid "User notified when no recipients email is found."
msgstr "当找不到收件人电子邮件时通知用户"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_hidden:"
msgid "User notified when no hidden recipients email is found."
msgstr "当找不到隐藏的收件人电子邮件时通知用户"
#, fuzzy
msgctxt "help:notification.email,fallback_recipients_secondary:"
msgid "User notified when no secondary recipients email is found."
msgstr "当找不到第二收件人电子邮件时通知用户"
msgctxt "help:notification.email,from_:"
msgid "Leave empty for the value defined in the configuration file."
msgstr "配置文件中取值留空。"
msgctxt "help:notification.email,recipients:"
msgid "The field that contains the recipient(s)."
msgstr "包含收件人的字段."
msgctxt "help:notification.email,recipients_hidden:"
msgid "The field that contains the hidden recipient(s)."
msgstr "包含隐藏收件人的字段."
msgctxt "help:notification.email,recipients_secondary:"
msgid "The field that contains the secondary recipient(s)."
msgstr "包含次要收件人的字段."
msgctxt "help:notification.email,send_after:"
msgid ""
"The delay after which the email must be sent.\n"
"Applied if a worker queue is activated."
msgstr ""
msgctxt "help:notification.email,subject:"
msgid ""
"The Genshi syntax can be used with 'record' in the evaluation context.\n"
"If empty the report name will be used."
msgstr ""
"Genshi 语法可以与 'record' 一起使用.\n"
"如果为空,则使用报告名称。"
msgctxt "help:notification.email,triggers:"
msgid "Add a trigger for the notification."
msgstr "为通知添加触发器。"
msgctxt "model:ir.action,name:act_email_form"
msgid "Notification Emails"
msgstr "电子邮件通知"
msgctxt "model:ir.action,name:act_ir_email_form_relate_notification"
msgid "Emails"
msgstr ""
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_notification_invalid_subject"
msgid ""
"Invalid email subject in notification \"%(notification)s\" with exception "
"\"%(exception)s\"."
msgstr "通知 \"%(notification)s\" 中电子邮件主题无效,异常为: \"%(exception)s\"."
msgctxt "model:ir.ui.menu,name:menu_email_form"
msgid "Notification Emails"
msgstr "电子邮件通知"
#, fuzzy
msgctxt "model:notification.email,string:"
msgid "Notification Email"
msgstr "电子邮件通知"
#, fuzzy
msgctxt "model:notification.email.attachment,string:"
msgid "Notification Email Attachment"
msgstr "电子邮件通知附件"
msgctxt "selection:ir.trigger,action:"
msgid "Email Notification"
msgstr "电子邮件通知"

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data grouped="1">
<record model="ir.message" id="msg_notification_invalid_subject">
<field name="text">Invalid email subject in notification "%(notification)s" with exception "%(exception)s".</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,352 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import mimetypes
from email.utils import getaddresses
from genshi.template import TextTemplate
import trytond.config as config
from trytond.i18n import gettext
from trytond.model import ModelSQL, ModelView, fields
from trytond.pool import Pool
from trytond.pyson import Eval, TimeDelta
from trytond.report import get_email
from trytond.sendmail import SMTPDataManager, send_message_transactional
from trytond.tools import slugify
from trytond.tools.email_ import format_address, has_rcpt, set_from_header
from trytond.transaction import Transaction
from .exceptions import TemplateError
class Email(ModelSQL, ModelView):
__name__ = 'notification.email'
from_ = fields.Char(
"From", translate=True,
help="Leave empty for the value defined in the configuration file.")
subject = fields.Char(
"Subject", translate=True,
help="The Genshi syntax can be used "
"with 'record' in the evaluation context.\n"
"If empty the report name will be used.")
recipients = fields.Many2One(
'ir.model.field', "Recipients",
domain=[
('model', '=', Eval('model')),
],
help="The field that contains the recipient(s).")
fallback_recipients = fields.Many2One(
'res.user', "Recipients Fallback",
domain=[
('email', '!=', None),
],
help="User notified when no recipients email is found.")
recipients_secondary = fields.Many2One(
'ir.model.field', "Secondary Recipients",
domain=[
('model', '=', Eval('model')),
],
help="The field that contains the secondary recipient(s).")
fallback_recipients_secondary = fields.Many2One(
'res.user', "Secondary Recipients Fallback",
domain=[
('email', '!=', None),
],
help="User notified when no secondary recipients email is found.")
recipients_hidden = fields.Many2One(
'ir.model.field', "Hidden Recipients",
domain=[
('model', '=', Eval('model')),
],
help="The field that contains the hidden recipient(s).")
fallback_recipients_hidden = fields.Many2One(
'res.user', "Hidden Recipients Fallback",
domain=[
('email', '!=', None),
],
help="User notified when no hidden recipients email is found.")
contact_mechanism = fields.Selection(
'get_contact_mechanisms', "Contact Mechanism",
help="Define which email to use from the party's contact mechanisms")
content = fields.Many2One(
'ir.action.report', "Content", required=True,
domain=[('template_extension', 'in', ['txt', 'html', 'xhtml'])],
help="The report used as email template.")
attachments = fields.Many2Many(
'notification.email.attachment', 'notification', 'report',
"Attachments",
domain=[
('model', '=', Eval('model')),
],
help="The reports used as attachments.")
triggers = fields.One2Many(
'ir.trigger', 'notification_email', "Triggers",
domain=[('model.name', '=', Eval('model'))],
help="Add a trigger for the notification.")
send_after = fields.TimeDelta(
"Send After",
domain=['OR',
('send_after', '=', None),
('send_after', '>=', TimeDelta()),
],
help="The delay after which the email must be sent.\n"
"Applied if a worker queue is activated.")
model = fields.Function(
fields.Char("Model"), 'on_change_with_model', searcher='search_model')
@classmethod
def __setup__(cls):
pool = Pool()
EmailTemplate = pool.get('ir.email.template')
super().__setup__()
for field in [
'recipients',
'recipients_secondary',
'recipients_hidden',
]:
field = getattr(cls, field)
field.domain.append(['OR',
('relation', 'in', EmailTemplate.email_models()),
[
('model.name', 'in', EmailTemplate.email_models()),
('name', '=', 'id'),
],
])
def get_rec_name(self, name):
return self.content.rec_name
@classmethod
def search_rec_name(cls, name, clause):
return [('content',) + tuple(clause[1:])]
@classmethod
def get_contact_mechanisms(cls):
pool = Pool()
try:
ContactMechanism = pool.get('party.contact_mechanism')
except KeyError:
return [(None, "")]
return ContactMechanism.usages()
@fields.depends('content')
def on_change_with_model(self, name=None):
if self.content:
return self.content.model
@classmethod
def search_model(cls, name, clause):
return [('content.model',) + tuple(clause[1:])]
def _get_addresses(self, value):
pool = Pool()
EmailTemplate = pool.get('ir.email.template')
with Transaction().set_context(usage=self.contact_mechanism):
# reformat addresses with encoding
return [
format_address(e, n)
for n, e in getaddresses(EmailTemplate.get_addresses(value))]
def _get_languages(self, value):
pool = Pool()
EmailTemplate = pool.get('ir.email.template')
with Transaction().set_context(usage=self.contact_mechanism):
return EmailTemplate.get_languages(value)
def get_email(self, record, sender, to, cc, bcc, languages):
pool = Pool()
Attachment = pool.get('notification.email.attachment')
# TODO order languages to get default as last one for title
msg, title = get_email(self.content, record, languages)
if languages:
language = list(languages)[-1].code
else:
language = None
from_ = sender
with Transaction().set_context(language=language):
notification = self.__class__(self.id)
if notification.from_:
from_ = notification.from_
if self.subject:
title = (TextTemplate(notification.subject)
.generate(record=record)
.render())
if self.attachments:
for report in self.attachments:
name, data = Attachment.get(report, record, language)
ctype, _ = mimetypes.guess_type(name)
if not ctype:
ctype = 'application/octet-stream'
maintype, subtype = ctype.split('/', 1)
msg.add_attachment(
data,
maintype=maintype,
subtype=subtype,
filename=('utf-8', '', name))
set_from_header(msg, sender, from_)
if to:
msg['To'] = to
if cc:
msg['Cc'] = cc
if bcc:
msg['Bcc'] = bcc
msg['Subject'] = title
msg['Auto-Submitted'] = 'auto-generated'
return msg
@classmethod
def trigger(cls, records, trigger):
"Action function for the triggers"
notification_email = trigger.notification_email
if not notification_email:
raise ValueError(
'Trigger "%s" is not related to any email notification'
% trigger.rec_name)
if notification_email.send_after:
with Transaction().set_context(
queue_scheduled_at=trigger.notification_email.send_after):
notification_email.__class__.__queue__._send_email_queued(
notification_email, [r.id for r in records], trigger.id)
else:
notification_email.send_email(records, trigger)
def _send_email_queued(self, ids, trigger_id):
pool = Pool()
Model = pool.get(self.model)
Trigger = pool.get('ir.trigger')
records = Model.browse(ids)
trigger = Trigger(trigger_id)
self.send_email(records, trigger)
def send_email(self, records, trigger):
pool = Pool()
Email = pool.get('ir.email')
datamanager = SMTPDataManager()
Transaction().join(datamanager)
from_ = (config.get('notification_email', 'from')
or config.get('email', 'from'))
emails = []
for record in records:
to, to_languages = self._get_to(record)
cc, cc_languages = self._get_cc(record)
bcc, bcc_languages = self._get_bcc(record)
languages = to_languages | cc_languages | bcc_languages
msg = self.get_email(record, from_, to, cc, bcc, languages)
if has_rcpt(msg):
send_message_transactional(msg, datamanager=datamanager)
emails.append(Email.from_message(
msg, resource=record,
notification_email=trigger.notification_email,
notification_trigger=trigger))
Email.save(emails)
def _get_recipients(self, record, name):
if name == 'id':
return record
else:
return getattr(record, name, None)
def _get_to(self, record):
to = []
languages = set()
if self.recipients:
recipients = self._get_recipients(record, self.recipients.name)
if recipients:
languages.update(self._get_languages(recipients))
to = self._get_addresses(recipients)
if not to and self.fallback_recipients:
languages.update(
self._get_languages(self.fallback_recipients))
to = self._get_addresses(self.fallback_recipients)
return to, languages
def _get_cc(self, record):
cc = []
languages = set()
if self.recipients_secondary:
recipients_secondary = self._get_recipients(
record, self.recipients_secondary.name)
if recipients_secondary:
languages.update(
self._get_languages(recipients_secondary))
cc = self._get_addresses(recipients_secondary)
if not cc and self.fallback_recipients_secondary:
languages.update(
self._get_languages(self.fallback_recipients_secondary))
cc = self._get_addresses(self.fallback_recipients_secondary)
return cc, languages
def _get_bcc(self, record):
bcc = []
languages = set()
if self.recipients_hidden:
recipients_hidden = self._get_recipients(
record, self.recipients_hidden.name)
if recipients_hidden:
languages.update(self._get_languages(recipients_hidden))
bcc = self._get_addresses(recipients_hidden)
if not bcc and self.fallback_recipients_hidden:
languages.update(
self._get_languages(self.fallback_recipients_hidden))
bcc = self._get_addresses(self.fallback_recipients_hidden)
return bcc, languages
@classmethod
def validate_fields(cls, notifications, field_names):
super().validate_fields(notifications, field_names)
cls.check_subject(notifications, field_names)
@classmethod
def check_subject(cls, notifications, field_names=None):
if field_names and 'subject' not in field_names:
return
for notification in notifications:
if not notification.subject:
continue
try:
TextTemplate(notification.subject)
except Exception as exception:
raise TemplateError(gettext(
'notification_email.'
'msg_notification_invalid_subject',
notification=notification.rec_name,
exception=exception)) from exception
class EmailAttachment(ModelSQL):
__name__ = 'notification.email.attachment'
notification = fields.Many2One(
'notification.email', "Notification", required=True)
report = fields.Many2One(
'ir.action.report', "Report", required=True,
domain=[
('model', '=', Eval('model')),
])
model = fields.Function(fields.Char("Model"), 'get_model')
def get_model(self, name):
return self.notification.model
@classmethod
def get(cls, report, record, language):
pool = Pool()
Report = pool.get(report.report_name, type='report')
with Transaction().set_context(language=language):
ext, content, _, title = Report.execute(
[record.id], {
'action_id': report.id,
})
name = '%s.%s' % (slugify(title), ext)
if isinstance(content, str):
content = content.encode('utf-8')
return name, content

View File

@@ -0,0 +1,57 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="email_view_form">
<field name="model">notification.email</field>
<field name="type">form</field>
<field name="name">email_form</field>
</record>
<record model="ir.ui.view" id="email_view_list">
<field name="model">notification.email</field>
<field name="type">tree</field>
<field name="name">email_list</field>
</record>
<record model="ir.action.act_window" id="act_email_form">
<field name="name">Notification Emails</field>
<field name="res_model">notification.email</field>
</record>
<record model="ir.action.act_window.view"
id="act_email_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="email_view_list"/>
<field name="act_window" ref="act_email_form"/>
</record>
<record model="ir.action.act_window.view"
id="act_email_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="email_view_form"/>
<field name="act_window" ref="act_email_form"/>
</record>
<menuitem
parent="ir.menu_models"
action="act_email_form"
sequence="50"
id="menu_email_form"/>
<record model="ir.model.access" id="access_email">
<field name="model">notification.email</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_email_admin">
<field name="model">notification.email</field>
<field name="group" ref="res.group_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,402 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime as dt
import sys
import unittest
from unittest.mock import patch
import trytond.config as config
try:
from trytond.modules.company.tests import CompanyTestMixin
except ImportError:
class CompanyTestMixin:
pass
from trytond.modules.notification_email import \
notification as notification_module
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
from trytond.transaction import Transaction
FROM = 'tryton@example.com'
class NotificationEmailTestCase(CompanyTestMixin, ModuleTestCase):
"Test Notification Email module"
module = 'notification_email'
extras = ['company', 'commission', 'party', 'web_user']
def setUp(self):
super().setUp()
reset_from = config.get('email', 'from', default='')
config.set('email', 'from', FROM)
self.addCleanup(lambda: config.set('email', 'from', reset_from))
def _setup_notification(self, recipient_field='create_uid'):
pool = Pool()
ModelField = pool.get('ir.model.field')
Action = pool.get('ir.action')
Report = pool.get('ir.action.report')
User = pool.get('res.user')
NotificationEmail = pool.get('notification.email')
action = Action(name="Notification Email", type='ir.action.report')
action.save()
report = Report()
report.report_name = 'notification_notification.test.report'
report.action = action
report.template_extension = 'txt'
report.report_content = b'Hello ${records[0].name}'
report.model = User.__name__
report.save()
user = User(Transaction().user)
user.email = 'user@example.com'
user.save()
notification_email = NotificationEmail()
notification_email.recipients, = ModelField.search([
('model', '=', User.__name__),
('name', '=', recipient_field),
])
notification_email.content = report
notification_email.save()
def run_tasks(self, count=None):
pool = Pool()
Queue = pool.get('ir.queue')
transaction = Transaction()
self.assertTrue(transaction.tasks)
i = 0
while transaction.tasks:
task = Queue(transaction.tasks.pop())
task.run()
i += 1
if count is not None:
if i >= count:
break
@unittest.skipIf(
(3, 5, 0) <= sys.version_info < (3, 5, 2), "python bug #25195")
@with_transaction()
def test_notification_email(self):
"Test email notification is sent on trigger"
pool = Pool()
User = pool.get('res.user')
Trigger = pool.get('ir.trigger')
Model = pool.get('ir.model')
NotificationEmail = pool.get('notification.email')
Email = pool.get('ir.email')
self._setup_notification()
notification_email, = NotificationEmail.search([])
model, = Model.search([
('name', '=', User.__name__),
])
trigger = Trigger(
name="Test creation",
model=model,
on_create_=True,
condition='true',
notification_email=notification_email)
trigger.on_change_notification_email()
self.assertEqual(trigger.action, 'notification.email|trigger')
trigger.save()
with patch.object(
notification_module,
'send_message_transactional') as send_message, \
patch.object(notification_module, 'SMTPDataManager'):
user, = User.create([{'name': "Michael Scott", 'login': "msc"}])
self.run_tasks()
send_message.assert_called_once()
msg, = send_message.call_args[0]
self.assertEqual(msg['From'], FROM)
self.assertEqual(msg['Subject'], 'Notification Email')
self.assertEqual(msg['To'], 'Administrator <user@example.com>')
self.assertEqual(msg['Auto-Submitted'], 'auto-generated')
self.assertEqual(
msg.get_body().get_content(), 'Hello Michael Scott\n')
email, = Email.search([])
self.assertEqual(email.recipients, 'Administrator <user@example.com>')
self.assertEqual(email.recipients_secondary, None)
self.assertEqual(email.recipients_hidden, None)
self.assertEqual(email.subject, 'Notification Email')
self.assertEqual(email.resource, user)
self.assertEqual(email.notification_email, notification_email)
self.assertEqual(email.notification_trigger, trigger)
@unittest.skipIf(
(3, 5, 0) <= sys.version_info < (3, 5, 2), "python bug #25195")
@with_transaction()
def test_notification_email_id_recipient(self):
"Test email notificiation is sent when using id as recipient"
pool = Pool()
User = pool.get('res.user')
Trigger = pool.get('ir.trigger')
Model = pool.get('ir.model')
NotificationEmail = pool.get('notification.email')
Email = pool.get('ir.email')
self._setup_notification(recipient_field='id')
notification_email, = NotificationEmail.search([])
model, = Model.search([
('name', '=', User.__name__),
])
trigger, = Trigger.create([{
'name': 'Test creation',
'model': model.id,
'on_create_': True,
'condition': 'true',
'notification_email': notification_email.id,
'action': 'notification.email|trigger',
}])
with patch.object(
notification_module,
'send_message_transactional') as send_message, \
patch.object(notification_module, 'SMTPDataManager'):
user, = User.create([{
'name': "Michael Scott",
'login': "msc",
'email': 'msc@example.com'}])
self.run_tasks()
send_message.assert_called_once()
email, = Email.search([])
self.assertEqual(email.recipients, 'Michael Scott <msc@example.com>')
self.assertEqual(email.resource, user)
self.assertEqual(email.notification_email, notification_email)
self.assertEqual(email.notification_trigger, trigger)
@with_transaction()
def test_notification_email_delay(self):
"Test email notification is sent with delay"
pool = Pool()
User = pool.get('res.user')
Trigger = pool.get('ir.trigger')
Model = pool.get('ir.model')
NotificationEmail = pool.get('notification.email')
self._setup_notification()
notification_email, = NotificationEmail.search([])
notification_email.send_after = dt.timedelta(minutes=5)
notification_email.save()
model, = Model.search([
('name', '=', User.__name__),
])
Trigger.create([{
'name': 'Test creation',
'model': model.id,
'on_create_': True,
'condition': 'true',
'notification_email': notification_email.id,
'action': 'notification.email|trigger',
}])
with patch.object(
notification_module,
'send_message_transactional') as send_message, \
patch.object(notification_module, 'SMTPDataManager'):
User.create([{'name': "Michael Scott", 'login': "msc"}])
self.run_tasks(1)
send_message.assert_not_called()
self.run_tasks()
send_message.assert_called_once()
@with_transaction()
def test_notification_email_attachment(self):
"Test email notificiation with attachment"
pool = Pool()
Model = pool.get('ir.model')
Report = pool.get('ir.action.report')
User = pool.get('res.user')
NotificationEmail = pool.get('notification.email')
Language = pool.get('ir.lang')
self._setup_notification()
model, = Model.search([
('name', '=', User.__name__),
])
en, = Language.search([('code', '=', 'en')])
attachment = Report()
attachment.name = "Attachment"
attachment.report_name = 'notification_notification.test.report'
attachment.template_extension = 'txt'
attachment.report_content = b'attachment for ${records[0].name}'
attachment.model = model.name
attachment.save()
notification_email, = NotificationEmail.search([])
notification_email.attachments = [attachment]
notification_email.save()
user, = User.create([{'name': "Michael Scott", 'login': "msc"}])
msg = notification_email.get_email(
user, FROM, ['Administrator <user@example.com>'], [], [], [en])
self.assertEqual(msg['From'], FROM)
self.assertEqual(msg['Subject'], 'Notification Email')
self.assertEqual(msg['To'], 'Administrator <user@example.com>')
self.assertEqual(msg.get_content_type(), 'multipart/mixed')
attachment = list(msg.iter_attachments())[0]
self.assertEqual(
attachment.get_payload(None, True),
b'attachment for Michael Scott')
self.assertEqual(
attachment.get_content_type(), 'text/plain')
self.assertEqual(
attachment.get_filename(), "Attachment-Michael-Scott.txt")
@with_transaction()
def test_notification_email_subject(self):
"Test email notificiation with subject"
pool = Pool()
Model = pool.get('ir.model')
User = pool.get('res.user')
NotificationEmail = pool.get('notification.email')
Language = pool.get('ir.lang')
self._setup_notification()
model, = Model.search([
('name', '=', User.__name__),
])
en, = Language.search([('code', '=', 'en')])
notification_email, = NotificationEmail.search([])
notification_email.subject = 'Notification for ${record.name}'
notification_email.save()
user, = User.create([{'name': "Michael Scott", 'login': "msc"}])
msg = notification_email.get_email(
user, FROM, ['Administrator <user@example.com>'], [], [], [en])
self.assertEqual(msg['Subject'], 'Notification for Michael Scott')
@with_transaction()
def test_notification_email_translated_subject(self):
"Test email notificiation with translated subject"
pool = Pool()
Model = pool.get('ir.model')
User = pool.get('res.user')
NotificationEmail = pool.get('notification.email')
Language = pool.get('ir.lang')
self._setup_notification()
model, = Model.search([
('name', '=', User.__name__),
])
es, = Language.search([('code', '=', 'es')])
Language.load_translations([es])
notification_email, = NotificationEmail.search([])
notification_email.subject = 'Notification for ${record.name}'
notification_email.save()
with Transaction().set_context(lang='es'):
notification_email, = NotificationEmail.search([])
notification_email.subject = 'Notificación para ${record.name}'
notification_email.save()
user, = User.create([{
'name': "Michael Scott",
'login': "msc",
'language': es.id,
}])
msg = notification_email.get_email(
user, FROM, ['Administrator <user@example.com>'], [], [], [es])
self.assertEqual(msg['Subject'], 'Notificación para Michael Scott')
@unittest.skipIf(
(3, 5, 0) <= sys.version_info < (3, 5, 2), "python bug #25195")
@with_transaction()
def test_notification_email_fallback(self):
"Test email notification fallback"
pool = Pool()
User = pool.get('res.user')
Trigger = pool.get('ir.trigger')
Model = pool.get('ir.model')
NotificationEmail = pool.get('notification.email')
User = pool.get('res.user')
fallback_user = User()
fallback_user.name = 'Fallback'
fallback_user.email = 'fallback@example.com'
fallback_user.login = 'fallback'
fallback_user.save()
self._setup_notification()
notification_email, = NotificationEmail.search([])
notification_email.recipients = None
notification_email.fallback_recipients = fallback_user
notification_email.save()
model, = Model.search([
('name', '=', User.__name__),
])
Trigger.create([{
'name': 'Test creation',
'model': model.id,
'on_create_': True,
'condition': 'true',
'notification_email': notification_email.id,
'action': 'notification.email|trigger',
}])
with patch.object(
notification_module,
'send_message_transactional') as send_message, \
patch.object(notification_module, 'SMTPDataManager'):
User.create([{'name': "Michael Scott", 'login': "msc"}])
self.run_tasks()
send_message.assert_called_once()
msg, = send_message.call_args[0]
self.assertEqual(msg['To'], 'Fallback <fallback@example.com>')
@with_transaction()
def test_notification_email_no_recipient(self):
"Test email notification no recipient"
pool = Pool()
User = pool.get('res.user')
Trigger = pool.get('ir.trigger')
Model = pool.get('ir.model')
NotificationEmail = pool.get('notification.email')
User = pool.get('res.user')
self._setup_notification()
notification_email, = NotificationEmail.search([])
notification_email.recipients = None
notification_email.save()
model, = Model.search([
('name', '=', User.__name__),
])
Trigger.create([{
'name': 'Test creation',
'model': model.id,
'on_create_': True,
'condition': 'true',
'notification_email': notification_email.id,
'action': 'notification.email|trigger',
}])
with patch.object(
notification_module,
'send_message_transactional') as send_message_transactional, \
patch.object(notification_module, 'SMTPDataManager'):
User.create([{'name': "Michael Scott", 'login': "msc"}])
self.run_tasks()
send_message_transactional.assert_not_called()
del ModuleTestCase

View File

@@ -0,0 +1,21 @@
[tryton]
version=7.8.0
depends:
ir
res
extras_depend:
company
commission
party
web_user
xml:
notification.xml
ir.xml
message.xml
[register]
model:
ir.Trigger
ir.Email
notification.Email
notification.EmailAttachment

View File

@@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="from_"/>
<field name="from_"/>
<label name="content"/>
<field name="content"/>
<label name="subject"/>
<field name="subject" colspan="3"/>
<label name="recipients"/>
<field name="recipients"/>
<label name="fallback_recipients"/>
<field name="fallback_recipients"/>
<label name="recipients_secondary"/>
<field name="recipients_secondary"/>
<label name="fallback_recipients_secondary"/>
<field name="fallback_recipients_secondary"/>
<label name="recipients_hidden"/>
<field name="recipients_hidden"/>
<label name="fallback_recipients_hidden"/>
<field name="fallback_recipients_hidden"/>
<label name="contact_mechanism"/>
<field name="contact_mechanism"/>
<label name="send_after"/>
<field name="send_after"/>
<field name="attachments" colspan="4"/>
<field name="triggers" colspan="4"/>
</form>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="rec_name" expand="1"/>
</tree>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='subject']" position="after">
<label name="notification_email"/>
<field name="notification_email"/>
<label name="notification_trigger"/>
<field name="notification_trigger"/>
</xpath>
</data>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form" position="inside">
<label name="notification_email"/>
<field name="notification_email"/>
</xpath>
</data>