diff --git a/groupeurd_newsletter/__openerp__.py b/groupeurd_newsletter/__openerp__.py
index f4ec266..945e569 100644
--- a/groupeurd_newsletter/__openerp__.py
+++ b/groupeurd_newsletter/__openerp__.py
@@ -11,13 +11,16 @@
- Unicité de l'abonné dans chaque liste
- Droits d'utilisateur pour limiter accès à uniquement publipostages et listes de diffusion
- Retirer droit de suppression d'abonné au profil Responsable Marketing
- - Retirer la gestion des nom des abonnés (dans la liste ou dans le formulaire)
+ - Retirer la gestion des noms des abonnés (dans la liste ou dans le formulaire)
- Ajouter un champ "unsubscribed_by_odoo_user" qui sera manipulé pour les désincriptions par interface
- Afficher champ create_uid pour savoir provenance des contacts
- Ne garder que les modèles de courriel de newsletter dans Publipostages/Modèles de courriel
- Modèles de newsletter spécifiques
- Lien vers version HTML (format proposé: __HTML_VERSION_URL__)
- Placement libre du lien de désinscription (format proposé: __UNSUBSCRIBE_URL__)
+ - Ajout section "Dernières publications" aux modèles Newsletter URD
+ - Empêcher pour un publipostage de faire un second clic "Envoyer à tous" si l'envoi de mails est déjà planifié
+ - Ajouter automatiquement un lien de désinscription s'il n'est pas ajouté manuellement
En projet:
- Ecraser les propriétés d'un publipostage par les propriétés standard d'un modèle de courriel au moment de la sélection de ce dernier.
@@ -31,7 +34,7 @@
# Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
# for the full list
'category': 'Marketing',
- 'version': '0.4',
+ 'version': '0.5',
# any module necessary for this one to work correctly
'depends': ['base','mass_mailing','marketing','website_mail'],
diff --git a/groupeurd_newsletter/models.py b/groupeurd_newsletter/models.py
index 1c7e412..98dd6b4 100644
--- a/groupeurd_newsletter/models.py
+++ b/groupeurd_newsletter/models.py
@@ -9,6 +9,9 @@ from openerp.osv import osv
from openerp import tools
from openerp.tools.translate import _
+import logging
+_logger = logging.getLogger(__name__)
+
# Overrides mass mailing Contact for this module purpose
class contact(models.Model):
_name = "mail.mass_mailing.contact"
@@ -70,7 +73,11 @@ class MailMail(osv.Model):
has_email_to = emails and emails[0] or False
unsubscribe_url = self._get_unsubscribe_url(cr, uid, mail, has_email_to, context=context)
if unsubscribe_url:
- body = body.replace('__UNSUBSCRIBE_URL__', unsubscribe_url)
+ if body.count('__UNSUBSCRIBE_URL__') > 0:
+ body = body.replace('__UNSUBSCRIBE_URL__', unsubscribe_url)
+ else:
+ unsubscribe_link = '%s' % (unsubscribe_url, _('Click to unsubscribe'))
+ body = tools.append_content_to_html(body,unsubscribe_link, plaintext=False, container_tag='p')
html_version_url = self._get_html_version_url(cr, uid, mail, has_email_to, context=context)
body = body.replace('__HTML_VERSION_URL__', html_version_url)
@@ -95,10 +102,13 @@ class TestMassMailing(osv.TransientModel):
mass_mailing_id = fields.Many2one('mail.mass_mailing', 'Mailing', required=True, ondelete='cascade')
def send_mail_test(self, cr, uid, ids, context=None):
+ _logger.info('entering new send_mail_test')
#Add a 'mass_mailing_test' flag in the context to be able to build correct HTML_VERSION/UNSUBSCRIBE URLs in test mode
context['mass_mailing_test'] = True
Mail = self.pool['mail.mail']
+
+ _logger.info('before send_mail_test for loop')
for wizard in self.browse(cr, uid, ids, context=context):
mailing = wizard.mass_mailing_id
test_emails = tools.email_split(wizard.email_to)
@@ -117,11 +127,18 @@ class TestMassMailing(osv.TransientModel):
mail_mail_obj = Mail.browse(cr, uid, Mail.create(cr, uid, mail_values, context=context), context=context)
unsubscribe_url = Mail._get_unsubscribe_url(cr, uid, mail_mail_obj, test_mail, context=context)
html_version_url = Mail._get_html_version_url(cr, uid, mail_mail_obj, test_mail, context=context)
- body = mailing.body_html.replace('__UNSUBSCRIBE_URL__', unsubscribe_url)
+ if unsubscribe_url:
+ if mailing.body_html.count('__UNSUBSCRIBE_URL__') > 0:
+ body = mailing.body_html.replace('__UNSUBSCRIBE_URL__', unsubscribe_url)
+ else:
+ unsubscribe_link = '%s' % (unsubscribe_url, _('Click to unsubscribe'))
+ body = tools.append_content_to_html(mailing.body_html,unsubscribe_link, plaintext=False, container_tag='p')
body = mailing.body_html.replace('__HTML_VERSION_URL__', html_version_url)
Mail.write(cr, uid, mail_mail_obj.id, {'body_html': mailing.body_html}, context=context)
mail_ids.append(mail_mail_obj.id)
+ _logger.info('just before new send_mail_test Mail.send')
Mail.send(cr, uid, mail_ids, context=context)
+ _logger.info('just after new send_mail_test Mail.send')
self.pool['mail.mass_mailing'].write(cr, uid, [mailing.id], {'state': 'test'}, context=context)
return True
diff --git a/groupeurd_newsletter/newsletter-fr-template.xml b/groupeurd_newsletter/newsletter-fr-template.xml
index 988f07c..b67eaff 100644
--- a/groupeurd_newsletter/newsletter-fr-template.xml
+++ b/groupeurd_newsletter/newsletter-fr-template.xml
@@ -207,6 +207,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DERNIÈRES PUBLICATIONS DU GROUPE URD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Forced Migration Review, « Resettlement »
+
+
+
+
+
+
+
Ce
+ numéro de la revue des migrations forcées s’intéresse aux modalités et
+ aux enjeux de la réinstallation, à la façon dont celle-ci est gérée,
+ aussi bien financièrement qu’humainement. Les articles présentent
+ différentes études de cas, des exemples de réinstallation positifs et
+ d’autres plus négatifs. Des retours en arrière historiques montrent par
+ exemple la réinstallation des réfugiés hongrois en 1956. Des articles
+ généraux clôturent la revue. En
+ savoir plus
+
+
+
+
+
+
+
o
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -342,6 +427,8 @@
+
+
+
+
+
+
+
+ Publi FR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Forced Migration Review, « Resettlement »
+
+
+
+
+
+
+
Ce
+ numéro de la revue des migrations forcées s’intéresse aux modalités et
+ aux enjeux de la réinstallation, à la façon dont celle-ci est gérée,
+ aussi bien financièrement qu’humainement. Les articles présentent
+ différentes études de cas, des exemples de réinstallation positifs et
+ d’autres plus négatifs. Des retours en arrière historiques montrent par
+ exemple la réinstallation des réfugiés hongrois en 1956. Des articles
+ généraux clôturent la revue. En
+ savoir plus
+
+
+
+
+
+
+
o
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/groupeurd_newsletter/views.xml b/groupeurd_newsletter/views.xml
index 01a0fbf..13912af 100644
--- a/groupeurd_newsletter/views.xml
+++ b/groupeurd_newsletter/views.xml
@@ -23,6 +23,23 @@
+
+
+ mail.mass_mailing.form
+ mail.mass_mailing
+
+
+
+
+
+
\ No newline at end of file