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:
25
templates/groups.html
Normal file
25
templates/groups.html
Normal 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 %}
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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(
|
||||||
|
3
urls.py
3
urls.py
@@ -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:
|
||||||
|
12
views.py
12
views.py
@@ -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))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user