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)
Exemplo n.º 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,
            '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)
Exemplo n.º 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)
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({
        'newsletter': newsletter,
        'domain': Site.objects.get_current().domain
    })

    content = render_string(newsletter.content, context)
    title = render_string(newsletter.title, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    unsubscription = render_file('newsletter/newsletter_link_unsubscribe.html',
                                 context)
    # --- template --- start --------------------------------------------------
    if USE_TEMPLATE:
        content = render_to_string(
            'mailtemplates/{0}/{1}'.format(newsletter.template, 'index.html'),
            {
                'content': content,
                'link_site': '',
                'unsubscription': unsubscription
            })
        #insert image_tracking
    else:
        content = body_insertion(content, unsubscription, end=True)
    # --- template --- end ----------------------------------------------------

    return render_to_response('newsletter/newsletter_detail.html', {
        'content': content,
        'title': title,
        'object': newsletter
    },
                              context_instance=RequestContext(request))
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({'newsletter': newsletter,
                    'domain': Site.objects.get_current().domain})

    content = render_string(newsletter.content, context)
    title = render_string(newsletter.title, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    unsubscription = render_file('newsletter/newsletter_link_unsubscribe.html', context)
    # --- template --- start --------------------------------------------------
    if USE_TEMPLATE:
        content =  render_to_string(
            'mailtemplates/{0}/{1}'.format(newsletter.template,'index.html'),
            {
                'content': content,
                'link_site': '',
                'unsubscription': unsubscription
            }
        )
        #insert image_tracking
    else:
        content = body_insertion(content, unsubscription, end=True)
    # --- template --- end ----------------------------------------------------

    return render_to_response('newsletter/newsletter_detail.html',
                              {'content': content,
                               'title': title,
                               'object': newsletter},
                              context_instance=RequestContext(request))
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({'newsletter': newsletter,
                    'domain': Site.objects.get_current().domain})
    
    if settings.NEWSLETTER_DJANGO_CMS_SUPPORT and 'cms' in settings.INSTALLED_APPS:
        from django.test.client import Client
        from cms.views import details
        from cms.models import Page
        
        #get the Django CMS page instance
        page = Page.objects.get(pk=int(newsletter.content))
        
        #get the page content
        c = Client()
        response = c.get(page.get_absolute_url(), HTTP_HOST=str(Site.objects.get_current()))
        
        content = unicode(render_string(unicode(response.content.decode('utf-8')), context))
    else:
        content = render_string(newsletter.content, context)
    
    
    title = render_string(newsletter.title, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    unsubscription = render_file('newsletter/newsletter_link_unsubscribe.html', context)
    
    content = body_insertion(content, unsubscription, end=True)
    
    return render_to_response('newsletter/newsletter_detail.html',
                              {'content': content,
                               'title': title,
                               'object': newsletter},
                              context_instance=RequestContext(request))
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({'newsletter': newsletter,
                    'domain': Site.objects.get_current().domain})
    
    content = render_string(newsletter.content, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    unsubscription = render_file('newsletter/newsletter_link_unsubscribe.html', context)
    content = body_insertion(content, unsubscription, end=True)
        
    return render_to_response('newsletter/newsletter_detail.html',
                              {'content': content,
                               'object': newsletter},
                              context_instance=RequestContext(request))
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({"newsletter": newsletter, "domain": Site.objects.get_current().domain})

    content = render_string(newsletter.content, context)
    title = render_string(newsletter.title, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    if INCLUDE_UNSUBSCRIPTION:
        unsubscription = render_file("newsletter/newsletter_link_unsubscribe.html", context)
        content = body_insertion(content, unsubscription, end=True, insertion_id="unsubscribe-link")

    return render_to_response(
        "newsletter/newsletter_detail.html",
        {"content": content, "title": title, "object": newsletter},
        context_instance=RequestContext(request),
    )
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    context.update({
        'newsletter': newsletter,
        'domain': Site.objects.get_current().domain
    })

    content = render_string(newsletter.content, context)
    title = render_string(newsletter.title, context)
    if TRACKING_LINKS:
        content = track_links(content, context)
    unsubscription = render_file('newsletter/newsletter_link_unsubscribe.html',
                                 context)
    content = body_insertion(content, unsubscription, end=True)

    return render_to_response('newsletter/newsletter_detail.html', {
        'content': content,
        'title': title,
        'object': newsletter
    },
                              context_instance=RequestContext(request))
Exemplo n.º 10
0
    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