mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 19:08:21 +00:00
Fix org paginator and permission
This commit is contained in:
@@ -94,21 +94,18 @@ class UserManager(object):
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
class UserPermissions(object):
|
class UserPermissions(object):
|
||||||
|
def __init__(self, user):
|
||||||
|
self.user = user
|
||||||
|
|
||||||
def can_add_repo(self):
|
def can_add_repo(self):
|
||||||
"""
|
|
||||||
"""
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def can_add_group(self):
|
def can_add_group(self):
|
||||||
"""
|
|
||||||
"""
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def can_view_org(self):
|
def can_view_org(self):
|
||||||
"""
|
|
||||||
"""
|
|
||||||
if MULTI_TENANCY:
|
if MULTI_TENANCY:
|
||||||
return True
|
return True if self.user.org is not None else False
|
||||||
|
|
||||||
return False if CLOUD_MODE else True
|
return False if CLOUD_MODE else True
|
||||||
|
|
||||||
@@ -126,7 +123,7 @@ class User(object):
|
|||||||
def __init__(self, email):
|
def __init__(self, email):
|
||||||
self.username = email
|
self.username = email
|
||||||
self.email = email
|
self.email = email
|
||||||
self.permissions = UserPermissions()
|
self.permissions = UserPermissions(self)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.username
|
return self.username
|
||||||
|
@@ -698,10 +698,30 @@ def sys_group_admin(request):
|
|||||||
@login_required
|
@login_required
|
||||||
@sys_staff_required
|
@sys_staff_required
|
||||||
def sys_org_admin(request):
|
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', {
|
return render_to_response('sysadmin/sys_org_admin.html', {
|
||||||
'orgs': orgs,
|
'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))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
Reference in New Issue
Block a user