diff options
Diffstat (limited to 'templates/apps')
-rw-r--r-- | templates/apps/auth/login.html | 11 | ||||
-rw-r--r-- | templates/apps/room/create.html | 1 | ||||
-rw-r--r-- | templates/apps/room/fragments/occupation.txt | 1 | ||||
-rw-r--r-- | templates/apps/room/launch.html | 34 | ||||
-rw-r--r-- | templates/apps/room/list.html | 79 | ||||
-rw-r--r-- | templates/apps/room/modify.html | 3 | ||||
-rw-r--r-- | templates/apps/room/recordings.html | 46 | ||||
-rw-r--r-- | templates/apps/room/retry.html | 13 | ||||
-rw-r--r-- | templates/apps/room/tag.html | 32 | ||||
-rw-r--r-- | templates/apps/room/update.html | 1 | ||||
-rw-r--r-- | templates/apps/room/widget.html | 41 | ||||
-rw-r--r-- | templates/apps/stats/domain.html | 33 | ||||
-rw-r--r-- | templates/apps/stats/room.html | 31 | ||||
-rw-r--r-- | templates/apps/stats/user.html | 31 |
14 files changed, 357 insertions, 0 deletions
diff --git a/templates/apps/auth/login.html b/templates/apps/auth/login.html new file mode 100644 index 0000000..e72e73a --- /dev/null +++ b/templates/apps/auth/login.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% block headline %}Login{% endblock %} +{% block title %}SUNET Meeting Tools{% endblock %} +{% block content %} +<div class="hero-unit"> + <h1>Online Meetings</h1> + <p>Welcome to the meeting tools. Either <a class="btn btn-small btn-primary" href="/accounts/login-federated">Login</a> to manage + your meeting rooms and recordings, or ...</p> + <a class="btn btn-large btn-success pull-right" href="/accounts/login-federated?next=/user/myroom">Click here to Start a Meeting Now »»</a> +</div> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/room/create.html b/templates/apps/room/create.html new file mode 100644 index 0000000..b8b3b68 --- /dev/null +++ b/templates/apps/room/create.html @@ -0,0 +1 @@ +{% extends "apps/room/modify.html" %} diff --git a/templates/apps/room/fragments/occupation.txt b/templates/apps/room/fragments/occupation.txt new file mode 100644 index 0000000..705b6bf --- /dev/null +++ b/templates/apps/room/fragments/occupation.txt @@ -0,0 +1 @@ +{%if nusers %}There are {{nusers}} users present, {{nhosts}} of whom are hosts.{%else%}The room is currently unoccupied.{%endif%}
\ No newline at end of file diff --git a/templates/apps/room/launch.html b/templates/apps/room/launch.html new file mode 100644 index 0000000..204345d --- /dev/null +++ b/templates/apps/room/launch.html @@ -0,0 +1,34 @@ +{% extends "base.html" %} +{% load datehumanize %} +{% block widgets %} +{% endblock %} +{% block content %} + <div class="page-header"> + <h1>Entering {{room.name}}</h1> + </div> + <div class="ui-widget"> + <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em; width: 80%"> + <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span> + <strong>Note</strong> + You are about to enter the meeting room '{{room.name}}'. + {%if room.nusers == 0 %} + You are the first user to enter the room. + {%else%} + There are {{room.nusers}} other participants in the room right now. + {% endif %} + {%if room.nhosts == 0 %} There are no hosts in the room right now. This means that the participants in the room may not be able to make full use of the room. + If you are hosting this meeting and are comfortable with the Adobe Connect software you may press 'Enter as Host' below to become the first host. + {% endif %} + </p> + </div> + </div> + <br/> + <div> + <a class="btn btn-large" href="/rooms#{{room.id}}">Cancel</a> + {%if room.nhosts == 0 %} + <a class="btn btn-large btn-success" href="/accounts/login-federated?next=/promote/{{room.id}}">Enter as Host</a> + {% endif %} + <a class="btn btn-large btn-primary" href="/launch/{{room.id}}">Enter as Participant</a> + + </div> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/room/list.html b/templates/apps/room/list.html new file mode 100644 index 0000000..4e83466 --- /dev/null +++ b/templates/apps/room/list.html @@ -0,0 +1,79 @@ +{% extends "base.html" %} +{% load datehumanize %} +{% load roomurl %} +{% load tagging_tags %} +{% block widgets %} + $(".collapse").collapse({'parent': '#rooms'}); + $(".occupation").click(function(e) { + $(this).find(".occupation-info").first().load("/api/room/"+$(this).parents('.accordion-body').attr('id')+"/occupation") + }); + $(".occupation").ajaxStart(function() { + $(".occupation i.icon-refresh").removeClass("icon-refresh").addClass("spinner").spin("custom"); + }).ajaxStop(function() { + $(".occupation i.spinner").spin(false); + $(".occupation i.spinner").addClass("icon-refresh").removeClass("spinner"); + }); +{% endblock %} +{% block meta %} +{% if tags %} +<link rel="alternate" type="application/rss+xml" title="{{title}} (RSS 2.0)" href="/room/+{{tags}}.rss" /> +<link rel="alternate" type="application/atom+xml" title="{{title}} (ATOM 1.0)" href="/room/+{{tags}}.atom" /> +{% endif %} +{% endblock %} +{% block content %} + <div class="page-header"> + <h1>{{title}}</h1> + </div> + {% if rooms %} + <div id="rooms" class="accordion"> + {% for r in rooms %} + <div class="room accordion-group"> + <div class="accordion-heading"><a href="#{{r.id}}" class="accordion-toggle" data-toggle="collapse" data-parent="#rooms">{{r.name}}</a></div> + <div id="{{r.id}}" class="accordion-body collapse in"> + <div class="accordion-inner"> + {% tags_for_object r as tags %} + <p><a target="_connect" href="{{r|roomurl}}">{{r|roomurl}}</a></p> + <p class="well">{% if r.description %}{{r.description|safe}}{% else %}<em>No description available...</em>{% endif %}</p> + <ul class="unstyled" style="padding-left: 2px;"> + {% if tags %}<li>» {% for tag in tags %}<a class="badge" href="/room/+{{tag}}">{{tag}}</a>{% endfor %}{%if edit %} <a class="btn btn-mini btn-info" href="/room/{{r.id}}/tag">manage room tags</a>{%endif%}</li>{% endif %} + <li>» Created by {{r.creator}} {{r.timecreated|datehumanize}}.</li> + <li>» <span class="occupation"><span class="occupation-info">{%if r.nusers%}There are {{r.nusers}} users present, {{r.nhosts}} of whom are hosts.{%else%}The room is currently unoccupied.{%endif%}</span><a href="#" class="btn btn-mini btn-info"><i class="icon-refresh"> </i>refresh</a></span></li> + {% if r.self_cleaning %}<li>» Room will be reset when empty.</li>{%else%}<li>» Room state is preserved between sessions.</li>{% endif %} + {% if r.allow_host %}<li>» First participant can elect to become host.</li>{% endif %} + {% if r.lastvisited %}<li>» Last visited {{r.lastvisited|datehumanize}}</li>{%endif%} + <li>» Hosted on {{r.acc.name}} <a class="btn btn-mini btn-info" href="/stats/room/{{r.id}}">room usage plot</a></li> + </ul> + <br/> + <div class="btn-group"> + <a class="btn" target="_blank" href="/go/{{r.id}}">Enter Room</a> + {% if edit %} + <a class="btn" href="/room/{{r.id}}/tag">Room Tags</a> + <a class="btn" href="/room/{{r.id}}/recordings">Room Recordings</a> + <a class="btn" href="/room/{{r.id}}/modify">Modify Room</a> + {% if room.is_locked %} + <a class="btn" href="/room/{{r.id}}/unlock">Unlock Room</a> + {% endif %} + <a class="btn btn-danger" href="/room/{{r.id}}/delete">Delete Room</a> + {% endif %} + </div> + </div> + </div> + </div> + {% endfor %} + </div> + {% else %} + <p>Nothing comes to mind right now...</p> + {% endif %} + <br/> + {% if edit %} + <div class="btn-group"> + <a class="btn btn-success" href="/room/create">Create a New Room</a> + </div> + {% endif %} +{% endblock %} +{% block validators %} +{% if tags %} +<a href="http://feed1.w3.org/check.cgi?url=/room/+{{tags}}.atom"><img src="{{STATIC_URL}}/img/valid-atom.png" alt="[Valid Atom 1.0]" title="Validate my Atom 1.0 feed" /></a> +<a href="http://feed1.w3.org/check.cgi?url=/room/+{{tags}}.rss"><img src="{{STATIC_URL}}/img/valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a> +{% endif %} +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/room/modify.html b/templates/apps/room/modify.html new file mode 100644 index 0000000..a2e1b3a --- /dev/null +++ b/templates/apps/room/modify.html @@ -0,0 +1,3 @@ +{% extends "edit.html" %} +{% block widgets %} +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/room/recordings.html b/templates/apps/room/recordings.html new file mode 100644 index 0000000..8e95b09 --- /dev/null +++ b/templates/apps/room/recordings.html @@ -0,0 +1,46 @@ +{% extends "base.html" %} + +{% load datehumanize %} +{% load roomurl %} +{% load tagging_tags %} +{% block widgets %} +$(".collapse").collapse({'parent': '#recordings'}); +{% endblock %} +{% block meta %} +<link rel="alternate" type="application/rss+xml" title="{{title}} recordings (RSS 2.0)" href="/room/{{room.id}}/recordings.rss" /> +<link rel="alternate" type="application/atom+xml" title="{{title}} recordings (ATOM 1.0)" href="/room/{{room.id}}/recordings.atom" /> +{% endblock %} +{% block content %} + <div class="page-header"> + <h1>Recordings in '{{room.name}}'</h1> + </div> + {% if recordings %} + <div id="recordings" class="accordion"> + {% for r in recordings %} + <div class="recording accordion-group"> + <div class="accordion-heading"><a class="accordion-toggle" data-toggle="collapse" href="#{{r.sco_id}}">{{r.name}}</a></div> + <div id="{{r.sco_id}}" class="accordion-body collapse in"> + <div class="accordion-inner"> + <p><a target="_connect" href="{{r.url}}">{{r.url}}</a></p> + <div class="well">{% if r.description %}{{r.description|safe}}{% else %}<em>No description available...</em>{% endif %}</div> + <ul class="unstyled"> + <li>» Created {{r.date_created|datehumanize}}.</li> + <li>» Modified {{r.date_modified|datehumanize}}.</li> + <li>» Hosted on {{room.acc.name}}</li> + </ul> + <a class="btn btn-info" target="_connect" href="{{r.url}}">Play Recording</a> + </div> + </div> + </div> + {% endfor %} + </div> + {% else %} + <p>No recordings right now...</p> + {% endif %} + <br/> + <a class="btn" href="/room#{{room.id}}">Back to '{{room.name}}'</a> +{% endblock %} +{% block validators %} +<a href="http://feed1.w3.org/check.cgi?url={% baseurl %}/room/{{room.id}}/recordings.atom"><img src="{{STATIC_URL}}/img/valid-atom.png" alt="[Valid Atom 1.0]" title="Validate my Atom 1.0 feed" /></a> +<a href="http://feed1.w3.org/check.cgi?url={% baseurl %}/room/{{room.id}}/recordings.rss"><img src="{{STATIC_URL}}/img/valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/room/retry.html b/templates/apps/room/retry.html new file mode 100644 index 0000000..28054cc --- /dev/null +++ b/templates/apps/room/retry.html @@ -0,0 +1,13 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta HTTP-EQUIV="REFRESH" content="{{wait}}; url=/go/{{room.urlpath}}"/> +</head> +<body> +<h1>Room is temporarily locked</h1> +<p>Retrying room in {{wait}} seconds...</p> +<img src="{{STATIC_URL}}img/ajax-loader.gif"/> +</body> +</html>
\ No newline at end of file diff --git a/templates/apps/room/tag.html b/templates/apps/room/tag.html new file mode 100644 index 0000000..087862f --- /dev/null +++ b/templates/apps/room/tag.html @@ -0,0 +1,32 @@ +{% extends "edit.html" %} +{% load datehumanize %} +{% load roomurl %} +{% block widgets %} + +{% endblock %} +{% block formstyle %} +class="form-inline" +{% endblock %} +{% block justbeforeform %} +<div> + <div class="alert"> + <i class="icon-info-sign"> </i> + <strong>Note Well</strong> Tags are a way to group related rooms together. Tagging your + room makes your room show up in public lists of rooms hosted on this service and it + therefore makes your room visible. This does <em>not</em> mean that anyone can access + your room. + </div> + {% if tags %} + <div> + {% for tag in tags %} + <span class="btn-group"> + <a class="btn btn-small" href="/room/+{{tag}}">{{tag}}</a> + <a class="btn btn-small btn-warning" href="/room/{{room.id}}/untag/{{tag}}"><i class="icon-remove"></i></a> + </span> + {% endfor %} + </div> + {% else %} + <div class="alert">There are no tags yet...</div> +</div> + {% endif %} +{% endblock %} diff --git a/templates/apps/room/update.html b/templates/apps/room/update.html new file mode 100644 index 0000000..01f1990 --- /dev/null +++ b/templates/apps/room/update.html @@ -0,0 +1 @@ +{% extends "edit.html" %} diff --git a/templates/apps/room/widget.html b/templates/apps/room/widget.html new file mode 100644 index 0000000..a658a17 --- /dev/null +++ b/templates/apps/room/widget.html @@ -0,0 +1,41 @@ +{% extends "base.html" %} +{% block content %} +<div class="page-header"> + <h1>{{title}}</h1> +</div> + +<div class="alert"> + <i class="icon-info-sign"></i> + The meetingtools jquery widget allows you to easily embed lists of meetings in your own + web page using the popular <a href="http://jquery.com">jQuery javascript library</a>. +</div> + +<p>Copy the sample html below in order to list rooms tagged with <em>{{tags}}</em>.</p> + +<pre class="pre-scrollable prettyprint linenums language-xml"> +<html> + <head> + <script type="text/javascript" + src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> + <script type="text/javascript" + src="{% baseurl %}/site-media/js/jquery.meetingtools.js"></script> + <link href="{% baseurl %}/site-media/css/jquery.meetingtools.css" + rel="stylesheet" type="text/css" /> + <script type="text/javascript"> + $(function() { + $("#meetings").meetingtools({tags: '{{tags}}',url: '{% baseurl %}'}); + }); + </script> + </head> + <body> + <h1>Meetings...</h1> + <div id="meetings"><img src="{% baseurl %}/site-media/img/ajax-loader.gif"/></div> + </body> +</html> +</pre> + +<p> + Change the tags option in the call to 'meetingtools' in order to list other rooms. Override + the CSS elements in jquery.meetingtools.css in order to apply your own skin to the generated html. +</p> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/stats/domain.html b/templates/apps/stats/domain.html new file mode 100644 index 0000000..f7d9ad3 --- /dev/null +++ b/templates/apps/stats/domain.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} +{% load datehumanize %} +{% block widgets %} +$.ajax({ + url: '/api/stats/domain/{{domain}}', + method: 'GET', + success: function (resp) { + var graph = $('#graph'); + series = [{label: 'Meeting minutes for {{domain}}',data: resp['data']}]; + $.plot(graph,series,{ + lines: { show: true }, + points: { show: true }, + xaxis: { mode: "time" } + }); + $('#minutes').append(resp['minutes']); + $('#rooms').append(resp['rooms']); + $('#users').append(resp['users']); + } +}); +{% endblock %} +{% block content %} +<h1>Meeting statistics for {{domain}}</h1> +<div id="graph" style="width:600px;height:300px; display: block; float: left; margin-right: 30px;"></div> +<div> +<h2>Summary</h2> +<table> + <tr><td><b>Total minutes:</b></td><td id="minutes"></td></tr> + <tr><td><b>Total rooms:</b></td><td id="rooms"></td></tr> + <tr><td><b>Total unique users:</b></td><td id="users"></td></tr> + <tr><td colspan="2" style="padding-top: 10px;"><a href="/stats">Look at your own statistics</a></td></tr> +</table> +</div> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/stats/room.html b/templates/apps/stats/room.html new file mode 100644 index 0000000..d5e35dd --- /dev/null +++ b/templates/apps/stats/room.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} +{% load datehumanize %} +{% block widgets %} +$.ajax({ + url: '/api/stats/room/{{room.id}}', + method: 'GET', + success: function (resp) { + var graph = $('#graph'); + series = [{label: 'Meeting minutes for {{room.name}}',data: resp['data']}]; + $.plot(graph,series,{ + lines: { show: true }, + points: { show: true }, + xaxis: { mode: "time" } + }); + $('#minutes').append(resp['minutes']); + $('#users').append(resp['users']); + } +}); +{% endblock %} +{% block content %} +<h1>Meeting statistics for {{room.name}}</h1> +<div id="graph" style="width:600px;height:300px; display: block; float: left; margin-right: 30px;"></div> +<div> +<h2>Summary</h2> +<table> + <tr><td><b>Total minutes:</b></td><td id="minutes"></td></tr> + <tr><td><b>Total unique users:</b></td><td id="users"></td></tr> + <tr><td colspan="2" style="padding-top: 10px;"><a href="/stats">Look at your own statistics</a></td></tr> +</table> +</div> +{% endblock %}
\ No newline at end of file diff --git a/templates/apps/stats/user.html b/templates/apps/stats/user.html new file mode 100644 index 0000000..8b08c6c --- /dev/null +++ b/templates/apps/stats/user.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} +{% load datehumanize %} +{% block widgets %} +$.ajax({ + url: '/api/stats/user/{{username}}', + method: 'GET', + success: function (resp) { + var graph = $('#graph'); + series = [{label: 'Meeting minutes for {{username}}',data: resp['data']}]; + $.plot(graph,series,{ + lines: { show: true }, + points: { show: true }, + xaxis: { mode: "time" } + }); + $('#minutes').append(resp['minutes']); + $('#rooms').append(resp['rooms']); + } +}); +{% endblock %} +{% block content %} +<h1>Meeting statistics for {{username}}</h1> +<div id="graph" style="width:600px;height:300px; display: block; float: left; margin-right: 20px;"></div> +<div> +<h2>Summary</h2> +<table> + <tr><td><b>Total minutes:</b></td><td id="minutes"></td></tr> + <tr><td><b>Total rooms:</b></td><td id="rooms"></td></tr> + <tr><td colspan="2" style="padding-top: 10px;"><a href="/stats/domain/{{domain}}">Look at statistics for {{domain}}</a></td></tr> +</table> +</div> +{% endblock %}
\ No newline at end of file |