From 1866e375b69aecb53b617da8993fc71c798af8f4 Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Mon, 30 May 2011 11:17:02 +0200 Subject: A simple jquery-based widget for disaplaying stuff from meetingtools. --- src/meetingtools/apps/room/views.py | 13 ++----------- src/meetingtools/urls.py | 1 - src/site-media/css/jquery.meetingtools.css | 1 + src/site-media/html/widget-test.html | 20 ++++++++++++++++++++ src/site-media/js/jquery.meetingtools.js | 29 +++++++++++++++++++---------- 5 files changed, 42 insertions(+), 22 deletions(-) create mode 100644 src/site-media/css/jquery.meetingtools.css create mode 100644 src/site-media/html/widget-test.html diff --git a/src/meetingtools/apps/room/views.py b/src/meetingtools/apps/room/views.py index 6c22c14..e253d87 100644 --- a/src/meetingtools/apps/room/views.py +++ b/src/meetingtools/apps/room/views.py @@ -388,21 +388,12 @@ def _goto(request,room,clean=True,promote=False): def _room2dict(room): return {'name':room.name, 'description':room.description, - 'user_count':room.user_count, + 'user_count':room.nusers(), + 'host_count':room.nhosts(), 'updated': rfc3339_date(room.lastupdated), 'self_cleaning': room.self_cleaning, 'url': room.go_url()} -@login_required -def widget(request,tn): - tags = tn.split('+') - rooms = TaggedItem.objects.get_by_model(Room, tags) - title = 'Rooms tagged with %s' % " and ".join(tags) - now = timeAsrfc822( datetime.now() ) - return respond_to(request, - {'text/html':'apps/room/widget-test.html'}, - {'title':title,'description':title ,'edit':False,'date': now,'tags': tn,'rooms':rooms.all()}) - # should not require login def list_by_tag(request,tn): tags = tn.split('+') diff --git a/src/meetingtools/urls.py b/src/meetingtools/urls.py index ec10376..703b49a 100644 --- a/src/meetingtools/urls.py +++ b/src/meetingtools/urls.py @@ -31,7 +31,6 @@ urlpatterns = patterns('', (r'^room/(\d+)/tag$','meetingtools.apps.room.views.tag'), (r'^room/(\d+)/untag/(.+)$','meetingtools.apps.room.views.untag'), (r'^room/(\d+)/recordings$','meetingtools.apps.room.views.recordings'), - (r'^widget/\+(.+)$','meetingtools.apps.room.views.widget'), (r'^room/\+(.+)\.(?:json|html|htm)$','meetingtools.apps.room.views.list_by_tag'), (r'^room/\+(.+)\.(?:atom)$',RoomAtomTagFeed()), (r'^room/\+(.+)\.(?:rss)$',RoomRSSTagField()), diff --git a/src/site-media/css/jquery.meetingtools.css b/src/site-media/css/jquery.meetingtools.css new file mode 100644 index 0000000..293b8a8 --- /dev/null +++ b/src/site-media/css/jquery.meetingtools.css @@ -0,0 +1 @@ +.meeting-list li { list-style: none; display: block; } \ No newline at end of file diff --git a/src/site-media/html/widget-test.html b/src/site-media/html/widget-test.html new file mode 100644 index 0000000..3b27c16 --- /dev/null +++ b/src/site-media/html/widget-test.html @@ -0,0 +1,20 @@ + + + + + + + + + + + + +

Meetings...

+
+ + \ No newline at end of file diff --git a/src/site-media/js/jquery.meetingtools.js b/src/site-media/js/jquery.meetingtools.js index 5bed8f3..1453226 100644 --- a/src/site-media/js/jquery.meetingtools.js +++ b/src/site-media/js/jquery.meetingtools.js @@ -1,6 +1,5 @@ /* - * - * + * a jQuery plugin for listing tagged meetings from meetingtools * */ @@ -12,17 +11,27 @@ jQuery.fn.meetingtools = function(options) { if (!url) { url = 'http://localhost:8000'; } - var url = url+'/room/+'+tags+'.json' - var div = $(this) + var url = url+'/room/+'+tags+'.json'; + var div = $(this); $.getJSON(url,function(data) { - div.append(""; + div.append(html); }); + }); } \ No newline at end of file -- cgit v1.1