Example #1
0
def _render_page(request, page, template):
    
    template = page['template_name'] or template
    
    if image_compiler:
        page['text'] = image_compiler.render(page['text'])
    
    if collection_compiler:
        try:
            page['text'] = collection_compiler.render(request.site, getattr(request, 'theme', None), get_context(request), page['text'])
        except TypeError:
            page['text'] = collection_compiler.render(site=request.site, theme=getattr(request, 'theme', None), source=page['text'])
        
    if form_compiler:
        redirect_url, page['text'] = form_compiler.render(request, page['text'])
    else:
        redirect_url = None
        
    parent_page = page['parent_page']
    breadcrumbs = []
    while parent_page:
        breadcrumbs.append((parent_page.get_title(), parent_page.get_url()))
        parent_page = parent_page['parent_page']
    breadcrumbs.reverse()
    breadcrumbs.append((page.get_title(), page.get_url()))
    request.breadcrumbs(breadcrumbs)
    
    if redirect_url:
        return redirect_to(request, redirect_url)
    else:
        return render_to_response(request, template, {'page': page})
Example #2
0
def list(request, template='post_list', site=None, queryset_function=None):
    if isinstance(site, basestring):
        site = Site.query().get(name=site)

    if not site:
        site = request.site

    if callable(queryset_function):
        posts = queryset_function(request)
    else:
        posts = site['posts']

    return render_to_response(request, template, {'posts': posts})
Example #3
0
def list(request, template='post_list', site=None, queryset_function=None):
    if isinstance(site, basestring):
        site = Site.query().get(name=site)

    if not site:
        site = request.site

    if callable(queryset_function):
        posts = queryset_function(request)
    else:
        posts = site['posts']

    return render_to_response(request, template, {'posts':posts})
Example #4
0
def view(request, slug, template="post_view", site=None, queryset_function=None):
    if isinstance(site, basestring):
        site = Site.query().get(name=site)

    if not site:
        site = request.site

    if callable(queryset_function):
        posts = queryset_function(request)
    else:
        posts = site['posts']

    post = get_object_or_404(posts, slug=slug)
    return render_to_response(request, template, {'post': post, 
                            'categories': post.get_categories()})
Example #5
0
def list(request, template='page_list', **kwargs):
    site = getattr(request, 'site', None)
    
    pages = Page.query()
    if site:
        pages = site['pages']
    
    collections = Collection.query()
    if 'slug2' in kwargs:
        items = []
        for item in Collection.query().filter(site=site, slug=kwargs['slug2']):
            items.extend(item['items'])
        collections = collections.filter(pk__in=items)
    if 'slug1' in kwargs:
        collection = get_object_or_404(collections, slug=kwargs['slug1'])
        pages = pages.filter(pk__in=collection['items'])
        
    return render_to_response(request, template, {'pages':pages})
Example #6
0
def view(request,
         slug,
         template="post_view",
         site=None,
         queryset_function=None):
    if isinstance(site, basestring):
        site = Site.query().get(name=site)

    if not site:
        site = request.site

    if callable(queryset_function):
        posts = queryset_function(request)
    else:
        posts = site['posts']

    post = get_object_or_404(posts, slug=slug)
    return render_to_response(request, template, {
        'post': post,
        'categories': post.get_categories()
    })
Example #7
0
def reset_password_sent(request, template_name="auth/reset_password_sent.html", next_url="/"):
    return render_to_response(request, template_name, {"next_url": next_url})