diff --git a/templates/groups.html b/templates/groups.html index 92e44bfba4..b2931319cf 100644 --- a/templates/groups.html +++ b/templates/groups.html @@ -7,16 +7,24 @@ {% endblock %} {% block right_panel %} + +

Use the following command to add a group:

+
ccnet-tool group-follow <group-id> <rendevous-id>
+ +

Groups

+ + {% for group in groups %} + {% endfor %} diff --git a/templates/peers.html b/templates/peers.html index 8e62816f1f..ace8c2092f 100644 --- a/templates/peers.html +++ b/templates/peers.html @@ -10,6 +10,30 @@ {% endblock %} {% block right_panel %} + +

Users

+
Name IDRendezvous Maintainer
{{ group.props.name }} {{ group.props.id }}{{ group.props.rendezvous }} {{ group.props.maintainers }}
+ + + + + + + + {% for user in users %} + + + + + + + + {% endfor %} +
NameIDRolesMy Roles On UserAction
{{ user.props.name }}{{ user.props.id }}{{ user.props.role_list }}{{ user.props.my_role_list }}
+ + +

Peers

+ diff --git a/thirdpart/seaserv/__init__.py b/thirdpart/seaserv/__init__.py index c40c010004..be508115d1 100644 --- a/thirdpart/seaserv/__init__.py +++ b/thirdpart/seaserv/__init__.py @@ -4,4 +4,6 @@ from service import cclient, ccnet_rpc, seamsg_rpc from service import translate_peerid, translate_msgtime, translate_groupid from service import get_peers_by_role from service import get_groups, get_group +from service import get_users, get_user +from service import get_repos, get_repo, get_repo_sinfo, get_commits diff --git a/thirdpart/seaserv/service.py b/thirdpart/seaserv/service.py index 657dce3da5..88a561b7d7 100644 --- a/thirdpart/seaserv/service.py +++ b/thirdpart/seaserv/service.py @@ -5,6 +5,7 @@ import sys from pysearpc import SearpcError import ccnet import seamsg +import seafile DEFAULT_CCNET_CONF_PATH = "~/.ccnet" @@ -22,6 +23,7 @@ cclient.load_confdir(CCNET_CONF_PATH) pool = ccnet.ClientPool(CCNET_CONF_PATH) ccnet_rpc = ccnet.CcnetRpcClient(pool) seamsg_rpc = seamsg.RpcClient(pool) +seafile_rpc = seafile.RpcClient(pool) peer_db = {} @@ -77,6 +79,24 @@ def get_peers_by_role(role): return peers +def get_users(): + user_ids = ccnet_rpc.list_users() + if not user_ids: + return [] + users = [ ] + for user_id in user_ids.split("\n"): + # too handle the ending '\n' + if user_id == '': + continue + user = ccnet_rpc.get_user(user_id) + users.append(user) + return users + + +def get_user(user_id): + user = ccnet_rpc.get_user(user_id) + return group + def get_groups(): group_ids = ccnet_rpc.list_groups() if not group_ids: @@ -96,3 +116,17 @@ def get_group(group_id): group.members = group.props.members.split(" ") group.followers = group.props.followers.split(" ") return group + + +def get_repos(): + return seafile_rpc.get_repo_list("", 100) + +def get_repo(repo_id): + return seafile_rpc.get_repo(repo_id) + +def get_repo_sinfo(repo_id): + return seafile_rpc.get_repo_sinfo(repo_id) + + +def get_commits(repo_id): + return seafile_rpc.get_commit_list(repo_id, "", 100) diff --git a/views.py b/views.py index 7d0671838f..3a9bcdb07b 100644 --- a/views.py +++ b/views.py @@ -3,7 +3,7 @@ from django.shortcuts import render_to_response from django.core.urlresolvers import reverse from django.template import RequestContext -from seaserv import cclient, ccnet_rpc, get_groups +from seaserv import cclient, ccnet_rpc, get_groups, get_users def root(request): return HttpResponseRedirect(reverse(home)) @@ -29,8 +29,10 @@ def peers(request): if peer.props.role_list.find('MyPeer') != -1: peers.append(peer) + users = get_users() return render_to_response('peers.html', { 'peers': peers, + 'users': users, }, context_instance=RequestContext(request))
Name