コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
 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)
コード例 #5
0
ファイル: send_newsletter.py プロジェクト: enml/lianpeng
    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)
コード例 #6
0
    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)
コード例 #7
0
 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')
コード例 #8
0
 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')
コード例 #9
0
ファイル: mailer.py プロジェクト: maisengasse/newsletter
    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