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
+
Name |
ID |
+ Rendezvous |
Maintainer |
{% for group in groups %}
{{ group.props.name }} |
{{ group.props.id }} |
+ {{ group.props.rendezvous }} |
{{ group.props.maintainers }} |
{% 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 |
+ ID |
+ Roles |
+ My Roles On User |
+ Action |
+
+ {% for user in users %}
+
+ {{ user.props.name }} |
+ {{ user.props.id }} |
+ {{ user.props.role_list }} |
+ {{ user.props.my_role_list }} |
+ |
+
+ {% endfor %}
+
+
+
+Peers
+
Name |
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))