Exemple #1
0
def template_html(request, template_id):
    template = get_object_or_404(Template, template_id=template_id)

    if not template.html_file:
        raise Http404

    simplified = True

    login_content = ""
    include_login = request.GET.get('include_login', False)
    if include_login:
        login_content = render_to_string(
            'newsletters/login.txt', context_instance=RequestContext(request))

    jumplink_content = ""
    jump_links = request.GET.get('jump_links', 1)
    if jump_links:
        jumplink_content = render_to_string(
            'newsletters/jumplinks.txt',
            locals(),
            context_instance=RequestContext(request))

    art_content = ""
    articles = request.GET.get('articles', 1)
    articles_days = request.GET.get('articles_days', 60)
    if articles:
        articles_list, articles_content = newsletter_articles_list(
            request, articles_days, simplified)

    news_content = ""
    news = request.GET.get('news', 1)
    news_days = request.GET.get('news_days', 30)
    if news:
        news_list, news_content = newsletter_news_list(request, news_days,
                                                       simplified)

    jobs_content = ""
    jobs = request.GET.get('jobs', 1)
    jobs_days = request.GET.get('jobs_days', 30)
    if jobs:
        jobs_list, jobs_content = newsletter_jobs_list(request, jobs_days,
                                                       simplified)

    pages_content = ""
    pages = request.GET.get('pages', 0)
    pages_days = request.GET.get('pages_days', 7)
    if pages:
        pages_list, pages_content = newsletter_pages_list(
            request, pages_days, simplified)
    try:
        from tendenci.addons.events.models import Event, Type
        events = request.GET.get('events', 1)
        events_type = request.GET.get('events_type')
        start_y, start_m, start_d = request.GET.get(
            'event_start_dt', str(datetime.date.today())).split('-')
        event_start_dt = datetime.date(int(start_y), int(start_m),
                                       int(start_d))
        end_y, end_m, end_d = request.GET.get(
            'event_end_dt',
            str(datetime.date.today() +
                datetime.timedelta(days=90))).split('-')
        event_end_dt = datetime.date(int(end_y), int(end_m), int(end_d))
        if events:
            #events_list = Event.objects.filter(start_dt__lt=event_end_dt, end_dt__gt=event_start_dt, status_detail='active', status=True, allow_anonymous_view=True)
            events_list = Event.objects.filter(start_dt__gte=event_start_dt,
                                               start_dt__lt=event_end_dt,
                                               status_detail='active',
                                               status=True,
                                               allow_anonymous_view=True)
            if events_type:
                events_list = events_list.filter(type__pk=events_type)
                events_type = Type.objects.filter(pk=events_type)[0]
            events_list = events_list.order_by('start_dt')
    except ImportError:
        events_list = []
        events_type = None

    text = DTemplate(apply_template_media(template))
    context = RequestContext(
        request,
        {
            'jumplink_content': jumplink_content,
            'login_content': login_content,
            "art_content": articles_content,  # legacy usage in templates
            "articles_content": articles_content,
            "articles_list": articles_list,
            "jobs_content": jobs_content,
            "jobs_list": jobs_list,
            "news_content": news_content,
            "news_list": news_list,
            "pages_content": pages_content,
            "pages_list": pages_content,
            "events": events_list,  # legacy usage in templates
            "events_list": events_list,
            "events_type": events_type
        })

    response = HttpResponse(text.render(context))
    response['Content-Disposition'] = 'attachment; file=page.html'

    return response
Exemple #2
0
def template_html(request, template_id):
    template = get_object_or_404(Template, template_id=template_id)

    if not template.html_file:
        raise Http404

    simplified = True

    login_content = ""
    include_login = request.GET.get("include_login", False)
    if include_login:
        login_content = render_to_string("newsletters/login.txt", context_instance=RequestContext(request))

    jumplink_content = ""
    jump_links = request.GET.get("jump_links", 1)
    if jump_links:
        jumplink_content = render_to_string(
            "newsletters/jumplinks.txt", locals(), context_instance=RequestContext(request)
        )

    art_content = ""
    articles = request.GET.get("articles", 1)
    articles_days = request.GET.get("articles_days", 60)
    if articles:
        articles_list, articles_content = newsletter_articles_list(request, articles_days, simplified)

    news_content = ""
    news = request.GET.get("news", 1)
    news_days = request.GET.get("news_days", 30)
    if news:
        news_list, news_content = newsletter_news_list(request, news_days, simplified)

    jobs_content = ""
    jobs = request.GET.get("jobs", 1)
    jobs_days = request.GET.get("jobs_days", 30)
    if jobs:
        jobs_list, jobs_content = newsletter_jobs_list(request, jobs_days, simplified)

    pages_content = ""
    pages = request.GET.get("pages", 0)
    pages_days = request.GET.get("pages_days", 7)
    if pages:
        pages_list, pages_content = newsletter_pages_list(request, pages_days, simplified)
    try:
        from tendenci.addons.events.models import Event, Type

        events = request.GET.get("events", 1)
        events_type = request.GET.get("events_type")
        start_y, start_m, start_d = request.GET.get("event_start_dt", str(datetime.date.today())).split("-")
        event_start_dt = datetime.date(int(start_y), int(start_m), int(start_d))
        end_y, end_m, end_d = request.GET.get(
            "event_end_dt", str(datetime.date.today() + datetime.timedelta(days=90))
        ).split("-")
        event_end_dt = datetime.date(int(end_y), int(end_m), int(end_d))
        if events:
            events_list = Event.objects.filter(
                start_dt__lt=event_end_dt,
                end_dt__gt=event_start_dt,
                status_detail="active",
                status=True,
                allow_anonymous_view=True,
            )
            if events_type:
                events_list = events_list.filter(type__pk=events_type)
                events_type = Type.objects.filter(pk=events_type)[0]
            events_list = events_list.order_by("start_dt")
    except ImportError:
        events_list = []
        events_type = None

    text = DTemplate(apply_template_media(template))
    context = RequestContext(
        request,
        {
            "jumplink_content": jumplink_content,
            "login_content": login_content,
            "art_content": articles_content,  # legacy usage in templates
            "articles_content": articles_content,
            "articles_list": articles_list,
            "jobs_content": jobs_content,
            "jobs_list": jobs_list,
            "news_content": news_content,
            "news_list": news_list,
            "pages_content": pages_content,
            "pages_list": pages_content,
            "events": events_list,  # legacy usage in templates
            "events_list": events_list,
            "events_type": events_type,
        },
    )

    response = HttpResponse(text.render(context))
    response["Content-Disposition"] = "attachment; file=page.html"

    return response
Exemple #3
0
def template_render(request, template_id):
    template = get_object_or_404(Template, template_id=template_id)

    if not template.html_file:
        raise Http404

    simplified = True

    login_content = ""
    include_login = request.GET.get('include_login', False)
    if include_login:
        login_content = render_to_string('newsletters/login.txt',
                                        context_instance=RequestContext(request))

    jumplink_content = ""
    jump_links = request.GET.get('jump_links', 1)
    if jump_links:
        jumplink_content = render_to_string('newsletters/jumplinks.txt', locals(),
                                        context_instance=RequestContext(request))

    art_content = ""
    articles = request.GET.get('articles', 1)
    articles_days = request.GET.get('articles_days', 60)
    if articles:
        articles_list, articles_content = newsletter_articles_list(request, articles_days, simplified)

    news_content = ""
    news = request.GET.get('news', 1)
    news_days = request.GET.get('news_days',30)
    if news:
        news_list, news_content = newsletter_news_list(request, news_days, simplified)

    jobs_content = ""
    jobs = request.GET.get('jobs', 1)
    jobs_days = request.GET.get('jobs_days', 30)
    if jobs:
        jobs_list, jobs_content = newsletter_jobs_list(request, jobs_days, simplified)

    pages_content = ""
    pages = request.GET.get('pages', 0)
    pages_days = request.GET.get('pages_days', 7)
    if pages:
        pages_list, pages_content = newsletter_pages_list(request, pages_days, simplified)
    try:
        from tendenci.addons.events.models import Event, Type
        events = request.GET.get('events', 1)
        events_type = request.GET.get('events_type')
        start_y, start_m, start_d = request.GET.get('event_start_dt', str(datetime.date.today())).split('-')
        event_start_dt = datetime.date(int(start_y), int(start_m), int(start_d))
        end_y, end_m, end_d = request.GET.get('event_end_dt', str(datetime.date.today() + datetime.timedelta(days=90))).split('-')
        event_end_dt = datetime.date(int(end_y), int(end_m), int(end_d))
        if events:
            #events_list = Event.objects.filter(start_dt__lt=event_end_dt, end_dt__gt=event_start_dt, status_detail='active', status=True, allow_anonymous_view=True)
            events_list = Event.objects.filter(start_dt__gte=event_start_dt,
                                               start_dt__lt=event_end_dt,
                                               status_detail='active',
                                               status=True,
                                               allow_anonymous_view=True)
            if events_type:
                events_list = events_list.filter(type__pk=events_type)
                events_type = Type.objects.filter(pk=events_type)[0]
            events_list = events_list.order_by('start_dt')
    except ImportError:
        events_list = []
        events_type = None

    text = DTemplate(apply_template_media(template))
    context = RequestContext(request,
            {
                'jumplink_content':jumplink_content,
                'login_content':login_content,
                "art_content":articles_content, # legacy usage in templates
                "articles_content":articles_content,
                "articles_list":articles_list,
                "jobs_content":jobs_content,
                "jobs_list":jobs_list,
                "news_content":news_content,
                "news_list":news_list,
                "pages_content":pages_content,
                "pages_list":pages_content,
                "events":events_list, # legacy usage in templates
                "events_list":events_list,
                "events_type":events_type
            })

    response = HttpResponse(text.render(context))

    return response