1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-29 00:17:18 +00:00
seahub/organizations/utils.py

34 lines
810 B
Python
Raw Normal View History

2012-07-26 09:08:31 +00:00
import sys
from django.core.cache import cache
from settings import ORG_CACHE_PREFIX
2012-07-30 02:25:46 +00:00
from seaserv import get_org_id_by_repo_id
2012-07-26 09:08:31 +00:00
def clear_org_ctx(request):
"""
2012-07-30 02:25:46 +00:00
Clear current context.
2012-07-26 09:08:31 +00:00
"""
cache.delete(ORG_CACHE_PREFIX + request.user.username)
request.user.org = None
def set_org_ctx(request, org_dict):
"""
2012-07-30 02:25:46 +00:00
Set current context to org.
2012-07-26 09:08:31 +00:00
"""
cache.set(ORG_CACHE_PREFIX + request.user.username, org_dict, sys.maxint)
request.user.org = org_dict
2012-07-30 02:25:46 +00:00
def access_org_repo(request, repo_id):
"""
Check whether user can view org repo.
Arguments:
- `request`: request must has org dict.
- `repo_id`: repo id
"""
cur_org_id = request.user.org['org_id']
org_id = get_org_id_by_repo_id(repo_id)
return True if cur_org_id == org_id else False
2012-07-26 09:08:31 +00:00