1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-27 19:05:16 +00:00

Update groups and peers page

This commit is contained in:
plt 2011-04-11 23:06:05 +08:00
parent 49ed0f8bd5
commit 8b357aedae
5 changed files with 71 additions and 1 deletions

View File

@ -7,16 +7,24 @@
{% endblock %}
{% block right_panel %}
<p>Use the following command to add a group:</p>
<div><code>ccnet-tool group-follow &lt;group-id&gt; &lt;rendevous-id&gt;</code></div>
<h3>Groups</h3>
<table class="group-list default">
<tr>
<th>Name</th>
<th>ID</th>
<th>Rendezvous</th>
<th>Maintainer</th>
</tr>
{% for group in groups %}
<tr>
<td>{{ group.props.name }}</td>
<td>{{ group.props.id }}</td>
<td>{{ group.props.rendezvous }}</td>
<td>{{ group.props.maintainers }}</td>
</tr>
{% endfor %}

View File

@ -10,6 +10,30 @@
{% endblock %}
{% block right_panel %}
<h3>Users</h3>
<table class="user-list default">
<tr>
<th>Name</th>
<th>ID</th>
<th>Roles</th>
<th>My Roles On User</th>
<th>Action</th>
</tr>
{% for user in users %}
<tr>
<td>{{ user.props.name }}</td>
<td>{{ user.props.id }}</td>
<td>{{ user.props.role_list }}</td>
<td>{{ user.props.my_role_list }}</td>
<td></td>
</tr>
{% endfor %}
</table>
<h3>Peers</h3>
<table class="peer-list default">
<tr>
<th>Name</th>

View File

@ -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

View File

@ -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)

View File

@ -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))