From 25e595ccbed218e3f951ace24ffebf20bce83250 Mon Sep 17 00:00:00 2001 From: Javier Iniesta Date: Thu, 12 Nov 2015 17:24:41 +0100 Subject: [PATCH 01/19] event_registration_mass_mailing --- event_registration_mass_mailing/README.rst | 54 ++++++++ event_registration_mass_mailing/__init__.py | 6 + .../__openerp__.py | 22 ++++ event_registration_mass_mailing/i18n/es.po | 123 ++++++++++++++++++ .../i18n/event_registration_mass_mailing.pot | 123 ++++++++++++++++++ .../models/__init__.py | 6 + .../models/event_registration.py | 14 ++ .../models/mass_mailing.py | 16 +++ .../tests/__init__.py | 5 + ...est_event_registration_mail_list_wizard.py | 32 +++++ .../views/event_registration.xml | 74 +++++++++++ .../wizard/__init__.py | 5 + .../event_registration_mail_list_wizard.py | 34 +++++ .../event_registration_mail_list_wizard.xml | 23 ++++ 14 files changed, 537 insertions(+) create mode 100644 event_registration_mass_mailing/README.rst create mode 100644 event_registration_mass_mailing/__init__.py create mode 100644 event_registration_mass_mailing/__openerp__.py create mode 100644 event_registration_mass_mailing/i18n/es.po create mode 100644 event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot create mode 100644 event_registration_mass_mailing/models/__init__.py create mode 100644 event_registration_mass_mailing/models/event_registration.py create mode 100644 event_registration_mass_mailing/models/mass_mailing.py create mode 100644 event_registration_mass_mailing/tests/__init__.py create mode 100644 event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py create mode 100644 event_registration_mass_mailing/views/event_registration.xml create mode 100644 event_registration_mass_mailing/wizard/__init__.py create mode 100644 event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py create mode 100644 event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst new file mode 100644 index 000000000..33ab07920 --- /dev/null +++ b/event_registration_mass_mailing/README.rst @@ -0,0 +1,54 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================== +Mass mailing from events +======================== + +This module adds actions to send mass mailings and allows to add to mailing +lists from event registrations tree view. + +Usage +===== + +* Add 'More > Mass mailing to partners' button in the partner views: with this + button, you can send an email to the selected registrations. + +* Add 'More > Add to mailing list' button in the partner views: with this + button, you can add the selected registrations to a mailing list. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/199/8.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + + +Credits +======= + +Contributors +------------ +* Javier Iniesta + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/event_registration_mass_mailing/__init__.py b/event_registration_mass_mailing/__init__.py new file mode 100644 index 000000000..45216ff29 --- /dev/null +++ b/event_registration_mass_mailing/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from . import models +from . import wizard diff --git a/event_registration_mass_mailing/__openerp__.py b/event_registration_mass_mailing/__openerp__.py new file mode 100644 index 000000000..2bd8ab060 --- /dev/null +++ b/event_registration_mass_mailing/__openerp__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +{ + 'name': "Mass mailing from events", + 'category': 'Marketing', + 'version': '8.0.1.0.0', + 'depends': [ + 'event', + 'mass_mailing' + ], + 'data': [ + 'views/event_registration.xml', + 'wizard/event_registration_mail_list_wizard.xml', + ], + 'author': 'Antiun Ingeniería S.L.,Odoo Community Association (OCA)', + 'website': 'http://www.antiun.com', + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': True, +} diff --git a/event_registration_mass_mailing/i18n/es.po b/event_registration_mass_mailing/i18n/es.po new file mode 100644 index 000000000..b47bdcd13 --- /dev/null +++ b/event_registration_mass_mailing/i18n/es.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_registration_mass_mailing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-10 16:37+0000\n" +"PO-Revision-Date: 2015-11-10 16:37+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list +msgid "Add to mailing list" +msgstr "Añadir a lista de correos" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "Available for mass mailing" +msgstr "Disponible para envío masivo de correo" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +msgid "Create contact mailing list" +msgstr "Crear contactos de lista de correo" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contacts" +msgstr "Crear contactos" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,create_date:0 +msgid "Created on" +msgstr "Creado en" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration +msgid "Event Registration" +msgstr "Registro" + +#. module: event_registration_mass_mailing +#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:15 +#, python-format +msgid "Event Registrations" +msgstr "Registros a eventos" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,event_registrations:0 +msgid "Event registrations" +msgstr "Registros" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,id:0 +msgid "ID" +msgstr "ID" + +#. module: event_registration_mass_mailing +#: help:event.registration,opt_out:0 +msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." +msgstr "Si 'No acepta mensajes' está marcado, este contacto ha rehusado recibir correos electrónicos de envíos masivos y campañas de marketing." + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,mail_list:0 +msgid "Mailing list" +msgstr "Lista de correo" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing +msgid "Mass Mailing" +msgstr "Envío masivo" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail +msgid "Mass mailing to partners" +msgstr "Envío masivo a empresas" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "New" +msgstr "Nuevo" + +#. module: event_registration_mass_mailing +#: field:event.registration,opt_out:0 +msgid "Opt-Out" +msgstr "No acepta recibir emails" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "Registrations that did not ask not to be included in mass mailing campaigns" +msgstr "Registros que pidieron no ser incluidos en campañas de envío masivo de correos" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "or" +msgstr "o" diff --git a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot new file mode 100644 index 000000000..4f81f65aa --- /dev/null +++ b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_registration_mass_mailing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-10 16:37+0000\n" +"PO-Revision-Date: 2015-11-10 16:37+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list +msgid "Add to mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "Available for mass mailing" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Cancel" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +msgid "Create contact mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contacts" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,create_date:0 +msgid "Created on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration +msgid "Event Registration" +msgstr "" + +#. module: event_registration_mass_mailing +#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:15 +#, python-format +msgid "Event Registrations" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,event_registrations:0 +msgid "Event registrations" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,id:0 +msgid "ID" +msgstr "" + +#. module: event_registration_mass_mailing +#: help:event.registration,opt_out:0 +msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration.mail.list.wizard,mail_list:0 +msgid "Mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing +msgid "Mass Mailing" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail +msgid "Mass mailing to partners" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "New" +msgstr "" + +#. module: event_registration_mass_mailing +#: field:event.registration,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration:event_registration_mass_mailing.view_registration_search +msgid "Registrations that did not ask not to be included in mass mailing campaigns" +msgstr "" + +#. module: event_registration_mass_mailing +#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "or" +msgstr "" diff --git a/event_registration_mass_mailing/models/__init__.py b/event_registration_mass_mailing/models/__init__.py new file mode 100644 index 000000000..b6ffb4c9e --- /dev/null +++ b/event_registration_mass_mailing/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from . import event_registration +from . import mass_mailing diff --git a/event_registration_mass_mailing/models/event_registration.py b/event_registration_mass_mailing/models/event_registration.py new file mode 100644 index 000000000..94846d0e9 --- /dev/null +++ b/event_registration_mass_mailing/models/event_registration.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from openerp import models, fields + + +class EventRegistration(models.Model): + _inherit = 'event.registration' + + opt_out = fields.Boolean( + string="Opt-Out", default=False, + help="If opt-out is checked, this contact has refused to receive " + "emails for mass mailing and marketing campaign.") diff --git a/event_registration_mass_mailing/models/mass_mailing.py b/event_registration_mass_mailing/models/mass_mailing.py new file mode 100644 index 000000000..f4b3b9489 --- /dev/null +++ b/event_registration_mass_mailing/models/mass_mailing.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from openerp import models, api +from openerp.tools.translate import _ + + +class MassMailing(models.Model): + _inherit = 'mail.mass_mailing' + + @api.model + def _get_mailing_model(self): + res = super(MassMailing, self)._get_mailing_model() + res.append(('event.registration', _('Event Registrations'))) + return res diff --git a/event_registration_mass_mailing/tests/__init__.py b/event_registration_mass_mailing/tests/__init__.py new file mode 100644 index 000000000..d3c154f35 --- /dev/null +++ b/event_registration_mass_mailing/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from . import test_event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py new file mode 100644 index 000000000..d91d5f264 --- /dev/null +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from openerp.tests.common import TransactionCase + + +class TestEventRegistrationMailListWizard(TransactionCase): + + def setUp(self): + super(TestEventRegistrationMailListWizard, self).setUp() + self.mail_list = self.env['mail.mass_mailing.list'].create({ + 'name': 'Test 01'}) + self.contact = self.env['mail.mass_mailing.contact'].create({ + 'name': 'Test Contact 01', 'email': 'email01@test.com', + 'list_id': self.mail_list.id}) + self.event = self.env.ref('event.event_0') + self.registration_01 = self.env['event.registration'].create({ + 'name': 'Test Registration 01', 'email': 'email01@test.com', + 'event_id': self.event.id}) + self.registration_02 = self.env['event.registration'].create({ + 'name': 'Test Registration 02', 'email': 'email02@test.com', + 'event_id': self.event.id}) + + def test_add_to_mail_list(self): + wizard = self.env['event.registration.mail.list.wizard'].create({ + 'mail_list': self.mail_list.id}) + wizard.with_context( + {'active_ids': [self.registration_01.id, + self.registration_02.id]}).add_to_mail_list() + + self.assertEqual(self.mail_list.contact_nbr, 2) diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml new file mode 100644 index 000000000..e04d1342b --- /dev/null +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -0,0 +1,74 @@ + + + + + + Event Registration Mass Mail + + + ${object.partner_id.id} + ${object.email} + + + + + + + + Marketing - Registrations Search + event.registration + + + + + + + + + + + Marketing - Registrations Tree + event.registration + + + + + + + + + + Marketing - Registrations Form + event.registration + + + + + + + + diff --git a/event_registration_mass_mailing/wizard/__init__.py b/event_registration_mass_mailing/wizard/__init__.py new file mode 100644 index 000000000..36b180a2f --- /dev/null +++ b/event_registration_mass_mailing/wizard/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from . import event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py new file mode 100644 index 000000000..36021ca25 --- /dev/null +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from openerp import models, api, fields + + +class EventRegistrationMailListWizard(models.TransientModel): + _name = "event.registration.mail.list.wizard" + _description = "Create contact mailing list" + + mail_list = fields.Many2one(comodel_name="mail.mass_mailing.list", + string="Mailing list") + event_registrations = fields.Many2many(comodel_name="event.registration", + relation="mail_list_wizard_event" + "_registration") + + @api.multi + def add_to_mail_list(self): + contact_obj = self.env['mail.mass_mailing.contact'] + registration_obj = self.env['event.registration'] + for registration_id in self.env.context.get('active_ids', []): + registration = registration_obj.browse(registration_id) + criteria = [('email', '=', registration.email), + ('list_id', '=', self.mail_list.id)] + contact_test = contact_obj.search(criteria) + if contact_test: + continue + contact_vals = { + 'email': registration.email, + 'name': registration.name, + 'list_id': self.mail_list.id + } + contact_obj.create(contact_vals) diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml new file mode 100644 index 000000000..41b435736 --- /dev/null +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml @@ -0,0 +1,23 @@ + + + + + + event.registration.mail.list.form + event.registration.mail.list.wizard + +
+ + + +
+
+
+
+
+ +
+
From 3e8f3ee4c51c7761a5f9a9de9176e16c52f3a220 Mon Sep 17 00:00:00 2001 From: Antonio Espinosa Date: Thu, 19 Nov 2015 12:26:47 +0100 Subject: [PATCH 02/19] XML view error --- event_registration_mass_mailing/views/event_registration.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index e04d1342b..1b4a2334f 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -64,9 +64,9 @@ event.registration - + From d2dab42656578ee5db5f095bc0f093ae566b5264 Mon Sep 17 00:00:00 2001 From: Javier Iniesta Date: Tue, 24 Nov 2015 17:19:55 +0100 Subject: [PATCH 03/19] event.registration added to model_id domain in email template form view --- .../models/__init__.py | 1 + .../models/email_template.py | 34 +++++++++++++++++++ .../tests/__init__.py | 2 +- .../tests/test_email_template.py | 25 ++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 event_registration_mass_mailing/models/email_template.py create mode 100644 event_registration_mass_mailing/tests/test_email_template.py diff --git a/event_registration_mass_mailing/models/__init__.py b/event_registration_mass_mailing/models/__init__.py index b6ffb4c9e..77b2afea0 100644 --- a/event_registration_mass_mailing/models/__init__.py +++ b/event_registration_mass_mailing/models/__init__.py @@ -2,5 +2,6 @@ # License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta # See README.rst file on addon root folder for more details +from . import email_template from . import event_registration from . import mass_mailing diff --git a/event_registration_mass_mailing/models/email_template.py b/event_registration_mass_mailing/models/email_template.py new file mode 100644 index 000000000..739464f4b --- /dev/null +++ b/event_registration_mass_mailing/models/email_template.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from lxml import etree + +from openerp import models, api +from openerp.tools.safe_eval import safe_eval + + +class EmailTemplate(models.Model): + _inherit = 'email.template' + + @api.model + def fields_view_get(self, view_id=None, view_type='form', + toolbar=False, submenu=False): + res = super(EmailTemplate, self).fields_view_get( + view_id=view_id, view_type=view_type, + toolbar=toolbar, submenu=submenu) + if 'arch' in res: + doc = etree.XML(res['arch']) + for node in doc.xpath("//field[@name='model_id']"): + domain = node.get('domain') + if domain: + domain = safe_eval(domain) + for n, crit in enumerate(domain): + if crit[0] == 'model' and crit[1] == 'in': + v = list(crit[2]) + if 'event.registration' not in v: + v.append('event.registration') + domain[n] = ('model', 'in', tuple(v)) + node.set('domain', str(domain)) + res['arch'] = etree.tostring(doc) + return res diff --git a/event_registration_mass_mailing/tests/__init__.py b/event_registration_mass_mailing/tests/__init__.py index d3c154f35..dbd512e3f 100644 --- a/event_registration_mass_mailing/tests/__init__.py +++ b/event_registration_mass_mailing/tests/__init__.py @@ -2,4 +2,4 @@ # License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta # See README.rst file on addon root folder for more details -from . import test_event_registration_mail_list_wizard +from . import test_email_template, test_event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/tests/test_email_template.py b/event_registration_mass_mailing/tests/test_email_template.py new file mode 100644 index 000000000..7796b4e72 --- /dev/null +++ b/event_registration_mass_mailing/tests/test_email_template.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta +# See README.rst file on addon root folder for more details + +from lxml import etree + +from openerp.tests.common import TransactionCase +from openerp.tools.safe_eval import safe_eval + + +class TestEmailTemplate(TransactionCase): + + def test_fields_view_get(self): + view = self.env['email.template'].with_context( + {'form_view_ref': 'mass_mailing.email_template_form_minimal'} + ).fields_view_get() + doc = etree.XML(view['arch']) + for node in doc.xpath("//field[@name='model_id']"): + domain = node.get('domain') + if domain: + domain = safe_eval(domain) + for n, crit in enumerate(domain): + if crit[0] == 'model' and crit[1] == 'in': + v = list(crit[2]) + self.assertIn('event.registration', v) From 4b3eefe016f992d12b0fb5b00682875a167120bc Mon Sep 17 00:00:00 2001 From: Antonio Espinosa Date: Tue, 10 May 2016 10:30:07 +0200 Subject: [PATCH 04/19] Add email != False to not_opt_out filter --- event_registration_mass_mailing/__openerp__.py | 2 +- event_registration_mass_mailing/views/event_registration.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/event_registration_mass_mailing/__openerp__.py b/event_registration_mass_mailing/__openerp__.py index 2bd8ab060..fb4ba0268 100644 --- a/event_registration_mass_mailing/__openerp__.py +++ b/event_registration_mass_mailing/__openerp__.py @@ -5,7 +5,7 @@ { 'name': "Mass mailing from events", 'category': 'Marketing', - 'version': '8.0.1.0.0', + 'version': '8.0.1.1.0', 'depends': [ 'event', 'mass_mailing' diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index 1b4a2334f..02f39fd66 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -41,8 +41,8 @@ + name='not_opt_out' domain="[('opt_out', '=', False), ('email', '!=', False)]" + help="Registrations that did not ask not to be included in mass mailing campaigns and has an e-mail set."/> From a8ffaf811dee5627a42c38b3112ec52557fa85d3 Mon Sep 17 00:00:00 2001 From: cubells Date: Thu, 12 Jan 2017 20:07:06 +0100 Subject: [PATCH 05/19] event_registration_mass_mailing module - Updated README - Updated views --- event_registration_mass_mailing/README.rst | 20 +-- event_registration_mass_mailing/__init__.py | 4 +- .../__openerp__.py | 10 +- event_registration_mass_mailing/i18n/es.po | 5 - .../i18n/event_registration_mass_mailing.pot | 123 ------------------ .../models/__init__.py | 4 +- .../models/email_template.py | 37 +++--- .../models/event_registration.py | 4 +- .../models/mass_mailing.py | 4 +- .../tests/__init__.py | 4 +- .../tests/test_email_template.py | 7 +- ...est_event_registration_mail_list_wizard.py | 10 +- .../views/event_registration.xml | 10 +- .../wizard/__init__.py | 4 +- .../event_registration_mail_list_wizard.py | 4 +- .../event_registration_mail_list_wizard.xml | 8 +- 16 files changed, 68 insertions(+), 190 deletions(-) delete mode 100644 event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst index 33ab07920..f5b1ca514 100644 --- a/event_registration_mass_mailing/README.rst +++ b/event_registration_mass_mailing/README.rst @@ -12,24 +12,23 @@ lists from event registrations tree view. Usage ===== -* Add 'More > Mass mailing to partners' button in the partner views: with this - button, you can send an email to the selected registrations. +* Add 'Action > Mass mailing to partners' button in the registrations view: + with this button, you can send an email to the selected registrations. -* Add 'More > Add to mailing list' button in the partner views: with this - button, you can add the selected registrations to a mailing list. +* Add 'Action > Add to mailing list' button in the registrations view: with + this button, you can add the selected registrations to a mailing list. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/199/8.0 + :target: https://runbot.odoo-community.org/runbot/199/9.0 Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed feedback -`here `_. - +Bugs are tracked on `GitHub Issues `_. In +case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smash it by providing detailed and welcomed +feedback. Credits ======= @@ -37,6 +36,7 @@ Credits Contributors ------------ * Javier Iniesta +* Vicent Cubells Maintainer ---------- diff --git a/event_registration_mass_mailing/__init__.py b/event_registration_mass_mailing/__init__.py index 45216ff29..9fdd8b8c9 100644 --- a/event_registration_mass_mailing/__init__.py +++ b/event_registration_mass_mailing/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models from . import wizard diff --git a/event_registration_mass_mailing/__openerp__.py b/event_registration_mass_mailing/__openerp__.py index fb4ba0268..27dd88694 100644 --- a/event_registration_mass_mailing/__openerp__.py +++ b/event_registration_mass_mailing/__openerp__.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': "Mass mailing from events", 'category': 'Marketing', - 'version': '8.0.1.1.0', + 'version': '9.0.1.0.0', 'depends': [ 'event', 'mass_mailing' @@ -14,7 +15,8 @@ 'views/event_registration.xml', 'wizard/event_registration_mail_list_wizard.xml', ], - 'author': 'Antiun Ingeniería S.L.,Odoo Community Association (OCA)', + 'author': 'Tecnativa, ' + 'Odoo Community Association (OCA)', 'website': 'http://www.antiun.com', 'license': 'AGPL-3', 'installable': True, diff --git a/event_registration_mass_mailing/i18n/es.po b/event_registration_mass_mailing/i18n/es.po index b47bdcd13..142b558c7 100644 --- a/event_registration_mass_mailing/i18n/es.po +++ b/event_registration_mass_mailing/i18n/es.po @@ -116,8 +116,3 @@ msgstr "No acepta recibir emails" #: view:event.registration:event_registration_mass_mailing.view_registration_search msgid "Registrations that did not ask not to be included in mass mailing campaigns" msgstr "Registros que pidieron no ser incluidos en campañas de envío masivo de correos" - -#. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -msgid "or" -msgstr "o" diff --git a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot deleted file mode 100644 index 4f81f65aa..000000000 --- a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot +++ /dev/null @@ -1,123 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * event_registration_mass_mailing -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-10 16:37+0000\n" -"PO-Revision-Date: 2015-11-10 16:37+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: event_registration_mass_mailing -#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list -msgid "Add to mailing list" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "Available for mass mailing" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -msgid "Cancel" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard -msgid "Create contact mailing list" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -msgid "Create contacts" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,create_uid:0 -msgid "Created by" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,create_date:0 -msgid "Created on" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration -msgid "Event Registration" -msgstr "" - -#. module: event_registration_mass_mailing -#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:15 -#, python-format -msgid "Event Registrations" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,event_registrations:0 -msgid "Event registrations" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,id:0 -msgid "ID" -msgstr "" - -#. module: event_registration_mass_mailing -#: help:event.registration,opt_out:0 -msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,write_uid:0 -msgid "Last Updated by" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,write_date:0 -msgid "Last Updated on" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,mail_list:0 -msgid "Mailing list" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing -msgid "Mass Mailing" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail -msgid "Mass mailing to partners" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "New" -msgstr "" - -#. module: event_registration_mass_mailing -#: field:event.registration,opt_out:0 -msgid "Opt-Out" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "Registrations that did not ask not to be included in mass mailing campaigns" -msgstr "" - -#. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -msgid "or" -msgstr "" diff --git a/event_registration_mass_mailing/models/__init__.py b/event_registration_mass_mailing/models/__init__.py index 77b2afea0..1044a3d91 100644 --- a/event_registration_mass_mailing/models/__init__.py +++ b/event_registration_mass_mailing/models/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import email_template from . import event_registration diff --git a/event_registration_mass_mailing/models/email_template.py b/event_registration_mass_mailing/models/email_template.py index 739464f4b..30d0a031e 100644 --- a/event_registration_mass_mailing/models/email_template.py +++ b/event_registration_mass_mailing/models/email_template.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from lxml import etree @@ -9,7 +10,7 @@ class EmailTemplate(models.Model): - _inherit = 'email.template' + _inherit = 'mail.template' @api.model def fields_view_get(self, view_id=None, view_type='form', @@ -17,18 +18,20 @@ def fields_view_get(self, view_id=None, view_type='form', res = super(EmailTemplate, self).fields_view_get( view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) - if 'arch' in res: - doc = etree.XML(res['arch']) - for node in doc.xpath("//field[@name='model_id']"): - domain = node.get('domain') - if domain: - domain = safe_eval(domain) - for n, crit in enumerate(domain): - if crit[0] == 'model' and crit[1] == 'in': - v = list(crit[2]) - if 'event.registration' not in v: - v.append('event.registration') - domain[n] = ('model', 'in', tuple(v)) - node.set('domain', str(domain)) - res['arch'] = etree.tostring(doc) + if 'arch' not in res: + return res + doc = etree.XML(res['arch']) + for node in doc.xpath("//field[@name='model_id']"): + domain = node.get('domain') + if not domain: + continue + domain = safe_eval(domain) + for n, crit in enumerate(domain): + if crit[0] == 'model' and crit[1] == 'in': + v = list(crit[2]) + if 'event.registration' not in v: + v.append('event.registration') + domain[n] = ('model', 'in', tuple(v)) + node.set('domain', str(domain)) + res['arch'] = etree.tostring(doc) return res diff --git a/event_registration_mass_mailing/models/event_registration.py b/event_registration_mass_mailing/models/event_registration.py index 94846d0e9..5aab19fb1 100644 --- a/event_registration_mass_mailing/models/event_registration.py +++ b/event_registration_mass_mailing/models/event_registration.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from openerp import models, fields diff --git a/event_registration_mass_mailing/models/mass_mailing.py b/event_registration_mass_mailing/models/mass_mailing.py index f4b3b9489..56058e740 100644 --- a/event_registration_mass_mailing/models/mass_mailing.py +++ b/event_registration_mass_mailing/models/mass_mailing.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from openerp import models, api from openerp.tools.translate import _ diff --git a/event_registration_mass_mailing/tests/__init__.py b/event_registration_mass_mailing/tests/__init__.py index dbd512e3f..b6b55fd73 100644 --- a/event_registration_mass_mailing/tests/__init__.py +++ b/event_registration_mass_mailing/tests/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import test_email_template, test_event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/tests/test_email_template.py b/event_registration_mass_mailing/tests/test_email_template.py index 7796b4e72..8b13dac27 100644 --- a/event_registration_mass_mailing/tests/test_email_template.py +++ b/event_registration_mass_mailing/tests/test_email_template.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# Copyright 2017 Tecnativa - Vicent Cubells +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from lxml import etree @@ -11,7 +12,7 @@ class TestEmailTemplate(TransactionCase): def test_fields_view_get(self): - view = self.env['email.template'].with_context( + view = self.env['mail.template'].with_context( {'form_view_ref': 'mass_mailing.email_template_form_minimal'} ).fields_view_get() doc = etree.XML(view['arch']) diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index d91d5f264..f1c05da05 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from openerp.tests.common import TransactionCase @@ -9,6 +9,7 @@ class TestEventRegistrationMailListWizard(TransactionCase): def setUp(self): super(TestEventRegistrationMailListWizard, self).setUp() + self.mass_mailing_obj = self.env['mail.mass_mailing'] self.mail_list = self.env['mail.mass_mailing.list'].create({ 'name': 'Test 01'}) self.contact = self.env['mail.mass_mailing.contact'].create({ @@ -30,3 +31,8 @@ def test_add_to_mail_list(self): self.registration_02.id]}).add_to_mail_list() self.assertEqual(self.mail_list.contact_nbr, 2) + mass_mailing = self.mass_mailing_obj.search( + [('contact_list_ids', 'in', [self.mail_list.id])]) + models = mass_mailing._get_mailing_model() + models_list = [x[0] for x in models] + self.assertTrue('event.registration' in models_list) diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index 02f39fd66..6db991618 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -1,8 +1,7 @@ - - + - + Event Registration Mass Mail @@ -39,7 +38,7 @@ event.registration - + @@ -70,5 +69,4 @@ - - + diff --git a/event_registration_mass_mailing/wizard/__init__.py b/event_registration_mass_mailing/wizard/__init__.py index 36b180a2f..3d4affc4a 100644 --- a/event_registration_mass_mailing/wizard/__init__.py +++ b/event_registration_mass_mailing/wizard/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py index 36021ca25..74a24f0cd 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# License AGPL-3: Antiun Ingenieria S.L. - Javier Iniesta -# See README.rst file on addon root folder for more details +# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from openerp import models, api, fields diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml index 41b435736..2c7107701 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml @@ -1,6 +1,5 @@ - - + event.registration.mail.list.form @@ -12,12 +11,9 @@
-
-
+ From f798a28206c4912e12ac7a58144d4ace794ad17f Mon Sep 17 00:00:00 2001 From: David Vidal Date: Wed, 14 Jun 2017 17:27:56 +0200 Subject: [PATCH 06/19] [MIG] event_registration_mass_mailing: Migration to 10.0 --- event_registration_mass_mailing/README.rst | 3 +- .../{__openerp__.py => __manifest__.py} | 2 +- event_registration_mass_mailing/i18n/es.po | 2 +- .../models/__init__.py | 2 - .../models/email_template.py | 37 ------------------- .../models/event_registration.py | 2 +- .../models/mass_mailing.py | 3 +- .../tests/__init__.py | 3 +- .../tests/test_email_template.py | 26 ------------- ...est_event_registration_mail_list_wizard.py | 2 +- .../event_registration_mail_list_wizard.py | 2 +- 11 files changed, 9 insertions(+), 75 deletions(-) rename event_registration_mass_mailing/{__openerp__.py => __manifest__.py} (95%) delete mode 100644 event_registration_mass_mailing/models/email_template.py delete mode 100644 event_registration_mass_mailing/tests/test_email_template.py diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst index f5b1ca514..b82ee3579 100644 --- a/event_registration_mass_mailing/README.rst +++ b/event_registration_mass_mailing/README.rst @@ -20,7 +20,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/199/9.0 + :target: https://runbot.odoo-community.org/runbot/199/10.0 Bug Tracker =========== @@ -37,6 +37,7 @@ Contributors ------------ * Javier Iniesta * Vicent Cubells +* David Vidal Maintainer ---------- diff --git a/event_registration_mass_mailing/__openerp__.py b/event_registration_mass_mailing/__manifest__.py similarity index 95% rename from event_registration_mass_mailing/__openerp__.py rename to event_registration_mass_mailing/__manifest__.py index 27dd88694..dbf48c47c 100644 --- a/event_registration_mass_mailing/__openerp__.py +++ b/event_registration_mass_mailing/__manifest__.py @@ -6,7 +6,7 @@ { 'name': "Mass mailing from events", 'category': 'Marketing', - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'depends': [ 'event', 'mass_mailing' diff --git a/event_registration_mass_mailing/i18n/es.po b/event_registration_mass_mailing/i18n/es.po index 142b558c7..33257a419 100644 --- a/event_registration_mass_mailing/i18n/es.po +++ b/event_registration_mass_mailing/i18n/es.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-10 16:37+0000\n" "PO-Revision-Date: 2015-11-10 16:37+0000\n" diff --git a/event_registration_mass_mailing/models/__init__.py b/event_registration_mass_mailing/models/__init__.py index 1044a3d91..cd6f5ff25 100644 --- a/event_registration_mass_mailing/models/__init__.py +++ b/event_registration_mass_mailing/models/__init__.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from . import email_template from . import event_registration from . import mass_mailing diff --git a/event_registration_mass_mailing/models/email_template.py b/event_registration_mass_mailing/models/email_template.py deleted file mode 100644 index 30d0a031e..000000000 --- a/event_registration_mass_mailing/models/email_template.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# Copyright 2017 Tecnativa - Vicent Cubells -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from lxml import etree - -from openerp import models, api -from openerp.tools.safe_eval import safe_eval - - -class EmailTemplate(models.Model): - _inherit = 'mail.template' - - @api.model - def fields_view_get(self, view_id=None, view_type='form', - toolbar=False, submenu=False): - res = super(EmailTemplate, self).fields_view_get( - view_id=view_id, view_type=view_type, - toolbar=toolbar, submenu=submenu) - if 'arch' not in res: - return res - doc = etree.XML(res['arch']) - for node in doc.xpath("//field[@name='model_id']"): - domain = node.get('domain') - if not domain: - continue - domain = safe_eval(domain) - for n, crit in enumerate(domain): - if crit[0] == 'model' and crit[1] == 'in': - v = list(crit[2]) - if 'event.registration' not in v: - v.append('event.registration') - domain[n] = ('model', 'in', tuple(v)) - node.set('domain', str(domain)) - res['arch'] = etree.tostring(doc) - return res diff --git a/event_registration_mass_mailing/models/event_registration.py b/event_registration_mass_mailing/models/event_registration.py index 5aab19fb1..f6ff3379d 100644 --- a/event_registration_mass_mailing/models/event_registration.py +++ b/event_registration_mass_mailing/models/event_registration.py @@ -2,7 +2,7 @@ # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, fields +from odoo import fields, models class EventRegistration(models.Model): diff --git a/event_registration_mass_mailing/models/mass_mailing.py b/event_registration_mass_mailing/models/mass_mailing.py index 56058e740..1c433df30 100644 --- a/event_registration_mass_mailing/models/mass_mailing.py +++ b/event_registration_mass_mailing/models/mass_mailing.py @@ -2,8 +2,7 @@ # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, api -from openerp.tools.translate import _ +from odoo import _, api, models class MassMailing(models.Model): diff --git a/event_registration_mass_mailing/tests/__init__.py b/event_registration_mass_mailing/tests/__init__.py index b6b55fd73..da541f28a 100644 --- a/event_registration_mass_mailing/tests/__init__.py +++ b/event_registration_mass_mailing/tests/__init__.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from . import test_email_template, test_event_registration_mail_list_wizard +from . import test_event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/tests/test_email_template.py b/event_registration_mass_mailing/tests/test_email_template.py deleted file mode 100644 index 8b13dac27..000000000 --- a/event_registration_mass_mailing/tests/test_email_template.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# Copyright 2017 Tecnativa - Vicent Cubells -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from lxml import etree - -from openerp.tests.common import TransactionCase -from openerp.tools.safe_eval import safe_eval - - -class TestEmailTemplate(TransactionCase): - - def test_fields_view_get(self): - view = self.env['mail.template'].with_context( - {'form_view_ref': 'mass_mailing.email_template_form_minimal'} - ).fields_view_get() - doc = etree.XML(view['arch']) - for node in doc.xpath("//field[@name='model_id']"): - domain = node.get('domain') - if domain: - domain = safe_eval(domain) - for n, crit in enumerate(domain): - if crit[0] == 'model' and crit[1] == 'in': - v = list(crit[2]) - self.assertIn('event.registration', v) diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index f1c05da05..9d5008841 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -2,7 +2,7 @@ # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp.tests.common import TransactionCase +from odoo.tests.common import TransactionCase class TestEventRegistrationMailListWizard(TransactionCase): diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py index 74a24f0cd..a183af4ca 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py @@ -2,7 +2,7 @@ # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, api, fields +from odoo import api, fields, models class EventRegistrationMailListWizard(models.TransientModel): From b2a1eacb1b57329c8faf38890e10ac2e620a26d4 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Thu, 29 Mar 2018 13:57:54 +0100 Subject: [PATCH 07/19] [FIX] event_registration_mass_mailing: Fix integration tests Testing after installing mass_mailing_list_dynamic produces: IntegrityError: null value in column "sync_domain" violates not-null constraint --- .../__manifest__.py | 2 +- event_registration_mass_mailing/i18n/es.po | 87 ++++++++----- .../i18n/event_registration_mass_mailing.pot | 117 +++++++++++++++++ event_registration_mass_mailing/i18n/fr.po | 123 ++++++++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes ...est_event_registration_mail_list_wizard.py | 4 +- 6 files changed, 297 insertions(+), 36 deletions(-) create mode 100644 event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot create mode 100644 event_registration_mass_mailing/i18n/fr.po create mode 100644 event_registration_mass_mailing/static/description/icon.png diff --git a/event_registration_mass_mailing/__manifest__.py b/event_registration_mass_mailing/__manifest__.py index dbf48c47c..1cd11dad9 100644 --- a/event_registration_mass_mailing/__manifest__.py +++ b/event_registration_mass_mailing/__manifest__.py @@ -6,7 +6,7 @@ { 'name': "Mass mailing from events", 'category': 'Marketing', - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'depends': [ 'event', 'mass_mailing' diff --git a/event_registration_mass_mailing/i18n/es.po b/event_registration_mass_mailing/i18n/es.po index 33257a419..5892a8620 100644 --- a/event_registration_mass_mailing/i18n/es.po +++ b/event_registration_mass_mailing/i18n/es.po @@ -7,13 +7,15 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-10 16:37+0000\n" -"PO-Revision-Date: 2015-11-10 16:37+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2019-02-01 14:03+0000\n" +"Last-Translator: Marta Vázquez Rodríguez \n" "Language-Team: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.4\n" #. module: event_registration_mass_mailing #: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list @@ -21,74 +23,83 @@ msgid "Add to mailing list" msgstr "Añadir a lista de correos" #. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "Available for mass mailing" -msgstr "Disponible para envío masivo de correo" +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration +msgid "Attendee" +msgstr "Asistente" #. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form -msgid "Cancel" -msgstr "Cancelar" +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "Available for mass mailing" +msgstr "Disponible para envío masivo de correo" #. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form #: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contact mailing list" msgstr "Crear contactos de lista de correo" #. module: event_registration_mass_mailing -#: view:event.registration.mail.list.wizard:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contacts" msgstr "Crear contactos" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,create_uid:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid msgid "Created by" msgstr "Creado por" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,create_date:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date msgid "Created on" msgstr "Creado en" #. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration -msgid "Event Registration" -msgstr "Registro" +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +msgid "Display Name" +msgstr "Nombre a mostrar" #. module: event_registration_mass_mailing -#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:15 +#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 #, python-format msgid "Event Registrations" msgstr "Registros a eventos" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,event_registrations:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations msgid "Event registrations" msgstr "Registros" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,id:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id msgid "ID" msgstr "ID" #. module: event_registration_mass_mailing -#: help:event.registration,opt_out:0 -msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." -msgstr "Si 'No acepta mensajes' está marcado, este contacto ha rehusado recibir correos electrónicos de envíos masivos y campañas de marketing." +#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out +msgid "" +"If opt-out is checked, this contact has refused to receive emails for mass " +"mailing and marketing campaign." +msgstr "" +"Si 'No acepta mensajes' está marcado, este contacto ha rehusado recibir " +"correos electrónicos de envíos masivos y campañas de marketing." #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,write_uid:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid msgid "Last Updated by" msgstr "Última actualización por" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,write_date:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date msgid "Last Updated on" msgstr "Última actualización en" #. module: event_registration_mass_mailing -#: field:event.registration.mail.list.wizard,mail_list:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list msgid "Mailing list" msgstr "Lista de correo" @@ -103,16 +114,24 @@ msgid "Mass mailing to partners" msgstr "Envío masivo a empresas" #. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "New" -msgstr "Nuevo" - -#. module: event_registration_mass_mailing -#: field:event.registration,opt_out:0 +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out msgid "Opt-Out" msgstr "No acepta recibir emails" #. module: event_registration_mass_mailing -#: view:event.registration:event_registration_mass_mailing.view_registration_search -msgid "Registrations that did not ask not to be included in mass mailing campaigns" -msgstr "Registros que pidieron no ser incluidos en campañas de envío masivo de correos" +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "" +"Registrations that did not ask not to be included in mass mailing campaigns " +"and has an e-mail set." +msgstr "" +"Registros que no solicitaron no ser incluidos en campañas de envío masivo de " +"correos y tienen establecido un correo electrónico." + +#~ msgid "Cancel" +#~ msgstr "Cancelar" + +#~ msgid "Event Registration" +#~ msgstr "Registro" + +#~ msgid "New" +#~ msgstr "Nuevo" diff --git a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot new file mode 100644 index 000000000..766cd39b6 --- /dev/null +++ b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot @@ -0,0 +1,117 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_registration_mass_mailing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list +msgid "Add to mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration +msgid "Attendee" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "Available for mass mailing" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contact mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contacts" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid +msgid "Created by" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date +msgid "Created on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +msgid "Display Name" +msgstr "" + +#. module: event_registration_mass_mailing +#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 +#, python-format +msgid "Event Registrations" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations +msgid "Event registrations" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id +msgid "ID" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out +msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +msgid "Last Modified on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date +msgid "Last Updated on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list +msgid "Mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing +msgid "Mass Mailing" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail +msgid "Mass mailing to partners" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out +msgid "Opt-Out" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "Registrations that did not ask not to be included in mass mailing campaigns and has an e-mail set." +msgstr "" + diff --git a/event_registration_mass_mailing/i18n/fr.po b/event_registration_mass_mailing/i18n/fr.po new file mode 100644 index 000000000..8fe2cd644 --- /dev/null +++ b/event_registration_mass_mailing/i18n/fr.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_registration_mass_mailing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2018-11-06 13:26+0000\n" +"Last-Translator: William Olhasque \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.2.2\n" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list +msgid "Add to mailing list" +msgstr "Ajouter la liste de distribution" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration +msgid "Attendee" +msgstr "Participant" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "Available for mass mailing" +msgstr "Disponible pour distribution de masse" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contact mailing list" +msgstr "Créer une liste de distribution" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contacts" +msgstr "Créer des contacts" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date +msgid "Created on" +msgstr "Créé le" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: event_registration_mass_mailing +#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 +#, python-format +msgid "Event Registrations" +msgstr "Inscription à l'événement" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations +msgid "Event registrations" +msgstr "Inscriptions à l'événement" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id +msgid "ID" +msgstr "ID" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out +msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." +msgstr "" +"Si l'option retrait (opt-out) est cochée, le contact a refusé de recevoir " +"des e-mails pour les campagnes marketing et mailing." + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid +msgid "Last Updated by" +msgstr "Dernière modification par" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date +msgid "Last Updated on" +msgstr "Dernière modification le" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list +msgid "Mailing list" +msgstr "Liste de distribution" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing +msgid "Mass Mailing" +msgstr "E-mailing de masse" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail +msgid "Mass mailing to partners" +msgstr "E-mailing de masse aux partenaires" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out +msgid "Opt-Out" +msgstr "Option de retrait (opt-out)" + +#. module: event_registration_mass_mailing +#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search +msgid "Registrations that did not ask not to be included in mass mailing campaigns and has an e-mail set." +msgstr "" +"Inscriptions qui n'ont pas refusé de faire partie des campagnes d'e-mailing " +"de masse et un e-mail est défini." diff --git a/event_registration_mass_mailing/static/description/icon.png b/event_registration_mass_mailing/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index 9d5008841..d5be750e1 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -2,9 +2,11 @@ # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo.tests.common import TransactionCase +from odoo.tests.common import at_install, post_install, TransactionCase +@at_install(False) +@post_install(True) class TestEventRegistrationMailListWizard(TransactionCase): def setUp(self): From 59c20363d621fdd49697d3f57436dcfbbf5afb5c Mon Sep 17 00:00:00 2001 From: david Date: Tue, 14 Jul 2020 15:27:02 +0200 Subject: [PATCH 08/19] [MIG] event_registration_mass_mailing: Migration to 12.0 --- event_registration_mass_mailing/README.rst | 92 ++-- event_registration_mass_mailing/__init__.py | 5 - .../__manifest__.py | 11 +- event_registration_mass_mailing/i18n/es.po | 103 ++-- .../i18n/event_registration_mass_mailing.pot | 65 +-- event_registration_mass_mailing/i18n/fr.po | 100 ++-- .../models/__init__.py | 5 - .../models/event_registration.py | 14 - .../models/mass_mailing.py | 15 - .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 2 + .../readme/USAGE.rst | 8 + .../static/description/index.html | 438 ++++++++++++++++++ .../tests/__init__.py | 3 - ...est_event_registration_mail_list_wizard.py | 79 ++-- .../views/event_registration.xml | 75 +-- .../wizard/__init__.py | 4 - .../event_registration_mail_list_wizard.py | 48 +- .../event_registration_mail_list_wizard.xml | 27 +- 19 files changed, 715 insertions(+), 385 deletions(-) delete mode 100644 event_registration_mass_mailing/models/__init__.py delete mode 100644 event_registration_mass_mailing/models/event_registration.py delete mode 100644 event_registration_mass_mailing/models/mass_mailing.py create mode 100644 event_registration_mass_mailing/readme/CONTRIBUTORS.rst create mode 100644 event_registration_mass_mailing/readme/DESCRIPTION.rst create mode 100644 event_registration_mass_mailing/readme/USAGE.rst create mode 100644 event_registration_mass_mailing/static/description/index.html diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst index b82ee3579..28ef1f80a 100644 --- a/event_registration_mass_mailing/README.rst +++ b/event_registration_mass_mailing/README.rst @@ -1,55 +1,91 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 +================================================= +Put event registrations emails into mailing lists +================================================= -======================== -Mass mailing from events -======================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -This module adds actions to send mass mailings and allows to add to mailing -lists from event registrations tree view. +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github + :target: https://github.com/OCA/event/tree/12.0/event_registration_mass_mailing + :alt: OCA/event +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/event-12-0/event-12-0-event_registration_mass_mailing + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/199/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to add event registrations to mailing lists from their +tree view. + +**Table of contents** + +.. contents:: + :local: Usage ===== -* Add 'Action > Mass mailing to partners' button in the registrations view: - with this button, you can send an email to the selected registrations. +To use this module you need to: -* Add 'Action > Add to mailing list' button in the registrations view: with - this button, you can add the selected registrations to a mailing list. - -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/199/10.0 +#. Go to an event attendees tree view and select the ones you want to put into + the mailing list. +#. Click on *Action > Add to mailing list* and a wizard will pop up. +#. Choose the mailing lists you want to put the registrations into. +#. A new contact will be created for each one of the attendees if the mail + address wasn't in the list already. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. In -case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smash it by providing detailed and welcomed -feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +~~~~~~~ + +* Tecnativa + Contributors ------------- +~~~~~~~~~~~~ + * Javier Iniesta -* Vicent Cubells -* David Vidal -Maintainer ----------- +* `Tecnativa `__: + + * Vicent Cubells + * David Vidal + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. +This module is part of the `OCA/event `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/event_registration_mass_mailing/__init__.py b/event_registration_mass_mailing/__init__.py index 9fdd8b8c9..40272379f 100644 --- a/event_registration_mass_mailing/__init__.py +++ b/event_registration_mass_mailing/__init__.py @@ -1,6 +1 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from . import models from . import wizard diff --git a/event_registration_mass_mailing/__manifest__.py b/event_registration_mass_mailing/__manifest__.py index 1cd11dad9..f3aae0a16 100644 --- a/event_registration_mass_mailing/__manifest__.py +++ b/event_registration_mass_mailing/__manifest__.py @@ -1,12 +1,11 @@ -# -*- coding: utf-8 -*- # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta # Copyright 2017 Tecnativa - Vicent Cubells +# Copyright 2020 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - { - 'name': "Mass mailing from events", + 'name': "Put event registrations emails into mailing lists", 'category': 'Marketing', - 'version': '10.0.1.0.1', + 'version': '12.0.1.0.0', 'depends': [ 'event', 'mass_mailing' @@ -17,8 +16,8 @@ ], 'author': 'Tecnativa, ' 'Odoo Community Association (OCA)', - 'website': 'http://www.antiun.com', + 'website': 'http://github.com/OCA/event', 'license': 'AGPL-3', 'installable': True, - 'auto_install': True, + 'auto_install': False, } diff --git a/event_registration_mass_mailing/i18n/es.po b/event_registration_mass_mailing/i18n/es.po index 5892a8620..725ab230f 100644 --- a/event_registration_mass_mailing/i18n/es.po +++ b/event_registration_mass_mailing/i18n/es.po @@ -6,126 +6,109 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-10 16:37+0000\n" -"PO-Revision-Date: 2019-02-01 14:03+0000\n" +"POT-Creation-Date: 2020-07-14 13:24+0000\n" +"PO-Revision-Date: 2020-07-14 15:25+0200\n" "Last-Translator: Marta Vázquez Rodríguez \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.4\n" +"X-Generator: Poedit 2.2.4\n" #. module: event_registration_mass_mailing #: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list msgid "Add to mailing list" msgstr "Añadir a lista de correos" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration -msgid "Attendee" -msgstr "Asistente" - -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "Available for mass mailing" -msgstr "Disponible para envío masivo de correo" - #. module: event_registration_mass_mailing #: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contact mailing list" msgstr "Crear contactos de lista de correo" #. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contacts" msgstr "Crear contactos" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_uid msgid "Created by" msgstr "Creado por" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_date msgid "Created on" msgstr "Creado en" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name msgid "Display Name" msgstr "Nombre a mostrar" #. module: event_registration_mass_mailing -#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 -#, python-format +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__event_registrations msgid "Event Registrations" msgstr "Registros a eventos" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations -msgid "Event registrations" -msgstr "Registros" - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__id msgid "ID" msgstr "ID" #. module: event_registration_mass_mailing -#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out -msgid "" -"If opt-out is checked, this contact has refused to receive emails for mass " -"mailing and marketing campaign." -msgstr "" -"Si 'No acepta mensajes' está marcado, este contacto ha rehusado recibir " -"correos electrónicos de envíos masivos y campañas de marketing." - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard____last_update msgid "Last Modified on" msgstr "Última modificación en" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_uid msgid "Last Updated by" msgstr "Última actualización por" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_date msgid "Last Updated on" msgstr "Última actualización en" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" msgstr "Lista de correo" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing -msgid "Mass Mailing" -msgstr "Envío masivo" +#~ msgid "Mass mailing to partners" +#~ msgstr "Envío masivo a empresas" -#. module: event_registration_mass_mailing -#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail -msgid "Mass mailing to partners" -msgstr "Envío masivo a empresas" +#~ msgid "Attendee" +#~ msgstr "Asistente" -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out -msgid "Opt-Out" -msgstr "No acepta recibir emails" +#~ msgid "Available for mass mailing" +#~ msgstr "Disponible para envío masivo de correo" -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "" -"Registrations that did not ask not to be included in mass mailing campaigns " -"and has an e-mail set." -msgstr "" -"Registros que no solicitaron no ser incluidos en campañas de envío masivo de " -"correos y tienen establecido un correo electrónico." +#~ msgid "Event registrations" +#~ msgstr "Registros" + +#~ msgid "" +#~ "If opt-out is checked, this contact has refused to receive emails for " +#~ "mass mailing and marketing campaign." +#~ msgstr "" +#~ "Si 'No acepta mensajes' está marcado, este contacto ha rehusado recibir " +#~ "correos electrónicos de envíos masivos y campañas de marketing." + +#~ msgid "Mass Mailing" +#~ msgstr "Envío masivo" + +#~ msgid "Opt-Out" +#~ msgstr "No acepta recibir emails" + +#~ msgid "" +#~ "Registrations that did not ask not to be included in mass mailing " +#~ "campaigns and has an e-mail set." +#~ msgstr "" +#~ "Registros que no solicitaron no ser incluidos en campañas de envío masivo " +#~ "de correos y tienen establecido un correo electrónico." #~ msgid "Cancel" #~ msgstr "Cancelar" diff --git a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot index 766cd39b6..47d9f60bc 100644 --- a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot +++ b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -18,100 +18,59 @@ msgstr "" msgid "Add to mailing list" msgstr "" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration -msgid "Attendee" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "Available for mass mailing" -msgstr "" - #. module: event_registration_mass_mailing #: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contact mailing list" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contacts" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_uid msgid "Created by" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_date msgid "Created on" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name msgid "Display Name" msgstr "" #. module: event_registration_mass_mailing -#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 -#, python-format +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__event_registrations msgid "Event Registrations" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations -msgid "Event registrations" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__id msgid "ID" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out -msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard____last_update msgid "Last Modified on" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_uid msgid "Last Updated by" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_date msgid "Last Updated on" msgstr "" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" msgstr "" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing -msgid "Mass Mailing" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail -msgid "Mass mailing to partners" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out -msgid "Opt-Out" -msgstr "" - -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "Registrations that did not ask not to be included in mass mailing campaigns and has an e-mail set." -msgstr "" - diff --git a/event_registration_mass_mailing/i18n/fr.po b/event_registration_mass_mailing/i18n/fr.po index 8fe2cd644..12e09804a 100644 --- a/event_registration_mass_mailing/i18n/fr.po +++ b/event_registration_mass_mailing/i18n/fr.po @@ -1,123 +1,111 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * event_registration_mass_mailing +# * event_registration_mass_mailing # msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2018-11-06 13:26+0000\n" +"POT-Creation-Date: 2020-07-14 13:24+0000\n" +"PO-Revision-Date: 2020-07-14 15:26+0200\n" "Last-Translator: William Olhasque \n" "Language-Team: none\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.2.2\n" +"X-Generator: Poedit 2.2.4\n" #. module: event_registration_mass_mailing #: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list msgid "Add to mailing list" msgstr "Ajouter la liste de distribution" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_event_registration -msgid "Attendee" -msgstr "Participant" - -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "Available for mass mailing" -msgstr "Disponible pour distribution de masse" - #. module: event_registration_mass_mailing #: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contact mailing list" msgstr "Créer une liste de distribution" #. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contacts" msgstr "Créer des contacts" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_uid msgid "Created by" msgstr "Créé par" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_create_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_date msgid "Created on" msgstr "Créé le" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_display_name +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name msgid "Display Name" msgstr "Nom affiché" #. module: event_registration_mass_mailing -#: code:addons/event_registration_mass_mailing/models/mass_mailing.py:14 -#, python-format +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__event_registrations msgid "Event Registrations" msgstr "Inscription à l'événement" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_event_registrations -msgid "Event registrations" -msgstr "Inscriptions à l'événement" - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_id +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__id msgid "ID" msgstr "ID" #. module: event_registration_mass_mailing -#: model:ir.model.fields,help:event_registration_mass_mailing.field_event_registration_opt_out -msgid "If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign." -msgstr "" -"Si l'option retrait (opt-out) est cochée, le contact a refusé de recevoir " -"des e-mails pour les campagnes marketing et mailing." - -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard___last_update +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard____last_update msgid "Last Modified on" msgstr "Dernière modification le" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_uid +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_uid msgid "Last Updated by" msgstr "Dernière modification par" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_write_date +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_date msgid "Last Updated on" msgstr "Dernière modification le" #. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard_mail_list +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" msgstr "Liste de distribution" -#. module: event_registration_mass_mailing -#: model:ir.model,name:event_registration_mass_mailing.model_mail_mass_mailing -msgid "Mass Mailing" -msgstr "E-mailing de masse" +#~ msgid "Mass mailing to partners" +#~ msgstr "E-mailing de masse aux partenaires" -#. module: event_registration_mass_mailing -#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mass_mail -msgid "Mass mailing to partners" -msgstr "E-mailing de masse aux partenaires" +#~ msgid "Attendee" +#~ msgstr "Participant" -#. module: event_registration_mass_mailing -#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_opt_out -msgid "Opt-Out" -msgstr "Option de retrait (opt-out)" +#~ msgid "Available for mass mailing" +#~ msgstr "Disponible pour distribution de masse" -#. module: event_registration_mass_mailing -#: model:ir.ui.view,arch_db:event_registration_mass_mailing.view_registration_search -msgid "Registrations that did not ask not to be included in mass mailing campaigns and has an e-mail set." -msgstr "" -"Inscriptions qui n'ont pas refusé de faire partie des campagnes d'e-mailing " -"de masse et un e-mail est défini." +#~ msgid "Event registrations" +#~ msgstr "Inscriptions à l'événement" + +#~ msgid "" +#~ "If opt-out is checked, this contact has refused to receive emails for " +#~ "mass mailing and marketing campaign." +#~ msgstr "" +#~ "Si l'option retrait (opt-out) est cochée, le contact a refusé de recevoir " +#~ "des e-mails pour les campagnes marketing et mailing." + +#~ msgid "Mass Mailing" +#~ msgstr "E-mailing de masse" + +#~ msgid "Opt-Out" +#~ msgstr "Option de retrait (opt-out)" + +#~ msgid "" +#~ "Registrations that did not ask not to be included in mass mailing " +#~ "campaigns and has an e-mail set." +#~ msgstr "" +#~ "Inscriptions qui n'ont pas refusé de faire partie des campagnes d'e-" +#~ "mailing de masse et un e-mail est défini." diff --git a/event_registration_mass_mailing/models/__init__.py b/event_registration_mass_mailing/models/__init__.py deleted file mode 100644 index cd6f5ff25..000000000 --- a/event_registration_mass_mailing/models/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from . import event_registration -from . import mass_mailing diff --git a/event_registration_mass_mailing/models/event_registration.py b/event_registration_mass_mailing/models/event_registration.py deleted file mode 100644 index f6ff3379d..000000000 --- a/event_registration_mass_mailing/models/event_registration.py +++ /dev/null @@ -1,14 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import fields, models - - -class EventRegistration(models.Model): - _inherit = 'event.registration' - - opt_out = fields.Boolean( - string="Opt-Out", default=False, - help="If opt-out is checked, this contact has refused to receive " - "emails for mass mailing and marketing campaign.") diff --git a/event_registration_mass_mailing/models/mass_mailing.py b/event_registration_mass_mailing/models/mass_mailing.py deleted file mode 100644 index 1c433df30..000000000 --- a/event_registration_mass_mailing/models/mass_mailing.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import _, api, models - - -class MassMailing(models.Model): - _inherit = 'mail.mass_mailing' - - @api.model - def _get_mailing_model(self): - res = super(MassMailing, self)._get_mailing_model() - res.append(('event.registration', _('Event Registrations'))) - return res diff --git a/event_registration_mass_mailing/readme/CONTRIBUTORS.rst b/event_registration_mass_mailing/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..4dc059d1a --- /dev/null +++ b/event_registration_mass_mailing/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* Javier Iniesta + +* `Tecnativa `__: + + * Vicent Cubells + * David Vidal diff --git a/event_registration_mass_mailing/readme/DESCRIPTION.rst b/event_registration_mass_mailing/readme/DESCRIPTION.rst new file mode 100644 index 000000000..a54914f85 --- /dev/null +++ b/event_registration_mass_mailing/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module allows to add event registrations to mailing lists from their +tree view. diff --git a/event_registration_mass_mailing/readme/USAGE.rst b/event_registration_mass_mailing/readme/USAGE.rst new file mode 100644 index 000000000..f6326f755 --- /dev/null +++ b/event_registration_mass_mailing/readme/USAGE.rst @@ -0,0 +1,8 @@ +To use this module you need to: + +#. Go to an event attendees tree view and select the ones you want to put into + the mailing list. +#. Click on *Action > Add to mailing list* and a wizard will pop up. +#. Choose the mailing lists you want to put the registrations into. +#. A new contact will be created for each one of the attendees if the mail + address wasn't in the list already. diff --git a/event_registration_mass_mailing/static/description/index.html b/event_registration_mass_mailing/static/description/index.html new file mode 100644 index 000000000..7a4de2d07 --- /dev/null +++ b/event_registration_mass_mailing/static/description/index.html @@ -0,0 +1,438 @@ + + + + + + +Put event registrations emails into mailing lists + + + +
+

Put event registrations emails into mailing lists

+ + +

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runbot

+

This module allows to add event registrations to mailing lists from their +tree view.

+

Table of contents

+ +
+

Usage

+

To use this module you need to:

+
    +
  1. Go to an event attendees tree view and select the ones you want to put into +the mailing list.
  2. +
  3. Click on Action > Add to mailing list and a wizard will pop up.
  4. +
  5. Choose the mailing lists you want to put the registrations into.
  6. +
  7. A new contact will be created for each one of the attendees if the mail +address wasn’t in the list already.
  8. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/event project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/event_registration_mass_mailing/tests/__init__.py b/event_registration_mass_mailing/tests/__init__.py index da541f28a..d7e7a5bf1 100644 --- a/event_registration_mass_mailing/tests/__init__.py +++ b/event_registration_mass_mailing/tests/__init__.py @@ -1,4 +1 @@ -# -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from . import test_event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index d5be750e1..080179bad 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -1,40 +1,55 @@ -# -*- coding: utf-8 -*- # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# Copyright 2020 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields +from odoo.tests.common import SavepointCase -from odoo.tests.common import at_install, post_install, TransactionCase - -@at_install(False) -@post_install(True) -class TestEventRegistrationMailListWizard(TransactionCase): - - def setUp(self): - super(TestEventRegistrationMailListWizard, self).setUp() - self.mass_mailing_obj = self.env['mail.mass_mailing'] - self.mail_list = self.env['mail.mass_mailing.list'].create({ - 'name': 'Test 01'}) - self.contact = self.env['mail.mass_mailing.contact'].create({ - 'name': 'Test Contact 01', 'email': 'email01@test.com', - 'list_id': self.mail_list.id}) - self.event = self.env.ref('event.event_0') - self.registration_01 = self.env['event.registration'].create({ - 'name': 'Test Registration 01', 'email': 'email01@test.com', - 'event_id': self.event.id}) - self.registration_02 = self.env['event.registration'].create({ - 'name': 'Test Registration 02', 'email': 'email02@test.com', - 'event_id': self.event.id}) +class TestEventRegistrationMailListWizard(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.mass_mailing_obj = cls.env["mail.mass_mailing"] + cls.mail_list = cls.env["mail.mass_mailing.list"].create( + {"name": "Test 01"} + ) + cls.contact = cls.env["mail.mass_mailing.contact"].create( + { + "name": "Test Contact 01", + "email": "email01@test.com", + "list_ids": [[6, 0, [cls.mail_list.id]]], + } + ) + cls.event = cls.env["event.event"].create( + { + "name": "Test event", + "date_begin": fields.Datetime.now(), + "date_end": fields.Datetime.now(), + "seats_availability": "limited", + "seats_max": "5", + "seats_min": "1", + } + ) + cls.registration_01 = cls.env["event.registration"].create( + { + "name": "Test Registration 01", + "email": "email01@test.com", + "event_id": cls.event.id, + } + ) + cls.registration_02 = cls.env["event.registration"].create( + { + "name": "Test Registration 02", + "email": "email02@test.com", + "event_id": cls.event.id, + } + ) def test_add_to_mail_list(self): - wizard = self.env['event.registration.mail.list.wizard'].create({ - 'mail_list': self.mail_list.id}) + wizard = self.env["event.registration.mail.list.wizard"].create( + {"mail_list": self.mail_list.id} + ) wizard.with_context( - {'active_ids': [self.registration_01.id, - self.registration_02.id]}).add_to_mail_list() - + {"active_ids": [self.registration_01.id, self.registration_02.id]} + ).add_to_mail_list() self.assertEqual(self.mail_list.contact_nbr, 2) - mass_mailing = self.mass_mailing_obj.search( - [('contact_list_ids', 'in', [self.mail_list.id])]) - models = mass_mailing._get_mailing_model() - models_list = [x[0] for x in models] - self.assertTrue('event.registration' in models_list) diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index 6db991618..6da86a2c7 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -1,72 +1,13 @@ - - Event Registration Mass Mail - - - ${object.partner_id.id} - ${object.email} - - - - - - - - Marketing - Registrations Search - event.registration - - - - - - - - - - - Marketing - Registrations Tree - event.registration - - - - - - - - - - Marketing - Registrations Form - event.registration - - - - - - - + diff --git a/event_registration_mass_mailing/wizard/__init__.py b/event_registration_mass_mailing/wizard/__init__.py index 3d4affc4a..76815f307 100644 --- a/event_registration_mass_mailing/wizard/__init__.py +++ b/event_registration_mass_mailing/wizard/__init__.py @@ -1,5 +1 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from . import event_registration_mail_list_wizard diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py index a183af4ca..810b3f4d3 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py @@ -1,34 +1,36 @@ -# -*- coding: utf-8 -*- # Copyright 2016 Antiun Ingenieria S.L. - Javier Iniesta +# Copyright 2020 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import api, fields, models +from odoo import fields, models class EventRegistrationMailListWizard(models.TransientModel): _name = "event.registration.mail.list.wizard" _description = "Create contact mailing list" - mail_list = fields.Many2one(comodel_name="mail.mass_mailing.list", - string="Mailing list") - event_registrations = fields.Many2many(comodel_name="event.registration", - relation="mail_list_wizard_event" - "_registration") + mail_list = fields.Many2one( + comodel_name="mail.mass_mailing.list", string="Mailing list" + ) + event_registrations = fields.Many2many( + comodel_name="event.registration", + relation="mail_list_wizard_event" "_registration", + ) - @api.multi def add_to_mail_list(self): - contact_obj = self.env['mail.mass_mailing.contact'] - registration_obj = self.env['event.registration'] - for registration_id in self.env.context.get('active_ids', []): - registration = registration_obj.browse(registration_id) - criteria = [('email', '=', registration.email), - ('list_id', '=', self.mail_list.id)] - contact_test = contact_obj.search(criteria) - if contact_test: + contact_obj = self.env["mail.mass_mailing.contact"] + for registration in self.env.context.get("active_ids", []): + registration = self.env["event.registration"].browse(registration) + if contact_obj.search( + [ + ("email", "=", registration.email), + ("list_ids", "in", self.mail_list.id), + ] + ): continue - contact_vals = { - 'email': registration.email, - 'name': registration.name, - 'list_id': self.mail_list.id - } - contact_obj.create(contact_vals) + contact_obj.create( + { + "email": registration.email, + "name": registration.name, + "list_ids": [[6, 0, [self.mail_list.id]]], + } + ) diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml index 2c7107701..13e207fed 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml @@ -1,19 +1,18 @@ - - event.registration.mail.list.form - event.registration.mail.list.wizard - -
- - - -
-
-
-
-
+ + event.registration.mail.list.wizard + +
+ + + +
+
+
+
+
From dbf68107c1e10c1e663c9048034ef62dbd234da8 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Thu, 9 Dec 2021 22:55:29 -0500 Subject: [PATCH 09/19] [IMP] event_registration_mass_mailing: black, isort, prettier --- .../__manifest__.py | 28 ++++++++----------- ...est_event_registration_mail_list_wizard.py | 4 +-- .../views/event_registration.xml | 6 ++-- .../event_registration_mail_list_wizard.xml | 11 ++++++-- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/event_registration_mass_mailing/__manifest__.py b/event_registration_mass_mailing/__manifest__.py index f3aae0a16..cc703c133 100644 --- a/event_registration_mass_mailing/__manifest__.py +++ b/event_registration_mass_mailing/__manifest__.py @@ -3,21 +3,17 @@ # Copyright 2020 Tecnativa - David Vidal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': "Put event registrations emails into mailing lists", - 'category': 'Marketing', - 'version': '12.0.1.0.0', - 'depends': [ - 'event', - 'mass_mailing' + "name": "Put event registrations emails into mailing lists", + "category": "Marketing", + "version": "12.0.1.0.0", + "depends": ["event", "mass_mailing"], + "data": [ + "views/event_registration.xml", + "wizard/event_registration_mail_list_wizard.xml", ], - 'data': [ - 'views/event_registration.xml', - 'wizard/event_registration_mail_list_wizard.xml', - ], - 'author': 'Tecnativa, ' - 'Odoo Community Association (OCA)', - 'website': 'http://github.com/OCA/event', - 'license': 'AGPL-3', - 'installable': True, - 'auto_install': False, + "author": "Tecnativa, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/event", + "license": "AGPL-3", + "installable": True, + "auto_install": False, } diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index 080179bad..23f4f85a4 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -10,9 +10,7 @@ class TestEventRegistrationMailListWizard(SavepointCase): def setUpClass(cls): super().setUpClass() cls.mass_mailing_obj = cls.env["mail.mass_mailing"] - cls.mail_list = cls.env["mail.mass_mailing.list"].create( - {"name": "Test 01"} - ) + cls.mail_list = cls.env["mail.mass_mailing.list"].create({"name": "Test 01"}) cls.contact = cls.env["mail.mass_mailing.contact"].create( { "name": "Test Contact 01", diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index 6da86a2c7..b627ee385 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -1,13 +1,15 @@ - + id="action_event_registration_mail_list" + /> diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml index 13e207fed..e537175fd 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.xml @@ -1,4 +1,4 @@ - + @@ -6,10 +6,15 @@
- +
-
From b8ad599a3b0b62887ed618cbbdcae8b2d7b0a7ab Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Thu, 30 Dec 2021 12:37:34 -0500 Subject: [PATCH 10/19] [MIG] event_registration_mass_mailing: Migration to 14.0 --- event_registration_mass_mailing/README.rst | 10 +++--- .../__manifest__.py | 5 +-- .../i18n/event_registration_mass_mailing.pot | 7 ++-- .../security/ir.model.access.csv | 2 ++ .../static/description/index.html | 6 ++-- ...est_event_registration_mail_list_wizard.py | 10 +++--- .../views/event_registration.xml | 20 +++++------- .../event_registration_mail_list_wizard.py | 32 +++++++------------ 8 files changed, 39 insertions(+), 53 deletions(-) create mode 100644 event_registration_mass_mailing/security/ir.model.access.csv diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst index 28ef1f80a..0fb4bc94e 100644 --- a/event_registration_mass_mailing/README.rst +++ b/event_registration_mass_mailing/README.rst @@ -14,13 +14,13 @@ Put event registrations emails into mailing lists :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github - :target: https://github.com/OCA/event/tree/12.0/event_registration_mass_mailing + :target: https://github.com/OCA/event/tree/14.0/event_registration_mass_mailing :alt: OCA/event .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/event-12-0/event-12-0-event_registration_mass_mailing + :target: https://translation.odoo-community.org/projects/event-14-0/event-14-0-event_registration_mass_mailing :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/199/12.0 + :target: https://runbot.odoo-community.org/runbot/199/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -86,6 +86,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/event `_ project on GitHub. +This module is part of the `OCA/event `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/event_registration_mass_mailing/__manifest__.py b/event_registration_mass_mailing/__manifest__.py index cc703c133..243d55d2d 100644 --- a/event_registration_mass_mailing/__manifest__.py +++ b/event_registration_mass_mailing/__manifest__.py @@ -5,13 +5,14 @@ { "name": "Put event registrations emails into mailing lists", "category": "Marketing", - "version": "12.0.1.0.0", + "version": "14.0.1.0.0", "depends": ["event", "mass_mailing"], "data": [ + "security/ir.model.access.csv", "views/event_registration.xml", "wizard/event_registration_mail_list_wizard.xml", ], - "author": "Tecnativa, " "Odoo Community Association (OCA)", + "author": "Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/event", "license": "AGPL-3", "installable": True, diff --git a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot index 47d9f60bc..f9b26a8c9 100644 --- a/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot +++ b/event_registration_mass_mailing/i18n/event_registration_mass_mailing.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * event_registration_mass_mailing +# * event_registration_mass_mailing # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -73,4 +73,3 @@ msgstr "" #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" msgstr "" - diff --git a/event_registration_mass_mailing/security/ir.model.access.csv b/event_registration_mass_mailing/security/ir.model.access.csv new file mode 100644 index 000000000..8a9d78390 --- /dev/null +++ b/event_registration_mass_mailing/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_registration_mail_list_wizard_mass_mailing_user,event.registration.mail.list.wizard.mass_mailing_user,model_event_registration_mail_list_wizard,mass_mailing.group_mass_mailing_user,1,1,1,1 diff --git a/event_registration_mass_mailing/static/description/index.html b/event_registration_mass_mailing/static/description/index.html index 7a4de2d07..1e80347bf 100644 --- a/event_registration_mass_mailing/static/description/index.html +++ b/event_registration_mass_mailing/static/description/index.html @@ -367,7 +367,7 @@

Put event registrations emails into mailing lists

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runbot

This module allows to add event registrations to mailing lists from their tree view.

Table of contents

@@ -400,7 +400,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -429,7 +429,7 @@

Maintainers

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/event project on GitHub.

+

This module is part of the OCA/event project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py index 23f4f85a4..122ee548b 100644 --- a/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/tests/test_event_registration_mail_list_wizard.py @@ -9,9 +9,9 @@ class TestEventRegistrationMailListWizard(SavepointCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.mass_mailing_obj = cls.env["mail.mass_mailing"] - cls.mail_list = cls.env["mail.mass_mailing.list"].create({"name": "Test 01"}) - cls.contact = cls.env["mail.mass_mailing.contact"].create( + cls.mass_mailing_obj = cls.env["mailing.mailing"] + cls.mail_list = cls.env["mailing.list"].create({"name": "Test 01"}) + cls.contact = cls.env["mailing.contact"].create( { "name": "Test Contact 01", "email": "email01@test.com", @@ -23,9 +23,7 @@ def setUpClass(cls): "name": "Test event", "date_begin": fields.Datetime.now(), "date_end": fields.Datetime.now(), - "seats_availability": "limited", "seats_max": "5", - "seats_min": "1", } ) cls.registration_01 = cls.env["event.registration"].create( @@ -50,4 +48,4 @@ def test_add_to_mail_list(self): wizard.with_context( {"active_ids": [self.registration_01.id, self.registration_02.id]} ).add_to_mail_list() - self.assertEqual(self.mail_list.contact_nbr, 2) + self.assertEqual(len(self.mail_list.contact_ids), 2) diff --git a/event_registration_mass_mailing/views/event_registration.xml b/event_registration_mass_mailing/views/event_registration.xml index b627ee385..2e235dcf3 100644 --- a/event_registration_mass_mailing/views/event_registration.xml +++ b/event_registration_mass_mailing/views/event_registration.xml @@ -1,15 +1,11 @@ - - - + + Add to mailing list + event.registration.mail.list.wizard + + form + list + new + diff --git a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py index 810b3f4d3..a39012dce 100644 --- a/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py +++ b/event_registration_mass_mailing/wizard/event_registration_mail_list_wizard.py @@ -8,29 +8,19 @@ class EventRegistrationMailListWizard(models.TransientModel): _name = "event.registration.mail.list.wizard" _description = "Create contact mailing list" - mail_list = fields.Many2one( - comodel_name="mail.mass_mailing.list", string="Mailing list" - ) + mail_list = fields.Many2one(comodel_name="mailing.list", string="Mailing list") event_registrations = fields.Many2many( comodel_name="event.registration", - relation="mail_list_wizard_event" "_registration", + relation="mail_list_wizard_event_registration", ) def add_to_mail_list(self): - contact_obj = self.env["mail.mass_mailing.contact"] - for registration in self.env.context.get("active_ids", []): - registration = self.env["event.registration"].browse(registration) - if contact_obj.search( - [ - ("email", "=", registration.email), - ("list_ids", "in", self.mail_list.id), - ] - ): - continue - contact_obj.create( - { - "email": registration.email, - "name": registration.name, - "list_ids": [[6, 0, [self.mail_list.id]]], - } - ) + registrations = self.env["event.registration"].search( + [ + ("id", "in", self.env.context.get("active_ids", [])), + ("email", "not in", self.mail_list.contact_ids.mapped("email")), + ] + ) + self.mail_list.contact_ids = [ + (0, 0, {"email": r.email, "name": r.name}) for r in registrations + ] From 0a437ea939e02431adcc7ad02f4d6333b06fd5a6 Mon Sep 17 00:00:00 2001 From: Sergio Zanchetta Date: Fri, 7 Oct 2022 14:46:44 +0000 Subject: [PATCH 11/19] Added translation using Weblate (Italian) --- event_registration_mass_mailing/i18n/it.po | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 event_registration_mass_mailing/i18n/it.po diff --git a/event_registration_mass_mailing/i18n/it.po b/event_registration_mass_mailing/i18n/it.po new file mode 100644 index 000000000..8dbb57ce6 --- /dev/null +++ b/event_registration_mass_mailing/i18n/it.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * event_registration_mass_mailing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: event_registration_mass_mailing +#: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list +msgid "Add to mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contact mailing list" +msgstr "" + +#. module: event_registration_mass_mailing +#: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form +msgid "Create contacts" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__event_registrations +msgid "Event Registrations" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__id +msgid "ID" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard____last_update +msgid "Last Modified on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: event_registration_mass_mailing +#: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list +msgid "Mailing list" +msgstr "" From 65cd63c859909fb532a210d9e2166b9e56034005 Mon Sep 17 00:00:00 2001 From: Sergio Zanchetta Date: Sat, 8 Oct 2022 21:50:16 +0000 Subject: [PATCH 12/19] Translated using Weblate (Italian) Currently translated at 50.0% (6 of 12 strings) Translation: event-14.0/event-14.0-event_registration_mass_mailing Translate-URL: https://translation.odoo-community.org/projects/event-14-0/event-14-0-event_registration_mass_mailing/it/ --- event_registration_mass_mailing/i18n/it.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/event_registration_mass_mailing/i18n/it.po b/event_registration_mass_mailing/i18n/it.po index 8dbb57ce6..dd075f56c 100644 --- a/event_registration_mass_mailing/i18n/it.po +++ b/event_registration_mass_mailing/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2022-10-08 23:35+0000\n" +"Last-Translator: Sergio Zanchetta \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: event_registration_mass_mailing #: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list @@ -43,32 +45,32 @@ msgstr "" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__event_registrations msgid "Event Registrations" -msgstr "" +msgstr "Registrazioni evento" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__id msgid "ID" -msgstr "" +msgstr "ID" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Ultimo aggiornamento di" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__write_date msgid "Last Updated on" -msgstr "" +msgstr "Ultimo aggiornamento il" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list From b5df20596d00aa44ea561b67b83a52fbfedd8e33 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 20 Jul 2023 06:13:59 +0000 Subject: [PATCH 13/19] Translated using Weblate (Italian) Currently translated at 100.0% (12 of 12 strings) Translation: event-14.0/event-14.0-event_registration_mass_mailing Translate-URL: https://translation.odoo-community.org/projects/event-14-0/event-14-0-event_registration_mass_mailing/it/ --- event_registration_mass_mailing/i18n/it.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/event_registration_mass_mailing/i18n/it.po b/event_registration_mass_mailing/i18n/it.po index dd075f56c..e4d03f3a6 100644 --- a/event_registration_mass_mailing/i18n/it.po +++ b/event_registration_mass_mailing/i18n/it.po @@ -6,41 +6,41 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2022-10-08 23:35+0000\n" -"Last-Translator: Sergio Zanchetta \n" +"PO-Revision-Date: 2023-07-20 08:09+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.17\n" #. module: event_registration_mass_mailing #: model:ir.actions.act_window,name:event_registration_mass_mailing.action_event_registration_mail_list msgid "Add to mailing list" -msgstr "" +msgstr "Aggiungi alla mailing list" #. module: event_registration_mass_mailing #: model:ir.model,name:event_registration_mass_mailing.model_event_registration_mail_list_wizard #: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contact mailing list" -msgstr "" +msgstr "Crea mailing list contatto" #. module: event_registration_mass_mailing #: model_terms:ir.ui.view,arch_db:event_registration_mass_mailing.event_registration_mail_list_wizard_form msgid "Create contacts" -msgstr "" +msgstr "Crea contatti" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_uid msgid "Created by" -msgstr "" +msgstr "Creato da" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__create_date msgid "Created on" -msgstr "" +msgstr "Creato il" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__display_name @@ -75,4 +75,4 @@ msgstr "Ultimo aggiornamento il" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" -msgstr "" +msgstr "Mailing List" From a25702e8524c47765f17ab46a847418308d612d2 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 28 Jul 2023 10:33:06 +0000 Subject: [PATCH 14/19] Translated using Weblate (Italian) Currently translated at 100.0% (12 of 12 strings) Translation: event-14.0/event-14.0-event_registration_mass_mailing Translate-URL: https://translation.odoo-community.org/projects/event-14-0/event-14-0-event_registration_mass_mailing/it/ --- event_registration_mass_mailing/README.rst | 15 +++++--- event_registration_mass_mailing/i18n/it.po | 4 +- .../static/description/index.html | 38 ++++++++++--------- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/event_registration_mass_mailing/README.rst b/event_registration_mass_mailing/README.rst index 0fb4bc94e..a41c8f53e 100644 --- a/event_registration_mass_mailing/README.rst +++ b/event_registration_mass_mailing/README.rst @@ -2,10 +2,13 @@ Put event registrations emails into mailing lists ================================================= -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:69d8db38fe7d4cafd568018b560b6b161b4ac3f5a5e308c75ce3b2fe54ed7eab + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Put event registrations emails into mailing lists .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/event-14-0/event-14-0-event_registration_mass_mailing :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/199/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows to add event registrations to mailing lists from their tree view. @@ -50,7 +53,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed +If you spotted it first, help us to smash it by providing a detailed and welcomed `feedback `_. Do not contact contributors directly about support or help with technical issues. diff --git a/event_registration_mass_mailing/i18n/it.po b/event_registration_mass_mailing/i18n/it.po index e4d03f3a6..0d6fe98e0 100644 --- a/event_registration_mass_mailing/i18n/it.po +++ b/event_registration_mass_mailing/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-07-20 08:09+0000\n" +"PO-Revision-Date: 2023-07-28 13:09+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -75,4 +75,4 @@ msgstr "Ultimo aggiornamento il" #. module: event_registration_mass_mailing #: model:ir.model.fields,field_description:event_registration_mass_mailing.field_event_registration_mail_list_wizard__mail_list msgid "Mailing list" -msgstr "Mailing List" +msgstr "Mailing list" diff --git a/event_registration_mass_mailing/static/description/index.html b/event_registration_mass_mailing/static/description/index.html index 1e80347bf..9ba3f5856 100644 --- a/event_registration_mass_mailing/static/description/index.html +++ b/event_registration_mass_mailing/static/description/index.html @@ -1,20 +1,20 @@ - + - + Put event registrations emails into mailing lists