bornhack-website/src/camps/context_processors.py

26 lines
788 B
Python

from .models import Camp
def camp(request):
"""
if we have a camp_slug url component then get the "current" Camp object.
Return it after adding the slug to request.session along with a "camps"
queryset containing all camps (used to build the menu and such)
"""
if request.resolver_match and 'camp_slug' in request.resolver_match.kwargs:
try:
camp = Camp.objects.get(slug=request.resolver_match.kwargs['camp_slug'])
request.session['campslug'] = camp.slug
except Camp.DoesNotExist:
request.session['campslug'] = None
camp = None
else:
request.session['campslug'] = None
camp = None
return {
'camps': Camp.objects.all().order_by('-camp'),
'camp': camp
}