1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 10:58:33 +00:00

Fix org paginator and permission

This commit is contained in:
zhengxie
2014-08-27 17:14:35 +08:00
parent 2eb8b9ea82
commit 457b03bd67
2 changed files with 26 additions and 9 deletions

View File

@@ -94,21 +94,18 @@ class UserManager(object):
return user
class UserPermissions(object):
def __init__(self, user):
self.user = user
def can_add_repo(self):
"""
"""
return True
def can_add_group(self):
"""
"""
return True
def can_view_org(self):
"""
"""
if MULTI_TENANCY:
return True
return True if self.user.org is not None else False
return False if CLOUD_MODE else True
@@ -126,7 +123,7 @@ class User(object):
def __init__(self, email):
self.username = email
self.email = email
self.permissions = UserPermissions()
self.permissions = UserPermissions(self)
def __unicode__(self):
return self.username

View File

@@ -698,10 +698,30 @@ def sys_group_admin(request):
@login_required
@sys_staff_required
def sys_org_admin(request):
orgs = ccnet_threaded_rpc.get_all_orgs(-1, -1)
# Make sure page request is an int. If not, deliver first page.
try:
current_page = int(request.GET.get('page', '1'))
per_page = int(request.GET.get('per_page', '25'))
except ValueError:
current_page = 1
per_page = 25
orgs_plus_one = ccnet_threaded_rpc.get_all_orgs(per_page * (current_page - 1),
per_page + 1)
orgs = orgs_plus_one[:per_page]
if len(orgs_plus_one) == per_page + 1:
page_next = True
else:
page_next = False
return render_to_response('sysadmin/sys_org_admin.html', {
'orgs': orgs,
'current_page': current_page,
'prev_page': current_page-1,
'next_page': current_page+1,
'per_page': per_page,
'page_next': page_next,
}, context_instance=RequestContext(request))
@login_required