1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-02 07:47:32 +00:00
seahub/organizations/utils.py
2012-07-30 10:26:26 +08:00

34 lines
810 B
Python

import sys
from django.core.cache import cache
from settings import ORG_CACHE_PREFIX
from seaserv import get_org_id_by_repo_id
def clear_org_ctx(request):
"""
Clear current context.
"""
cache.delete(ORG_CACHE_PREFIX + request.user.username)
request.user.org = None
def set_org_ctx(request, org_dict):
"""
Set current context to org.
"""
cache.set(ORG_CACHE_PREFIX + request.user.username, org_dict, sys.maxint)
request.user.org = org_dict
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