ponytracker/issue/context_processors.py
2014-08-12 19:34:05 -07:00

34 lines
719 B
Python

from issue.models import Project
def projects(request):
if hasattr(request, 'projects'):
return {'projects': request.projects}
else:
return {}
class PermWrapper:
def __init__(self, user, project):
self.user = user
self.project = project
def __getitem__(self, perm):
return self.user.has_perm(perm, self.project)
def __iter__(self):
raise TypeError("PermWrapper is not iterable.")
def __contains__(self, perm):
return self[perm]
def perm(request):
if hasattr(request, 'project'):
project = request.project
else:
project = None
wrapper = PermWrapper(request.user, project)
return {'perm': wrapper}