def build_email_content(self, contact): """Generate the mail for a contact""" uidb36, token = tokenize(contact) context = Context({'contact': contact, 'domain': Site.objects.get_current().domain, 'newsletter': self.newsletter, 'uidb36': uidb36, 'token': token}) content = self.newsletter_template.render(context) if TRACKING_LINKS: content = track_links(content, context) link_site = render_to_string('newsletter/newsletter_link_site.html', context) #content = body_insertion(content, link_site) content = insert_tag(content,'table','viewbrowser',link_site) if INCLUDE_UNSUBSCRIPTION: unsubscription = render_to_string('newsletter/newsletter_link_unsubscribe.html', context) content = insert_tag(content,'span','unsubscribe', unsubscription) viewbrowser = render_to_string('newsletter/newsletter_link_viewbrowser.html', context) content = insert_tag(content,'span','viewbrowser', viewbrowser) subscription = render_to_string('newsletter/newsletter_link_subscribe.html', context) content = insert_tag(content,'span','subscribe', subscription) if TRACKING_IMAGE: image_tracking = render_to_string('newsletter/newsletter_image_tracking.html', context) content = body_insertion(content, image_tracking, end=True) return smart_unicode(content)
def build_email_content(self, contact): """Generate the mail for a contact""" uidb36, token = tokenize(contact) context = Context({ 'contact': contact, 'domain': Site.objects.get_current().domain, 'newsletter': self.newsletter, 'tracking_image_format': TRACKING_IMAGE_FORMAT, 'uidb36': uidb36, 'token': token }) content = self.newsletter_template.render(context) if TRACKING_LINKS: content = track_links(content, context) link_site = render_to_string('newsletter/newsletter_link_site.html', context) content = body_insertion(content, link_site) if INCLUDE_UNSUBSCRIPTION: unsubscription = render_to_string( 'newsletter/newsletter_link_unsubscribe.html', context) content = body_insertion(content, unsubscription, end=True) if TRACKING_IMAGE: image_tracking = render_to_string( 'newsletter/newsletter_image_tracking.html', context) content = body_insertion(content, image_tracking, end=True) return smart_unicode(content)
def build_email_content(self, contact): """Generate the mail for a contact""" # --- template --- start ---------------------------------------------- link_site = unsubscription = image_tracking = '' # --- template --- end ------------------------------------------------ uidb36, token = tokenize(contact) context = Context({'contact': contact, 'domain': Site.objects.get_current().domain, 'newsletter': self.newsletter, 'tracking_image_format': TRACKING_IMAGE_FORMAT, 'uidb36': uidb36, 'token': token}) content = self.newsletter_template.render(context) if TRACKING_LINKS: content = track_links(content, context) link_site = render_to_string('newsletter/newsletter_link_site.html', context) # --- template --- start ---------------------------------------------- if INCLUDE_UNSUBSCRIPTION: unsubscription = render_to_string( 'newsletter/newsletter_link_unsubscribe.html', context ) if TRACKING_IMAGE: image_tracking = render_to_string( 'newsletter/newsletter_image_tracking.html', context ) if USE_TEMPLATE: content = render_to_string( 'mailtemplates/{0}/{1}'.format(self.newsletter.template,'index.html'), { 'content': content, 'link_site': link_site, 'unsubscription': unsubscription } ) #insert image_tracking else: content = body_insertion(content, link_site) if INCLUDE_UNSUBSCRIPTION: content = body_insertion(content, unsubscription, end=True) if TRACKING_IMAGE: content = body_insertion(content, image_tracking, end=True) # --- template --- end ------------------------------------------------ return smart_unicode(content)
def build_email_content(self, contact): """Generate the mail for a contact""" uidb36, token = tokenize(contact) domain = Site.objects.get_current().domain context = Context({'contact': contact, 'domain': domain, 'newsletter': self.newsletter, 'tracking_image_format': TRACKING_IMAGE_FORMAT, 'uidb36': uidb36, 'token': token}) context['NEWSLETTER_LINK'] = "http://%s%s" % (domain, reverse("newsletter_newsletter_contact", kwargs={"slug":self.newsletter.slug,"uidb36": uidb36,"token":token})) context['UNSUBSCRIBE_LINK'] = "http://%s%s" % (domain, reverse("newsletter_mailinglist_unsubscribe", kwargs={"slug":self.newsletter.slug,"uidb36": uidb36,"token":token})) context['TRACKING_IMAGE_LINK'] = "http://%s%s" % (domain, reverse("newsletter_newsletter_tracking", kwargs={"slug":self.newsletter.slug,"uidb36": uidb36,"token":token, "format":TRACKING_IMAGE_FORMAT})) context['SHOW_TRACKING_IMAGE'] = ";display:block;" content = self.newsletter_template.render(context) return smart_unicode(content)
def build_email_content(self, contact): """Generate the mail for a contact""" uidb36, token = tokenize(contact) domain = Site.objects.get_current().domain context = Context({'contact': contact, 'domain': domain, 'newsletter': self.newsletter, 'uidb36': uidb36, 'token': token}) content = self.newsletter_template.render(context) unsubscribe_link = "http://{}{}".format(domain, reverse('newsletter_mailinglist_unsubscribe', args=(self.newsletter.slug, uidb36, token))) html_body = render_to_string("misc/email_templates/default.html", {'subject': self.newsletter.title, 'body': content, 'unsubscribe_link': unsubscribe_link}) return smart_unicode(html_body)
def build_email_content(self, contact): """Generate the mail for a contact""" uidb36, token = tokenize(contact) domain = Site.objects.get_current().domain context = Context({ 'contact': contact, 'domain': domain, 'newsletter': self.newsletter, 'uidb36': uidb36, 'token': token }) content = self.newsletter_template.render(context) unsubscribe_link = "http://{}{}".format( domain, reverse('newsletter_mailinglist_unsubscribe', args=(self.newsletter.slug, uidb36, token))) html_body = render_to_string( "misc/email_templates/default.html", { 'subject': self.newsletter.title, 'body': content, 'unsubscribe_link': unsubscribe_link }) return smart_unicode(html_body)
def test_tokenize_untokenize(self): uidb36, token = tokenize(self.contact) self.assertEquals(untokenize(uidb36, token), self.contact) self.assertRaises(Http404, untokenize, 'toto', token) self.assertRaises(Http404, untokenize, uidb36, 'toto')
def build_email_content(self, contact, template=None, plain=False): """Generate the mail for a contact""" uidb36, token = tokenize(contact) domain = Site.objects.get_current().domain class FakeRequest(object): REQUEST = { 'language' : 'de' } GET = {} session = {} user = AnonymousUser() current_page = None request = FakeRequest() try: from cms.plugin_rendering import ContentRenderer content_renderer = ContentRenderer(request=request) except ImportError: content_renderer = None NEWSLETTER_PORTAL_URL = getattr(settings, "NEWSLETTER_PORTAL_URL", settings.PORTAL_URL) context = {'contact': contact, 'domain': domain, 'request' : request, 'cms_content_renderer' : content_renderer, 'newsletter': self.newsletter, 'object': self.newsletter, 'uidb36': uidb36, 'token': token, 'PORTAL_URL' : settings.PORTAL_URL, 'NEWSLETTER_PORTAL_URL' : NEWSLETTER_PORTAL_URL, 'MEDIA_URL' : "http://" + domain + settings.MEDIA_URL, 'NEWSLETTER_MEDIA_URL' : NEWSLETTER_MEDIA_URL, } content = self.newsletter_template.render(SekizaiContext(context)) if template: context.update({'content':content}) try: content = render_to_string(template, context.flatten()) except AttributeError: content = render_to_string(template, context) try: flat_context = context.flatten() except AttributeError: flat_context = context if not plain and TRACKING_LINKS: content = track_links(content, context) if not plain and INCLUDE_UNSUBSCRIPTION: unsubscription = render_to_string('newsletter/newsletter_link_unsubscribe.html', flat_context) content = body_insertion(content, unsubscription, end=True) if not plain and TRACKING_IMAGE: image_tracking = render_to_string('newsletter/newsletter_image_tracking.html', flat_context) content = body_insertion(content, image_tracking, end=True) return content