2012-07-26 17:08:31 +08:00
|
|
|
from django.core.cache import cache
|
|
|
|
from django.http import HttpResponseRedirect
|
|
|
|
|
2012-07-27 14:12:25 +08:00
|
|
|
from seaserv import get_org_by_url_prefix, get_orgs_by_user
|
2012-07-26 17:08:31 +08:00
|
|
|
|
2012-08-01 11:08:56 +08:00
|
|
|
try:
|
2012-08-01 22:34:35 +08:00
|
|
|
from seahub.settings import CLOUD_MODE
|
2012-08-01 11:08:56 +08:00
|
|
|
except ImportError:
|
2012-08-01 22:34:35 +08:00
|
|
|
CLOUD_MODE = False
|
2012-08-30 20:15:17 +08:00
|
|
|
# from seahub.utils import get_cur_ctx
|
2012-08-01 11:08:56 +08:00
|
|
|
|
2012-07-26 17:08:31 +08:00
|
|
|
class OrganizationMiddleware(object):
|
|
|
|
"""
|
|
|
|
Middleware that add organization info to request when user in organization
|
|
|
|
context.
|
|
|
|
"""
|
2012-07-30 10:25:46 +08:00
|
|
|
|
2012-07-26 17:08:31 +08:00
|
|
|
def process_request(self, request):
|
2012-08-01 22:34:35 +08:00
|
|
|
if CLOUD_MODE:
|
|
|
|
request.cloud_mode = True
|
2012-08-01 11:08:56 +08:00
|
|
|
|
|
|
|
# Get current org context
|
2012-08-30 20:15:17 +08:00
|
|
|
# ctx_dict = get_cur_ctx(request)
|
|
|
|
# request.user.org = ctx_dict.get('org_dict', None)
|
2012-07-27 14:12:25 +08:00
|
|
|
|
2012-08-01 11:08:56 +08:00
|
|
|
# Get all orgs user created.
|
|
|
|
orgs = get_orgs_by_user(request.user.username)
|
|
|
|
request.user.orgs = orgs
|
|
|
|
else:
|
2012-08-01 22:34:35 +08:00
|
|
|
request.cloud_mode = False
|
2012-08-01 11:08:56 +08:00
|
|
|
request.user.org = None
|
|
|
|
request.user.orgs = None
|
2012-07-26 17:08:31 +08:00
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
def process_response(self, request, response):
|
|
|
|
return response
|