1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 15:38:15 +00:00

Add groups view

This commit is contained in:
plt
2011-03-20 21:47:28 +08:00
parent 84764c3281
commit 49ed0f8bd5
5 changed files with 62 additions and 6 deletions

25
templates/groups.html Normal file
View File

@@ -0,0 +1,25 @@
{% extends "base.html" %}
{% block title %}Groups{% endblock %}
{% block left_panel %}
{% endblock %}
{% block right_panel %}
<table class="group-list default">
<tr>
<th>Name</th>
<th>ID</th>
<th>Maintainer</th>
</tr>
{% for group in groups %}
<tr>
<td>{{ group.props.name }}</td>
<td>{{ group.props.id }}</td>
<td>{{ group.props.maintainers }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}

View File

@@ -1,7 +1,7 @@
import service import service
from service import cclient, ccnet_rpc, seamsg_rpc from service import cclient, ccnet_rpc, seamsg_rpc
from service import translate_peerid, translate_msgtime from service import translate_peerid, translate_msgtime, translate_groupid
from service import get_peers_by_role from service import get_peers_by_role
from service import get_groups, get_group from service import get_groups, get_group

View File

@@ -31,10 +31,30 @@ def translate_peerid(peer_id):
except: except:
peer = ccnet_rpc.get_peer(peer_id) peer = ccnet_rpc.get_peer(peer_id)
if peer: if peer:
peer_db['peer_id'] = peer peer_db[peer_id] = peer
else: else:
return peer_id return peer_id[:8]
return peer.props.name + "(" + peer_id[:4] + ")" if peer.props.name:
return peer.props.name + "(" + peer_id[:4] + ")"
else:
return peer_id[:8]
group_db = {}
def translate_groupid(group_id):
try:
group = group_db[group_id]
except:
group = ccnet_rpc.get_group(group_id)
if group:
group_db[group_id] = group
else:
return group_id[:8]
if group.props.name:
return group.props.name + "(" + group_id[:4] + ")"
else:
return group_id[:8]
def translate_msgtime(msgtime): def translate_msgtime(msgtime):
return datetime.fromtimestamp( return datetime.fromtimestamp(

View File

@@ -1,6 +1,6 @@
from django.conf.urls.defaults import * from django.conf.urls.defaults import *
from django.conf import settings from django.conf import settings
from seahub.views import root, home, peers from seahub.views import root, home, peers, groups
# Uncomment the next two lines to enable the admin: # Uncomment the next two lines to enable the admin:
# from django.contrib import admin # from django.contrib import admin
@@ -20,6 +20,7 @@ urlpatterns = patterns('',
(r'^$', root), (r'^$', root),
(r'^home/$', home), (r'^home/$', home),
(r'^peers/$', peers), (r'^peers/$', peers),
(r'^groups/$', groups),
) )
if settings.DEBUG: if settings.DEBUG:

View File

@@ -3,15 +3,17 @@ from django.shortcuts import render_to_response
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.template import RequestContext from django.template import RequestContext
from seaserv import cclient, ccnet_rpc from seaserv import cclient, ccnet_rpc, get_groups
def root(request): def root(request):
return HttpResponseRedirect(reverse(home)) return HttpResponseRedirect(reverse(home))
def home(request): def home(request):
return render_to_response('home.html', { return render_to_response('home.html', {
}, context_instance=RequestContext(request)) }, context_instance=RequestContext(request))
def peers(request): def peers(request):
peer_type = request.REQUEST.get('type', 'all') peer_type = request.REQUEST.get('type', 'all')
peer_ids = ccnet_rpc.list_peers() peer_ids = ccnet_rpc.list_peers()
@@ -30,3 +32,11 @@ def peers(request):
return render_to_response('peers.html', { return render_to_response('peers.html', {
'peers': peers, 'peers': peers,
}, context_instance=RequestContext(request)) }, context_instance=RequestContext(request))
def groups(request):
groups = get_groups()
return render_to_response('groups.html', {
'groups': groups,
}, context_instance=RequestContext(request))