###################################
# Stick the following in a view somewhere
##################################
from django.http import HttpResponseRedirect
from django.contrib.auth.models import Group
from django.contrib.flatpages.views import flatpage
# Use this wrapper view to patrol the specific areas
def restricted_flatpage(request,group_name=None,redirect_to="/restricted/"):
"""Restricts access to flatpage to group specified by group_name and superuser"""
if not request.user or request.user.is_anonymous() or not group_name:
return HttpResponseRedirect(redirect_to)
try:
if request.user.is_superuser:
return flatpage(request,request.path)
g=Group.objects.get(name=group_name)
if g.user_set.filter(id=request.user.id).count():
return flatpage(request,request.path)
except Group.DoesNotExist: pass
return HttpResponseRedirect(redirect_to)
##################################
# Then stick this in the appropriate urls.py
####################################
(r'^employee-benefits/', restricted_flatpage,{"group_name":"corporate"}),
(r'^company', restricted_flatpage,{"group_name":"corporate"}),
Comments