1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-01 23:20:51 +00:00

Remove session storage in context switch

This commit is contained in:
xiez
2012-08-30 20:15:17 +08:00
parent 02b3f6f0af
commit 1e4d831f46
21 changed files with 365 additions and 124 deletions

View File

@@ -14,7 +14,9 @@ from django.core.files.uploadhandler import FileUploadHandler, StopFutureHandler
from django.core.cache import cache
from seaserv import seafserv_rpc, ccnet_threaded_rpc, seafserv_threaded_rpc, \
get_repo, get_commits, get_group_repoids, CCNET_SERVER_ADDR, CCNET_SERVER_PORT
get_repo, get_commits, get_group_repoids, CCNET_SERVER_ADDR, \
CCNET_SERVER_PORT, get_org_id_by_repo_id, get_org_by_id, \
get_org_id_by_group
try:
from settings import CROCODOC_API_TOKEN
except ImportError:
@@ -47,23 +49,37 @@ def gen_fileext_type_map():
return d
FILEEXT_TYPE_MAP = gen_fileext_type_map()
def render_permission_error(request, msg=None):
def render_permission_error(request, msg=None, extra_ctx=None):
"""
Return permisson error page.
"""
return render_to_response('permission_error.html', {
'error_msg': msg or u'权限错误',
}, context_instance=RequestContext(request))
ctx = {}
ctx['error_msg'] = msg or u'权限错误'
ctx['base_template'] = 'myhome_base.html'
def render_error(request, msg=None):
if extra_ctx:
for k in extra_ctx:
ctx[k] = extra_ctx[k]
return render_to_response('permission_error.html', ctx,
context_instance=RequestContext(request))
def render_error(request, msg=None, extra_ctx=None):
"""
Return normal error page.
"""
return render_to_response('error.html', {
'error_msg': msg or u'内部错误',
}, context_instance=RequestContext(request))
ctx = {}
ctx['error_msg'] = msg or u'内部错误'
ctx['base_template'] = 'myhome_base.html'
if extra_ctx:
for k in extra_ctx:
ctx[k] = extra_ctx[k]
return render_to_response('error.html', ctx,
context_instance=RequestContext(request))
def list_to_string(l):
"""
@@ -232,7 +248,7 @@ def get_accessible_repos(request, repo):
groups_repos = []
groups = ccnet_threaded_rpc.get_groups(email)
for group in groups:
group_repo_ids = get_group_repoids(group_id=group.id)
group_repo_ids = get_group_repoids(group.id)
for repo_id in group_repo_ids:
if not repo_id:
continue
@@ -318,13 +334,44 @@ def string2list(string):
s.add(e)
return [ x for x in s ]
def get_cur_ctx(request):
ctx_dict = request.session.get('current_context', {
'base_template': 'myhome_base.html',
'org_dict': None})
return ctx_dict
# def get_cur_ctx(request):
# ctx_dict = request.session.get('current_context', {
# 'base_template': 'myhome_base.html',
# 'org_dict': None})
# return ctx_dict
def set_cur_ctx(request, ctx_dict):
request.session['current_context'] = ctx_dict
request.user.org = ctx_dict.get('org_dict', None)
# def set_cur_ctx(request, ctx_dict):
# request.session['current_context'] = ctx_dict
# request.user.org = ctx_dict.get('org_dict', None)
def check_and_get_org_by_repo(repo_id):
"""
Check whether repo is org repo, get org info if it is, and set
base template.
"""
org_id = get_org_id_by_repo_id(repo_id)
if org_id > 0:
# this repo is org repo, get org info
org = get_org_by_id(org_id)
base_template = 'org_base.html'
else:
org = None
base_template = 'myhome_base.html'
return org, base_template
def check_and_get_org_by_group(group_id):
"""
Check whether repo is org repo, get org info if it is, and set
base template.
"""
org_id = get_org_id_by_group(group_id)
if org_id > 0:
# this repo is org repo, get org info
org = get_org_by_id(org_id)
base_template = 'org_base.html'
else:
org = None
base_template = 'myhome_base.html'
return org, base_template