コード例 #1
0
    def save_model(self, request, newsletter, form, change):
        newsletter.save()
        workgroups = []
        if not newsletter.pk and not request.user.is_superuser \
               and USE_WORKGROUPS:
            workgroups = request_workgroups(request)

#        if newsletter.content.startswith('http://'):
#            if CAN_USE_PREMAILER:
#                try:
#                    premailer = Premailer(newsletter.content.strip())
#                    newsletter.content = premailer.transform()
#                except PremailerError:
#                    self.message_user(request, _('Unable to download HTML, due to errors within.'))
#            else:
#                self.message_user(request, _('Please install lxml for parsing an URL.'))
        clusters = Cluster.objects.filter(publish=True).exclude(id='services')
        quote = Quote.objects.order_by('?')[0]
        smlinks = Socialmedialink.objects.all()
        context = {'newsletter': newsletter,
                    'domain': Site.objects.get_current().domain,
                    'CLUSTERS':clusters,
                    'QUOTE':quote,
                    'SOCIALMEDIALINKS':smlinks,
                    'location':Location.objects.get(town='amsterdam'),
                    'YEAR': datetime.now().year,
                    'MEDIA_URL': settings.MEDIA_URL,}
        newsletter.content = get_content(newsletter, context)
        newsletter.save()

        if not request.user.has_perm('newsletter.can_change_status'):
            newsletter.status = form.initial.get('status', Newsletter.DRAFT)

        for workgroup in workgroups:
            workgroup.newsletters.add(newsletter)
コード例 #2
0
def render_newsletter(request, slug, context):
    """Return a newsletter in HTML format"""
    newsletter = get_object_or_404(Newsletter, slug=slug)
    clusters = Cluster.objects.filter(publish=True).exclude(id='services')
    quote = Quote.objects.order_by('?')[0]
    smlinks = Socialmedialink.objects.all()
    context.update({'newsletter': newsletter,
                    'domain': Site.objects.get_current().domain,
                    'CLUSTERS':clusters,
                    'QUOTE':quote,
                    'SOCIALMEDIALINKS':smlinks,
                    'location':Location.objects.get(town='amsterdam'),
                    'YEAR': datetime.now().year,
                    'MEDIA_URL': settings.MEDIA_URL,})

    content = get_content(newsletter, context)
    #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 = insert_tag(content, 'span', 'unsubscribe', unsubscription)
    subscription = render_file('newsletter/newsletter_link_subscribe.html', context)
    content = insert_tag(content, 'span', 'subscribe', subscription)

    return render_to_response('includes/newsletter/newsletter_wrapper.html',
                              {'content': content,
                               'title': title,
                               'object': newsletter,
                               'CLUSTERS': clusters,},
                              context_instance=RequestContext(request))