Merge branch 'feature/get_flatpages' of https://github.com/andreif/coffin

This commit is contained in:
Michael Elsdörfer 2014-01-06 05:36:33 +01:00
commit 92e9322d2d
2 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,2 @@
# coding=utf-8
from . import context

View File

@ -0,0 +1,29 @@
# coding=utf-8
from django.conf import settings
from django.contrib.flatpages.models import FlatPage
from coffin.common import env
def get_flatpages(starts_with=None, user=None, site_id=None):
"""
Context-function similar to get_flatpages tag in Django templates.
Usage:
<ul>
{% for page in get_flatpages(starts_with='/about/', user=user, site_id=site.pk) %}
<li><a href="{{ page.url }}">{{ page.title }}</a></li>
{% endfor %}
</ul>
"""
flatpages = FlatPage.objects.filter(sites__id=site_id or settings.SITE_ID)
if starts_with:
flatpages = flatpages.filter(url__startswith=starts_with)
if not user or not user.is_authenticated():
flatpages = flatpages.filter(registration_required=False)
return flatpages
env.globals['get_flatpages'] = get_flatpages