|
|
- from hc.accounts.models import Profile, Project
-
-
- class TeamAccessMiddleware(object):
- def __init__(self, get_response):
- self.get_response = get_response
-
- def __call__(self, request):
- if not request.user.is_authenticated:
- return self.get_response(request)
-
- projects_q = Project.objects.filter(member__user_id=request.user.id)
- projects_q = projects_q.select_related("owner")
- request.get_projects = lambda: list(projects_q)
-
- profile = Profile.objects.for_user(request.user)
- if profile.current_project is None:
- profile.current_project = profile.get_own_project()
- profile.save()
-
- request.profile = profile
- request.project = profile.current_project
-
- return self.get_response(request)
|