1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-17 07:41:26 +00:00

Added repos/groups/users count

This commit is contained in:
zhengxie
2013-02-22 14:52:33 +08:00
parent 37b0e03df5
commit 7f887be89f
4 changed files with 41 additions and 6 deletions

View File

@@ -2,8 +2,8 @@
<div class="info-item">
<h3 class="info-item-top">{% trans "Organization Info"%}</h3>
<ul class="info-item-bottom">
<li class="pubinfo-item"><span class="amount">0</span><br /><span class="obj">{% trans 'Libraries' %}</span></li>
<li class="pubinfo-item"><span class="amount">0</span><br /><span class="obj">{% trans 'Groups' %}</span></li>
<li class="pubinfo-item"><span class="amount">0</span><br /><span class="obj">{% trans 'Users' %}</span></li>
<li class="pubinfo-item"><span class="amount">{{ pubrepos_count }}</span><br /><span class="obj">{% trans 'Libraries' %}</span></li>
<li class="pubinfo-item"><span class="amount">{{ groups_count }}</span><br /><span class="obj">{% trans 'Groups' %}</span></li>
<li class="pubinfo-item"><span class="amount">{{ emailusers_count}}</span><br /><span class="obj">{% trans 'Users' %}</span></li>
</ul>
</div>

View File

@@ -3,7 +3,7 @@ import service
from service import ccnet_rpc, monitor_rpc, seafserv_rpc, \
seafserv_threaded_rpc, ccnet_threaded_rpc
from service import send_command, check_quota, web_get_access_token, unset_repo_passwd
from service import get_emailusers, get_session_info
from service import get_emailusers, count_emailusers, get_session_info
from service import get_org_groups, get_personal_groups_by_user, \
get_group_repoids, get_personal_groups, \
check_group_staff, remove_group_user, get_group, get_org_id_by_group, \
@@ -16,7 +16,7 @@ from service import get_repos, get_repo, get_commits, get_branches, remove_repo,
list_personal_shared_repos, is_personal_repo, list_inner_pub_repos, \
is_org_repo_owner, get_org_repo_owner, is_org_repo, get_file_size,\
list_personal_repos_by_owner, get_repo_token_nonnull, get_repo_owner, \
server_repo_size, get_file_id_by_path, get_commit, \
server_repo_size, get_file_id_by_path, get_commit, count_inner_pub_repos,\
get_repo_history_limit, set_repo_history_limit
from service import get_binding_peerids, is_valid_filename, check_permission,\

View File

@@ -153,6 +153,13 @@ def get_emailusers(start, limit):
users = []
return users
def count_emailusers():
try:
ret = ccnet_threaded_rpc.count_emailusers()
except SearpcError:
ret = 0
return ret
def get_session_info():
return ccnet_rpc.get_session_info()
@@ -627,6 +634,13 @@ def list_inner_pub_repos(username):
shared_repos.sort(lambda x, y: cmp(y.props.last_modified, x.props.last_modified))
return shared_repos
def count_inner_pub_repos():
try:
ret = seafserv_threaded_rpc.count_inner_pub_repos()
except SearpcError:
ret = 0
return ret
def is_inner_pub_repo(repo_id):
"""
Check whether a repo is public.

View File

@@ -47,7 +47,8 @@ from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_repos, get_emailusers, \
get_related_users_by_repo, get_related_users_by_org_repo, HtmlDiff, \
get_session_info, get_group_repoids, get_repo_owner, get_file_id_by_path, \
get_repo_history_limit, set_repo_history_limit, MAX_UPLOAD_FILE_SIZE, \
get_commit, MAX_DOWNLOAD_DIR_SIZE, CALC_SHARE_USAGE
get_commit, MAX_DOWNLOAD_DIR_SIZE, CALC_SHARE_USAGE, count_emailusers, \
count_inner_pub_repos
from pysearpc import SearpcError
from signals import repo_created, repo_deleted
@@ -2745,11 +2746,18 @@ def pubrepo(request):
raise Http404
else:
public_repos = list_inner_pub_repos(request.user.username)
pubrepos_count = len(public_repos)
groups_count = len(get_personal_groups(-1, -1))
emailusers_count = count_emailusers()
return render_to_response('pubrepo.html', {
'public_repos': public_repos,
'create_shared_repo': True,
'pubrepos_count': pubrepos_count,
'groups_count': groups_count,
'emailusers_count': emailusers_count,
}, context_instance=RequestContext(request))
@login_required
def pubgrp(request):
"""
Show public groups.
@@ -2759,10 +2767,17 @@ def pubgrp(request):
raise Http404
else:
groups = get_personal_groups(-1, -1)
pubrepos_count = count_inner_pub_repos()
groups_count = len(groups)
emailusers_count = count_emailusers()
return render_to_response('pubgrp.html', {
'groups': groups,
'pubrepos_count': pubrepos_count,
'groups_count': groups_count,
'emailusers_count': emailusers_count,
}, context_instance=RequestContext(request))
@login_required
def pubuser(request):
"""
Show public users.
@@ -2772,8 +2787,14 @@ def pubuser(request):
raise Http404
else:
users = get_emailusers(-1, -1)
pubrepos_count = count_inner_pub_repos()
groups_count = len(get_personal_groups(-1, -1))
emailusers_count = count_emailusers()
return render_to_response('pubuser.html', {
'users': users,
'pubrepos_count': pubrepos_count,
'groups_count': groups_count,
'emailusers_count': emailusers_count,
}, context_instance=RequestContext(request))
def repo_set_password(request):