diff --git a/templates/snippets/pubinfo.html b/templates/snippets/pubinfo.html index d33f91de51..7f1cae0c50 100644 --- a/templates/snippets/pubinfo.html +++ b/templates/snippets/pubinfo.html @@ -2,8 +2,8 @@

{% trans "Organization Info"%}

diff --git a/thirdpart/seaserv/__init__.py b/thirdpart/seaserv/__init__.py index abd71b8111..c67eb3a4af 100644 --- a/thirdpart/seaserv/__init__.py +++ b/thirdpart/seaserv/__init__.py @@ -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,\ diff --git a/thirdpart/seaserv/service.py b/thirdpart/seaserv/service.py index bf3767a208..a56a36d018 100644 --- a/thirdpart/seaserv/service.py +++ b/thirdpart/seaserv/service.py @@ -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. diff --git a/views.py b/views.py index 6610b78cde..4893936448 100644 --- a/views.py +++ b/views.py @@ -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):