Remove templates
These have all been moved to the starter project, pinax-project-symposion. The reasoning behind this is they are very specific to the theme (pinax-theme-bootstrap) that the project uses and not really all that reusable when packaged with this app.
This commit is contained in:
parent
5d8b092319
commit
ba1df47d69
75 changed files with 0 additions and 2554 deletions
|
@ -1,6 +1,5 @@
|
|||
Django>=1.7.1
|
||||
django-appconf==0.6
|
||||
django-forms-bootstrap>=2.0.3.post2
|
||||
django-markitup==2.2.2
|
||||
django-model-utils==2.2
|
||||
django-reversion==1.8.5
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
{% load markitup_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% if form %}
|
||||
<div id="edit_{{ label }}" class="modal fade hide">
|
||||
<form id="edit_form_{{ label }}" accept-charset="UTF-8" class="modal-form" method="POST" action="{{ form_action }}?next={{ request.path }}">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3>{% trans "Editing content:" %} {{ label }}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{% csrf_token %}
|
||||
{{ form.content }}
|
||||
|
||||
{% markitup_editor form.content.auto_id %}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="pull-left">Content is processed using <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">Markdown</a></div>
|
||||
<a href="#" class="btn" data-dismiss="modal">Close</a>
|
||||
<button type="submit" class="btn btn-primary">Save changes</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id="content_{{ label }}" class="content-box {% if form %}editable{% endif %}">
|
||||
{% if form %}
|
||||
<a href="#edit_{{ label }}" data-toggle="modal" class="btn edit-toggle"><i class="icon-pencil"></i> Edit this content</a>
|
||||
{% endif %}
|
||||
{{ box.content|safe }}
|
||||
</div>
|
|
@ -1,20 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block head_title %}Upload File{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<h1>Upload File</h1>
|
||||
<form method="POST" action="{% url "file_create" %}" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<button class="btn btn-primary" type="submit">Upload</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,30 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% block head_title %}Uploaded Files{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<h1>Files</h1>
|
||||
|
||||
{% for file in files %}
|
||||
<div style="margin-top: 1em;">
|
||||
<form class="pull-right" action="{% url "file_delete" file.pk %}" method="post">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-error"><i class="icon-trash"></i> delete</button>
|
||||
</form>
|
||||
<h3><a href="{{ file.download_url }}">{{ file.file }}</a></h3>
|
||||
<span style="font-style:italic; color: #999;">Uploaded {{ file.created|date:"N j, Y" }}</span>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p>No uploaded files.</p>
|
||||
{% endfor %}
|
||||
<div style="margin-top: 2em">
|
||||
<a class="btn btn-success" href="{% url "file_create" %}">
|
||||
<i class="icon-plus icon-white"></i>
|
||||
Add File
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,27 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load url from future %}
|
||||
|
||||
|
||||
{% load sitetree %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block body_class %}cms-page{% endblock %}
|
||||
|
||||
{% block head_title %}{{ page.title }}{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% if editable %}
|
||||
<div class="pull-right">
|
||||
<a href="{% url 'cms_page_edit' page.path %}" class="btn"><i class="icon-pencil icon-large"></i> Edit this page</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<h2>{{ page.title }}</h2>
|
||||
|
||||
<div class="page-content">
|
||||
{{ page.body }}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -1,22 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load sitetree %}
|
||||
{% load i18n %}
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block body_class %}cms-page{% endblock %}
|
||||
|
||||
{% block head_title %}Create Page{% endblock %}
|
||||
|
||||
{% block page_title %}{% trans "Edit page at:" %} {{ path }}{% endblock %}
|
||||
{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form method="POST" action="">
|
||||
{% csrf_token %}
|
||||
{{ form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Save" />
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,106 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load sitetree %}
|
||||
|
||||
{% block head_title %}User List{% endblock %}
|
||||
|
||||
{% block extra_style %}
|
||||
<style type="text/css">
|
||||
div.dataTables_length label {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.dataTables_length select {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
div.dataTables_filter label {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.dataTables_info {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
div.dataTables_paginate {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
table.table {
|
||||
clear: both;
|
||||
margin-bottom: 6px !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
table.table thead .sorting,
|
||||
table.table thead .sorting_asc,
|
||||
table.table thead .sorting_desc,
|
||||
table.table thead .sorting_asc_disabled,
|
||||
table.table thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<h1>User List</h1>
|
||||
<table class="table table-striped table-bordered table-reviews">
|
||||
<thead>
|
||||
<th>{% trans "Email" %}</th>
|
||||
<th>{% trans "Name" %}</th>
|
||||
<th>{% trans "Speaker Profile?" %}</th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for user in users %}
|
||||
<tr>
|
||||
<td>{{ user.email }}</td>
|
||||
<td>{{ user.get_full_name }}</td>
|
||||
<td>
|
||||
{% if user.speaker_profile %}
|
||||
<a href="{% url "speaker_profile" user.speaker_profile.pk %}">{{ user.speaker_profile }}</a>
|
||||
{% else %}
|
||||
<a href="{% url "speaker_create_staff" user.pk %}" class="btn btn-mini">create</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script src="{{ STATIC_URL }}datatables/js/jquery.dataTables.min.js" type="text/javascript"></script>
|
||||
<script src="{{ STATIC_URL }}tabletools/js/TableTools.min.js" type="text/javascript"></script>
|
||||
<script src="{{ STATIC_URL }}datatables/js/dataTables.bootstrap.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".tip").tooltip();
|
||||
$("table.table-reviews").dataTable({
|
||||
"sDom": "<'row'<'span3'l><'span3'T><'span4'f>r>t<'row'<'span3'i><'span5'p>>",
|
||||
"sPaginationType": "bootstrap",
|
||||
"bStateSave": true,
|
||||
"oTableTools": {
|
||||
"aButtons": [
|
||||
"copy",
|
||||
"csv",
|
||||
"print"
|
||||
],
|
||||
"sSwfPath": "{{ STATIC_URL }}tabletools/swf/copy_csv_xls.swf"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,221 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load proposal_tags %}
|
||||
{% load review_tags %}
|
||||
{% load teams_tags %}
|
||||
|
||||
{% block head_title %}Dashboard{% endblock %}
|
||||
|
||||
{% block body_class %}auth{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="dashboard-panel">
|
||||
<div class="dashboard-panel-header">
|
||||
<i class="icon-bullhorn"></i>
|
||||
<h3>{% trans "Speaking" %}</h3>
|
||||
<div class="pull-right header-actions">
|
||||
{% if not user.speaker_profile %}
|
||||
<a href="{% url "speaker_create" %}" class="btn">
|
||||
<i class="icon-plus-sign"></i> Create a speaker profile
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% url "speaker_edit" %}" class="btn">
|
||||
<i class="icon-pencil"></i> Edit your speaker profile
|
||||
</a>
|
||||
<a href="{% url "proposal_submit" %}" class="btn">
|
||||
<i class="icon-plus-sign"></i> Submit a new proposal
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel-content">
|
||||
{% if not user.speaker_profile %}
|
||||
<p>To submit a proposal, you must first <a href="{% url "speaker_create" %}">create a speaker profile</a>.</p>
|
||||
{% else %}
|
||||
<h4>Your Proposals</h4>
|
||||
{% if user.speaker_profile.proposals.exists %}
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Session type</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
{% for proposal in user.speaker_profile.proposals.all %}
|
||||
{% include "proposals/_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
<p>No proposals submitted yet.</p>
|
||||
{% endif %}
|
||||
|
||||
{% associated_proposals as associated_proposals %}
|
||||
{% if associated_proposals %}
|
||||
<h4>Proposals you have joined as an additional speaker</h4>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Session type</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
{% for proposal in associated_proposals %}
|
||||
{% include "proposals/_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% pending_proposals as pending_proposals %}
|
||||
{% if pending_proposals %}
|
||||
<h4>Proposals you have been invited to join</h4>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Session type</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
{% for proposal in pending_proposals %}
|
||||
{% include "proposals/_pending_proposal_row.html" %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel">
|
||||
<div class="dashboard-panel-header">
|
||||
<i class="icon-briefcase"></i>
|
||||
<h3>{% trans "Sponsorship" %}</h3>
|
||||
<div class="pull-right header-actions">
|
||||
{% if not user.sponsorships.exists %}
|
||||
<a href="{% url "sponsor_apply" %}" class="btn">
|
||||
<i class="icon-plus-sign"></i> Apply to be a sponsor
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel-content">
|
||||
{% if not user.sponsorships.exists %}
|
||||
<p>If you or your organization would be interested in sponsorship opportunities, <a href="{% url "sponsor_apply" %}">use our online form to apply to be a sponsor</a>.
|
||||
{% else %}
|
||||
<h4>Your Sponsorship</h4>
|
||||
<ul>
|
||||
{% for sponsorship in user.sponsorships.all %}
|
||||
<li>
|
||||
<a href="{% url "sponsor_detail" sponsorship.pk %}"><b>{{ sponsorship.name }}</b></a>
|
||||
({{ sponsorship.level }})
|
||||
{% if not sponsorship.active %}
|
||||
<span class="label label-warning">awaiting approval</span>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if user.is_staff %}
|
||||
<p>
|
||||
As staff, you can directly <a href="{% url "sponsor_add" %}">add a sponsor</a> if the organization isn't
|
||||
applying themselves.
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if review_sections %}
|
||||
<div class="dashboard-panel">
|
||||
<div class="dashboard-panel-header">
|
||||
<i class="icon-briefcase"></i>
|
||||
<h3>{% trans "Reviews" %}</h3>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel-content">
|
||||
<h4>Reviews by Section</h4>
|
||||
|
||||
<ul>
|
||||
{% for section in review_sections %}
|
||||
<h5>{{ section }}</h5>
|
||||
<li><a href="{% url "review_section" section.section.slug %}">All</a></li>
|
||||
<li><a href="{% url "user_reviewed" section.section.slug %}">Reviewed by you</a></li>
|
||||
<li><a href="{% url "user_not_reviewed" section.section.slug %}">Not Reviewed by you</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% comment %}
|
||||
<h4>My Assignments</h4>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<td>Proposal Title</td>
|
||||
<td>Score</td>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Title Three</td>
|
||||
<td>-1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Title Four</td>
|
||||
<td>+2</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endcomment %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% available_teams as available_teams %}
|
||||
{% if user.memberships.exists or available_teams %}
|
||||
<div class="dashboard-panel">
|
||||
<div class="dashboard-panel-header">
|
||||
<i class="icon-group"></i>
|
||||
<h3>{% trans "Teams" %}</h3>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-panel-content">
|
||||
{% if user.memberships.exists %}
|
||||
<h4>Your Teams</h4>
|
||||
<table class="table table-striped">
|
||||
{% for membership in user.memberships.all %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url "team_detail" membership.team.slug %}">{{ membership.team.name }}</a>
|
||||
{% if membership.team.description %}<br>{{ membership.team.description }}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<span class="label{% if membership.state == 'invited' %} label-info{% endif %}">{{ membership.get_state_display }}</span>
|
||||
</td>
|
||||
<td>
|
||||
{% if membership.state == "manager" or user.is_staff %}
|
||||
{% if membership.team.applicants %}{{ membership.team.applicants.count }} applicant{{ membership.team.applicants.count|pluralize }}{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if available_teams %}
|
||||
<h4>Available Teams</h4>
|
||||
<table class="table table-striped">
|
||||
{% for team in available_teams %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url team_detail team.slug %}">{{ team }}</a>
|
||||
{% if team.description %}<br>{{ team.description }}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<span class="label">{{ team.get_access_display }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -1,11 +0,0 @@
|
|||
{% load account_tags %}
|
||||
<p>
|
||||
<b>{% user_display message.user %}</b> has added a message on <b>{{ proposal.title }}</b>.
|
||||
</p>
|
||||
<blockquote>
|
||||
{{ message.message|safe }}
|
||||
</blockquote>
|
||||
<p>
|
||||
{% if reviewer %}{% url "review_detail" proposal.pk as detail_url %}{% else %}{% url "proposal_detail" proposal.pk as detail_url %}{% endif %}
|
||||
Respond online at <a href="http://{{ current_site }}{{ detail_url }}#proposal-feedback">http://{{ current_site }}{{ detail_url }}#proposal-feedback</a>
|
||||
</p>
|
|
@ -1 +0,0 @@
|
|||
{% load account_tags %}New message on "{{ proposal.title }}" from {% user_display message.user %}
|
|
@ -1,8 +0,0 @@
|
|||
{% load account_tags %}
|
||||
<p>
|
||||
<b>{% user_display user %}</b> has made changes to <b>{{ proposal.title }}</b> which you have previously reviewed or commented on.
|
||||
</p>
|
||||
<p>
|
||||
{% url "review_detail" proposal.pk as detail_url %}
|
||||
View the latest version of the proposal online at <a href="http://{{ current_site }}{{ detail_url }}">http://{{ current_site }}{{ detail_url }}</a>
|
||||
</p>
|
|
@ -1 +0,0 @@
|
|||
{% load account_tags %}"{{ proposal.title }}" has been updated by {% user_display user %}
|
|
@ -1,6 +0,0 @@
|
|||
<p>{{ proposal.speaker.name }} attached you as an additional speaker to a
|
||||
talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".</p>
|
||||
|
||||
<p>For more details, visit the {{ current_site.name }} speaker dashboard:
|
||||
<a href="http://{{ current_site }}{% url "dashboard" %}">http://{{ current_site }}{% url "dashboard" %}</a>
|
||||
</p>
|
|
@ -1 +0,0 @@
|
|||
{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
|
|
@ -1,10 +0,0 @@
|
|||
<p>{{ proposal.speaker.name }} attached you as an additional speaker to a
|
||||
talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".</p>
|
||||
|
||||
<p>Go to</p>
|
||||
|
||||
<p><a href="http://{{ current_site }}{% url "speaker_create_token" token %}">http://{{ current_site }}{% url "speaker_create_token" token %}</a></p>
|
||||
|
||||
<p>to confirm.</p>
|
||||
|
||||
<p>If you don't have account on the website, you will be asked to create one.</p>
|
|
@ -1 +0,0 @@
|
|||
{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
|
|
@ -1,9 +0,0 @@
|
|||
{% load url from future %}
|
||||
<p>{{ proposal.speaker.name }} attached you as an additional speaker to a
|
||||
talk proposal for {{ current_site.name }} entitled "{{ proposal.title }}".</p>
|
||||
|
||||
<p>Go to</p>
|
||||
|
||||
<p><a href="http://{{ current_site }}{% url 'speaker_create_token' token %}">http://{{ current_site }}{% url 'speaker_create_token' token %}</a></p>
|
||||
|
||||
<p>to confirm and fill out your speaker profile.</p>
|
|
@ -1 +0,0 @@
|
|||
{{ proposal.speaker.name }} has invited you to join as a speaker on {{ proposal.title }}
|
|
@ -1,9 +0,0 @@
|
|||
<p>{{ sponsor.name }} has applied to be a sponsor.</p>
|
||||
|
||||
<ul>
|
||||
<li><b>Applicant</b>: {{ sponsor.applicant }}</li>
|
||||
<li><b>Sponsor Name</b>: {{ sponsor.name }}</li>
|
||||
<li><b>Sponsor Contact</b>: {{ sponsor.contact_name }}</li>
|
||||
<li><b>Sponsor Contact Email</b>: {{ sponsor.contact_email }}</li>
|
||||
<li><b>Sponsorship Level</b>: {{ sponsor.level }}</li>
|
||||
</ul>
|
|
@ -1 +0,0 @@
|
|||
New Sponsor Application
|
|
@ -1,12 +0,0 @@
|
|||
{% load i18n account_tags %}
|
||||
{% user_display user as username %}
|
||||
{% blocktrans with team_name=team team_url=team.get_absolute_url site_name=current_site.name site_url=current_site %}
|
||||
<p>
|
||||
User "{{ username }}" has applied to join <b>{{ team_name }}</b> on {{ site_name }}.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To accept this application and see any other pending applications, visit the following url:
|
||||
<a href="http://{{ site_url }}{{ team_url }}">http://{{ site_url }}{{ team_url }}</a>
|
||||
</p>
|
||||
{% endblocktrans %}
|
|
@ -1 +0,0 @@
|
|||
{% load i18n account_tags %}{% user_display user as username %}{% blocktrans %}{{ username}} has applied to to join "{{ team }}"{% endblocktrans %}
|
|
@ -1,12 +0,0 @@
|
|||
{% load i18n account_tags %}
|
||||
|
||||
{% blocktrans with team_name=team team_url=team.get_absolute_url site_name=current_site.name site_url=current_site %}
|
||||
<p>
|
||||
You have been invited to join <b>{{ team_name }}</b> on {{ site_name }}.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To accept this invitation, visit the following url:
|
||||
<a href="http://{{ site_url }}{{ team_url }}">http://{{ site_url }}{{ team_url }}</a>
|
||||
</p>
|
||||
{% endblocktrans %}
|
|
@ -1 +0,0 @@
|
|||
{% load i18n %}{% blocktrans %}You have been invited to join "{{ team }}"{% endblocktrans %}
|
|
@ -1,42 +0,0 @@
|
|||
{% load i18n %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url "proposal_detail" proposal.pk %}">{{ proposal.title }}</a>
|
||||
</td>
|
||||
|
||||
<td>{{ proposal.kind.name }}</td>
|
||||
|
||||
<td>
|
||||
{% if proposal.cancelled %}
|
||||
<span class="label label-important">{% trans 'Cancelled' %}</span>
|
||||
{% else %}
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">{% trans 'Accepted' %}</span>
|
||||
{% else %}
|
||||
<span class="label">{% trans 'Submitted' %}</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="label">{% trans 'Invited' %}</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{% if not proposal.cancelled %}
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
{% trans 'Choose Response' %}
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="{% url "proposal_pending_join" proposal.id %}">
|
||||
{% trans 'Accept invitation' %}</a></li>
|
||||
<li><a href="{% url "proposal_pending_decline" proposal.id
|
||||
%}">{% trans 'Decline invitation' %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
|
@ -1,60 +0,0 @@
|
|||
{% load i18n %}
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>{% trans "Submitted by" %}</dt>
|
||||
<dd>{{ proposal.speaker }}</dd>
|
||||
|
||||
<dt>{% trans "Track" %}</dt>
|
||||
<dd>{{ proposal.track }} </dd>
|
||||
|
||||
<dt>{% trans "Audience Level" %}</dt>
|
||||
<dd>{{ proposal.get_audience_level_display }} </dd>
|
||||
|
||||
{% if proposal.additional_speakers.all %}
|
||||
<dt>{% trans "Additional Speakers" %}</dt>
|
||||
<dd>
|
||||
{% for speaker in proposal.additional_speakers.all %}
|
||||
<li>
|
||||
{% if speaker.user %}
|
||||
<strong>{{ speaker.name }}</strong> <{{ speaker.email }}>
|
||||
{% else %}
|
||||
{{ speaker.email }} ({% trans "Invitation Sent" %})
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</dd>
|
||||
{% endif %}
|
||||
|
||||
<dt>{% trans "Description" %}</dt>
|
||||
<dd>{{ proposal.description }} </dd>
|
||||
|
||||
<dt>{% trans "Abstract" %}</dt>
|
||||
<dd>{{ proposal.abstract|safe }} </dd>
|
||||
|
||||
<dt>{% trans "Notes" %}</dt>
|
||||
<dd>{{ proposal.additional_notes|safe }} </dd>
|
||||
|
||||
<dt>{% trans "Speaker Bio" %}</dt>
|
||||
<dd>{{ proposal.speaker.biography|safe }} </dd>
|
||||
|
||||
<dt>{% trans "Documents" %}</dt>
|
||||
<dd>
|
||||
{% if proposal.supporting_documents.exists %}
|
||||
<table class="table table-striped">
|
||||
{% for document in proposal.supporting_documents.all %}
|
||||
<tr>
|
||||
<td><a href="{{ document.download_url }}">{{ document.description }}</a></td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-mini">delete</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
No supporting documents attached to this proposal.
|
||||
{% endif %}
|
||||
</dd>
|
||||
</dl>
|
|
@ -1,32 +0,0 @@
|
|||
<tr>
|
||||
<td>
|
||||
<a href="{% url "proposal_detail" proposal.pk %}">{{ proposal.title }}</a>
|
||||
</td>
|
||||
|
||||
<td>{{ proposal.kind.name }}</td>
|
||||
|
||||
<td>
|
||||
{% if proposal.cancelled %}
|
||||
<span class="label label-important">Cancelled</span>
|
||||
{% else %}
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<span class="label label-success">Accepted</span>
|
||||
{% else %}
|
||||
<span class="label">Submitted</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="label">Associated</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{% if not proposal.cancelled %}
|
||||
{% if request.user == proposal.speaker.user and proposal.can_edit %}
|
||||
<a href="{% url "proposal_edit" proposal.pk %}" class="btn btn-mini"><i class="icon-pencil"></i> Edit</a>
|
||||
<a href="{% url "proposal_speaker_manage" proposal.id %}" class="btn btn-mini"><i class="icon-user"></i> Manage Additional Speakers</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
|
@ -1,5 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% block body_outer %}
|
||||
{% block body %}{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,17 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block page_title %}Upload Document to '{{ proposal.title }}'{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form method="POST" action="" enctype="multipart/form-data" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Upload" />
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,18 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block head_title %}{% trans 'Cancel Proposal' %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Cancel: {{ proposal.title }}</h1>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<p>Are you sure you want to cancel <b>{{ proposal.title }}</b>?</p>
|
||||
<input class="btn btn-danger" type="submit" value="I am sure" />
|
||||
<a class="btn" href="{% url "proposal_detail" proposal.pk %}">{% trans 'No, keep it for now' %}</a>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,120 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load account_tags %}
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block head_title %}{{ proposal.title }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="pull-right">
|
||||
{% if not proposal.cancelled %}
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
<a href="{% url "proposal_edit" proposal.pk %}" class="btn">
|
||||
{% trans "Edit this proposal" %}
|
||||
</a>
|
||||
<a href="{% url "proposal_cancel" proposal.pk %}" class="btn">
|
||||
{% trans "Cancel this proposal" %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% url "proposal_leave" proposal.pk %}" class="btn">
|
||||
{% trans "Remove me from this proposal" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% trans 'Cancelled' }
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<h3>#{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }}, Track: {{ proposal.track }})</h3>
|
||||
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#proposal-detail" data-toggle="tab">{% trans "Proposal Details" %}</a></li>
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
<li><a href="#proposal-documents" data-toggle="tab">{% trans "Supporting Documents" %}</a></li>
|
||||
{% endif %}
|
||||
{% if message_form %}
|
||||
<li><a href="#proposal-feedback" data-toggle="tab">{% trans "Reviewer Feedback" %} <span class="badge">{{ proposal.messages.all|length }}</span></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="proposal-detail">
|
||||
{% include "proposals/_proposal_fields.html" %}
|
||||
</div>
|
||||
{% if request.user == proposal.speaker.user %}
|
||||
<div class="tab-pane" id="proposal-documents">
|
||||
<h3>{% trans 'Supporting Documents' %}</h3>
|
||||
|
||||
{% if proposal.supporting_documents.exists %}
|
||||
<table class="table table-striped">
|
||||
{% for document in proposal.supporting_documents.all %}
|
||||
<tr>
|
||||
<td><a href="{{ document.download_url }}">{{ document.description }}</a></td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "proposal_document_delete" document.pk %}">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-mini">{% trans 'delete' %}</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
<p>{% trans 'No supporting documents attached to this proposal.' %}</p>
|
||||
{% endif %}
|
||||
<a class="btn btn-small{% if proposal.cancelled %} btn-disabled{% endif %}" href="{% url proposal_document_create proposal.pk %}"><i class="icon-upload"></i> {% trans 'Add Document' %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if message_form %}
|
||||
<div class="tab-pane" id="proposal-feedback">
|
||||
|
||||
<h3>{% trans 'Conversation with Reviewers' %}</h3>
|
||||
|
||||
{% for message in proposal.messages.all %}
|
||||
<div class="review-box">
|
||||
<div class="comment">{{ message.message|safe }}</div>
|
||||
<div class="dateline"><b>{% user_display message.user %}</b> {{ message.submitted_at|timesince }} ago</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
{% endfor %}
|
||||
|
||||
<h3>{% trans 'Leave a Message' %}</h3>
|
||||
|
||||
<p>{% trans 'You can leave a message for the reviewers here.' %}</p>
|
||||
|
||||
<form action="" method="POST" accept-charset="utf-8">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ message_form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="actions">
|
||||
<button type="submit" name="message_submit" class="btn
|
||||
primary">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script src="{{ STATIC_URL }}symposion/js/jquery.history.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
var History = window.History;
|
||||
|
||||
$(window).bind("anchorchange", function() {
|
||||
$(".nav-tabs a[href='" + location.hash + "']").click();
|
||||
});
|
||||
|
||||
$('#.nav-tabs a[data-toggle="tab"]').on('shown', function (e) {
|
||||
if (History.enabled) {
|
||||
History.pushState(null, null, $(e.target).attr("href"));
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock extra_script %}
|
|
@ -1,23 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load markitup_tags %}
|
||||
|
||||
{% block head_title %}Editing {{ proposal.title }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Edit: {{ proposal.title }}</h1>
|
||||
|
||||
<p><a href="{% url "proposal_speaker_manage" proposal.pk %}">Manage speakers</a></p>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Save" />
|
||||
<a class="btn" href="{% url "proposal_detail" proposal.pk %}">Cancel</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,11 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h3>Leaving {{ proposal.title }}</h3>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<p>Are you sure you wish to leave as a speaker on <b>{{ proposal.title }}</b>?</p>
|
||||
<input type="submit" class="btn btn-primary" value="I am sure" />
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,41 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block body %}
|
||||
<h1>{% trans 'Proposal:' %} {{ proposal.title }}</h1>
|
||||
|
||||
<p>
|
||||
<a href="{% url "proposal_edit" proposal.pk %}">{% trans 'Edit proposal' %}
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h2>{% trans 'Current Speakers' %}</h2>
|
||||
|
||||
{% for speaker in speakers %}
|
||||
{% if speaker.user %}
|
||||
<p><b>{{ speaker.name }}</b> — {{ speaker.email }}</p>
|
||||
{% else %}
|
||||
<p>{{ speaker.email }} — {% trans 'pending invitation' %}</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<h2>{% trans 'Add another speaker' %}</h2>
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data" class="uniForm">
|
||||
{% csrf_token %}
|
||||
{{ add_speaker_form|as_bootstrap }}
|
||||
<div class="form-action">
|
||||
<input type="submit" value="Add speaker" class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_body %}
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#id_email").focus();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,22 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load boxes_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}{% trans "Submit A Proposal" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% box "proposal_submit" %}
|
||||
|
||||
{% if kinds %}
|
||||
<p>Select what kind of proposal you'd like to submit:</p>
|
||||
|
||||
<ul>
|
||||
{% for kind in kinds %}
|
||||
<li><a href="{% url "proposal_submit_kind" kind.slug %}">{{ kind }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>Proposals are not currently open for submission.</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -1,27 +0,0 @@
|
|||
{% extends "proposals/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load boxes_tags %}
|
||||
{% load markitup_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}Submit a Proposal for a {{ kind.name }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% box "example_proposal" %}
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<p>
|
||||
You will be able to edit your proposal after it has been submitted. The program committee may ask questions, provide feedback, and even suggest changes to your proposal as part of the review processes.
|
||||
</p>
|
||||
<input class="btn btn-primary" type="submit" name="finish" value="Save" />
|
||||
<!-- <span style="float: right; padding: 4px 6px">or</span> -->
|
||||
<input class="btn" type="submit" name="add-speakers" value="Save and Add Additional Speakers" />
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,7 +0,0 @@
|
|||
<b>Body</b> may include the following variables which will be substituted in the email with a value
|
||||
specific to each proposal:
|
||||
<ul>
|
||||
<li><code>{% templatetag openvariable %} proposal.title {% templatetag closevariable %}</code> e.g. {{ proposals.0.title }}
|
||||
<li><code>{% templatetag openvariable %} proposal.kind {% templatetag closevariable %}</code> e.g. {{ proposals.0.kind }}
|
||||
<li><code>{% templatetag openvariable %} proposal.speaker {% templatetag closevariable %}</code> e.g. {{ proposals.0.speaker }}
|
||||
</ul>
|
|
@ -1,37 +0,0 @@
|
|||
{% load i18n %}
|
||||
|
||||
<table class="table table-striped table-bordered table-reviews">
|
||||
<thead>
|
||||
<th>#</th>
|
||||
<th>{% trans "Speaker / Title" %}</th>
|
||||
<th>{% trans "Category" %}</th>
|
||||
<th><i class="icon-comment-alt"></i></th>
|
||||
<th>{% trans "+1" %}</th>
|
||||
<th>{% trans "+0" %}</th>
|
||||
<th>{% trans "-0" %}</th>
|
||||
<th>{% trans "-1" %}</th>
|
||||
<th><a href="#" class="tip" title="{% trans "Your Rating" %}"><i class="icon-user"></i></a></th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for proposal in proposals %}
|
||||
<tr class="{{ proposal.user_vote_css }}">
|
||||
<td>{{ proposal.number }}</td>
|
||||
<td>
|
||||
<a href="{% url "review_detail" proposal.pk %}">
|
||||
<small><strong>{{ proposal.speaker }}</strong></small>
|
||||
<br />
|
||||
{{ proposal.title }}
|
||||
</a>
|
||||
</td>
|
||||
<td>{{ proposal.track }}</td>
|
||||
<td>{{ proposal.comment_count }}</td>
|
||||
<td>{{ proposal.plus_one }}</td>
|
||||
<td>{{ proposal.plus_zero }}</td>
|
||||
<td>{{ proposal.minus_zero }}</td>
|
||||
<td>{{ proposal.minus_one }}</td>
|
||||
<td>{{ proposal.user_vote|default:"" }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -1,10 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Access Not Permitted</h1>
|
||||
|
||||
<p>
|
||||
Sorry, you do not have permission to access this page. If you
|
||||
believe this is a bug, please contact us immediately.
|
||||
</p>
|
||||
{% endblock %}
|
|
@ -1,117 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load sitetree %}
|
||||
|
||||
{% block extra_style %}
|
||||
<style type="text/css">
|
||||
div.dataTables_length label {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.dataTables_length select {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
div.dataTables_filter label {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.dataTables_info {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
div.dataTables_paginate {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
table.table {
|
||||
clear: both;
|
||||
margin-bottom: 6px !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
table.table thead .sorting,
|
||||
table.table thead .sorting_asc,
|
||||
table.table thead .sorting_desc,
|
||||
table.table thead .sorting_asc_disabled,
|
||||
table.table thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block body_class %}reviews{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span2">
|
||||
{% block sidebar %}
|
||||
<ul class="nav nav-list well">
|
||||
{% for section in review_sections %}
|
||||
<li class="nav-header">
|
||||
{{ section }}
|
||||
</li>
|
||||
<li>
|
||||
<a href="{% url "review_section" section.section.slug %}">
|
||||
{% trans "All Reviews" %}
|
||||
</a>
|
||||
</li>
|
||||
{% comment %}
|
||||
<li>
|
||||
<a href="{% url "review_section_assignments" section.section.slug %}">
|
||||
{% trans "Your Assignments" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endcomment %}
|
||||
<li>
|
||||
<a href="{% url "review_status" section.section.slug %}">
|
||||
{% trans "Voting Status" %}
|
||||
</a>
|
||||
</li>
|
||||
{% if request.user.is_staff %}
|
||||
<li>
|
||||
<a href="{% url "result_notification" section.section.slug 'accepted' %}">Result Notification</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="span10">
|
||||
{% block body %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script src="{{ STATIC_URL }}datatables/js/jquery.dataTables.min.js" type="text/javascript"></script>
|
||||
<script src="{{ STATIC_URL }}tabletools/js/TableTools.min.js" type="text/javascript"></script>
|
||||
<script src="{{ STATIC_URL }}datatables/js/dataTables.bootstrap.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".tip").tooltip();
|
||||
$("table.table-reviews").dataTable({
|
||||
"sDom": "<'row'<'span3'l><'span3'T><'span4'f>r>t<'row'<'span3'i><'span5'p>>",
|
||||
"sPaginationType": "bootstrap",
|
||||
"bStateSave": true,
|
||||
"oTableTools": {
|
||||
"aButtons": [
|
||||
"copy",
|
||||
"csv",
|
||||
"print"
|
||||
],
|
||||
"sSwfPath": "{{ STATIC_URL }}tabletools/swf/copy_csv_xls.swf"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,153 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block extra_style %}
|
||||
<style type="text/css">
|
||||
.table-striped tbody tr.selected td {
|
||||
background-color: #F7F4E6;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<ul class="nav nav-pills">
|
||||
<li{% if status == 'accepted' %} class="active"{% endif %}><a href="{% url "result_notification" section_slug 'accepted' %}">accepted</a>
|
||||
<li{% if status == 'rejected' %} class="active"{% endif %}><a href="{% url "result_notification" section_slug 'rejected' %}">rejected</a>
|
||||
<li{% if status == 'standby' %} class="active"{% endif %}><a href="{% url "result_notification" section_slug 'standby' %}">standby</a>
|
||||
</ul>
|
||||
|
||||
<h1>Result Notification</h1>
|
||||
|
||||
<form method="post" action="{% url "result_notification_prepare" section_slug status %}">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
<p>
|
||||
Select one or more proposals (<span class="action-counter">0</span> currently selected)
|
||||
<br/>
|
||||
then pick an email template
|
||||
<select name="notification_template">
|
||||
<option value="">[blank]</option>
|
||||
{% for template in notification_templates %}
|
||||
<option value="{{ template.pk }}">{{ template.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br/>
|
||||
<button id="next-button" type="submit" class="btn btn-primary" disabled>Next <i class="icon icon-chevron-right"></i></button>
|
||||
</p>
|
||||
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<th><input type="checkbox" id="action-toggle"></th>
|
||||
<th>#</th>
|
||||
<th>{% trans "Speaker / Title" %}</th>
|
||||
<th>{% trans "Category" %}</th>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Notified?" %}</th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for proposal in proposals %}
|
||||
<tr>
|
||||
<td><input class="action-select" type="checkbox" name="_selected_action" value="{{ proposal.pk }}"></td>
|
||||
<td>{{ proposal.number }}</td>
|
||||
<td>
|
||||
<a href="{% url "review_detail" proposal.pk %}">
|
||||
<small><strong>{{ proposal.speaker }}</strong></small>
|
||||
<br />
|
||||
{{ proposal.title }}
|
||||
</a>
|
||||
</td>
|
||||
<td>{{ proposal.track }}</td>
|
||||
<td>
|
||||
{% with proposal.result.status as status %}
|
||||
<div class="{{ status }}">
|
||||
{% if status != "undecided" %}
|
||||
<span>{{ status }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endwith %}
|
||||
</td>
|
||||
<td>
|
||||
{% if proposal.notifications.exists %}yes{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
$.fn.actions = function(opts) {
|
||||
var options = $.extend({}, $.fn.actions.defaults, opts);
|
||||
var actionCheckboxes = $(this);
|
||||
checker = function(checked) {
|
||||
$(actionCheckboxes).prop("checked", checked)
|
||||
.parent().parent().toggleClass(options.selectedClass, checked);
|
||||
}
|
||||
updateCounter = function() {
|
||||
var sel = $(actionCheckboxes).filter(":checked").length;
|
||||
$(options.counterContainer).html(sel);
|
||||
$(options.allToggle).prop("checked", function() {
|
||||
if (sel == actionCheckboxes.length) {
|
||||
value = true;
|
||||
} else {
|
||||
value = false;
|
||||
}
|
||||
return value;
|
||||
});
|
||||
if (sel == 0) {
|
||||
$("#next-button").prop("disabled", true);
|
||||
} else {
|
||||
$("#next-button").prop("disabled", false);
|
||||
}
|
||||
}
|
||||
// Check state of checkboxes and reinit state if needed
|
||||
$(this).filter(":checked").each(function(i) {
|
||||
$(this).parent().parent().toggleClass(options.selectedClass);
|
||||
updateCounter();
|
||||
});
|
||||
$(options.allToggle).click(function() {
|
||||
checker($(this).prop("checked"));
|
||||
updateCounter();
|
||||
});
|
||||
lastChecked = null;
|
||||
$(actionCheckboxes).click(function(event) {
|
||||
if (!event) { var event = window.event; }
|
||||
var target = event.target ? event.target : event.srcElement;
|
||||
if (lastChecked && $.data(lastChecked) != $.data(target) && event.shiftKey == true) {
|
||||
var inrange = false;
|
||||
$(lastChecked).prop("checked", target.checked)
|
||||
.parent().parent().toggleClass(options.selectedClass, target.checked);
|
||||
$(actionCheckboxes).each(function() {
|
||||
if ($.data(this) == $.data(lastChecked) || $.data(this) == $.data(target)) {
|
||||
inrange = (inrange) ? false : true;
|
||||
}
|
||||
if (inrange) {
|
||||
$(this).prop("checked", target.checked)
|
||||
.parent().parent().toggleClass(options.selectedClass, target.checked);
|
||||
}
|
||||
});
|
||||
}
|
||||
$(target).parent().parent().toggleClass(options.selectedClass, target.checked);
|
||||
lastChecked = target;
|
||||
updateCounter();
|
||||
});
|
||||
}
|
||||
/* Setup plugin defaults */
|
||||
$.fn.actions.defaults = {
|
||||
counterContainer: "span.action-counter",
|
||||
allToggle: "#action-toggle",
|
||||
selectedClass: "selected"
|
||||
}
|
||||
})($);
|
||||
$(function() {
|
||||
$("tr input.action-select").actions();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,49 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Result Notification Prepare</h1>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Proposals</h2>
|
||||
<table class="table table-striped table-compact">
|
||||
{% for proposal in proposals %}
|
||||
<tr>
|
||||
<td>
|
||||
<strong>{{ proposal.speaker }}</strong> ({{ proposal.speaker.email }})
|
||||
<br />
|
||||
{{ proposal.title }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
<div class="span6">
|
||||
<h2>Email</h2>
|
||||
|
||||
<form method="post" action="{% url "result_notification_send" section_slug status %}">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
<label>From Address</label>
|
||||
<input type="text" name="from_address" class="span5" value="{{ notification_template.from_address }}" />
|
||||
<br/>
|
||||
<label>Subject</label>
|
||||
<input type="text" name="subject" class="span5" value="{{ notification_template.subject }}" />
|
||||
<br/>
|
||||
<label>Body</label>
|
||||
<textarea class="span5" rows="10" name="body">{{ notification_template.body }}</textarea>
|
||||
<br/>
|
||||
<input type="hidden" name="notification_template" value="{{ notification_template.pk }}" />
|
||||
<input type="hidden" name="proposal_pks" value="{{ proposal_pks }}" />
|
||||
|
||||
{% include "reviews/_result_notification_prepare_help.html" %}
|
||||
|
||||
<button type="submit" class="btn btn-primary">Send {{ proposals|length }} Email{{ proposals|length|pluralize }}</button>
|
||||
<a class="btn" href="{% url "result_notification" section_slug status %}">Cancel</a>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,56 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Reviewers</h1>
|
||||
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th>
|
||||
Reviewer
|
||||
</th>
|
||||
<th>
|
||||
Proposals<br/>Reviewed
|
||||
</td>
|
||||
<th>
|
||||
Comments
|
||||
</th>
|
||||
<th>
|
||||
+1
|
||||
</th>
|
||||
<th>
|
||||
+0
|
||||
</th>
|
||||
<th>
|
||||
−0
|
||||
</th>
|
||||
<th>
|
||||
−1
|
||||
</th>
|
||||
</tr>
|
||||
{% for reviewer in reviewers %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url "review_list_user" section_slug reviewer.pk %}">{{ reviewer.get_full_name }}</a>
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.total_votes }}
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.comment_count }}
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.plus_one }}
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.plus_zero }}
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.minus_zero }}
|
||||
</td>
|
||||
<td>
|
||||
{{ reviewer.minus_one }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endblock %}
|
|
@ -1,32 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Review Assignments</h1>
|
||||
|
||||
{% if assignments %}
|
||||
<table>
|
||||
<tr>
|
||||
<th>Proposal</th>
|
||||
<th>Opted out</th>
|
||||
<th>Opt out</th>
|
||||
</tr>
|
||||
{% for assignment in assignments %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{% url review_detail assignment.proposal.pk %}">
|
||||
{{ assignment.proposal.title }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<form method="post" action="{% url "review_assignment_opt_out" assignment.pk %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" value="Opt-out" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
<p>You do not have any assignments.</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -1,15 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<h1>Bulk Accept</h1>
|
||||
<form action="" method="POST" class="uniForm" accept-charset="utf-8">
|
||||
{% csrf_token %}
|
||||
{{ form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" name="submit" value="submit" />
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,2 +0,0 @@
|
|||
{{ proposal }}: proposal obj
|
||||
{{ form }}: comment form obj
|
|
@ -1,198 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load markitup_tags %}
|
||||
{% load bootstrap_tags %}
|
||||
{% load account_tags %}
|
||||
|
||||
{% block extra_style %}
|
||||
<style type="text/css">
|
||||
body.reviews .markItUpEditor {
|
||||
width: 500px;
|
||||
height: 100px;
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% if request.user.is_staff %}
|
||||
<div class="pull-right">
|
||||
<form class="result-form form-inline" method="POST" action="">
|
||||
{% csrf_token %}
|
||||
<div class="btn-group">
|
||||
{% if proposal.result.status == "accepted" %}
|
||||
<a class="btn dropdown-toggle btn-success" data-toggle="dropdown" href="#">Accepted <span class="caret"></span></a>
|
||||
<div class="dropdown-menu pull-right" style="width: 200px; padding-left: 10px;">
|
||||
<div class="btn-group">
|
||||
<input type="submit" name="result_submit" value="reject" class="btn btn-mini btn-danger" />
|
||||
<input type="submit" name="result_submit" value="standby" class="btn btn-mini" />
|
||||
<input type="submit" name="result_submit" value="undecide" class="btn btn-mini" />
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if proposal.result.status == "rejected" %}
|
||||
<a class="btn dropdown-toggle btn-danger" data-toggle="dropdown" href="#">Rejected <span class="caret"></span></a>
|
||||
<div class="dropdown-menu pull-right" style="width: 200px; padding-left: 10px;">
|
||||
<div class="btn-group">
|
||||
<input type="submit" name="result_submit" value="accept" class="btn btn-mini btn-success" />
|
||||
<input type="submit" name="result_submit" value="standby" class="btn btn-mini" />
|
||||
<input type="submit" name="result_submit" value="undecide" class="btn btn-mini" />
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if proposal.result.status == "standby" %}
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Standby <span class="caret"></span></a>
|
||||
<div class="dropdown-menu pull-right" style="width: 200px; padding-left: 10px;">
|
||||
<div class="btn-group">
|
||||
<input type="submit" name="result_submit" value="accept" class="btn btn-mini btn-success" />
|
||||
<input type="submit" name="result_submit" value="reject" class="btn btn-mini btn-danger" />
|
||||
<input type="submit" name="result_submit" value="undecide" class="btn btn-mini" />
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Undecided <span class="caret"></span></a>
|
||||
<div class="dropdown-menu pull-right" style="width: 200px; padding-left: 10px;">
|
||||
<div class="btn-group">
|
||||
<input type="submit" name="result_submit" value="accept" class="btn btn-mini btn-success" />
|
||||
<input type="submit" name="result_submit" value="reject" class="btn btn-mini btn-danger" />
|
||||
<input type="submit" name="result_submit" value="standby" class="btn btn-mini" />
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h3>#{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }})</h3>
|
||||
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#proposal-detail" data-toggle="tab">{% trans "Proposal Details" %}</a></li>
|
||||
<li><a href="#proposal-reviews" data-toggle="tab">{% trans "Reviews" %} <span class="badge">{{ reviews|length }}</span></a></li>
|
||||
<li><a href="#proposal-feedback" data-toggle="tab">{% trans "Speaker Feedback" %} <span class="badge">{{ proposal.messages.all|length }}</span></a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="proposal-detail">
|
||||
{% include "proposals/_proposal_fields.html" %}
|
||||
</div>
|
||||
<div class="tab-pane" id="proposal-reviews">
|
||||
|
||||
<h4>{% trans "Current Results" %}</h4>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<th>+1 votes</th>
|
||||
<th>+0 votes</th>
|
||||
<th>-0 votes</th>
|
||||
<th>-1 votes</th>
|
||||
<th>{% trans "Total Responses" %}
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ proposal.plus_one }}</td>
|
||||
<td>{{ proposal.plus_zero }}</td>
|
||||
<td>{{ proposal.minus_zero }}</td>
|
||||
<td>{{ proposal.minus_one }}</td>
|
||||
<td>{{ proposal.total_votes }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr />
|
||||
|
||||
{% if review_form %}
|
||||
<form method="POST" action="" class="review-form">
|
||||
<legend>{% trans "Submit Review" %}</legend>
|
||||
<p>Enter your vote and any comment to go along with it. You can revise your vote or comment multiple times with an existing vote (your previously recorded score will be replaced during calculations). <b>Your vote and comments are not public and will only be viewable by other reviewers.</b></p>
|
||||
{% csrf_token %}
|
||||
{{ review_form|as_bootstrap }}
|
||||
<div class="form-action">
|
||||
<input type="submit" class="btn btn-primary" name="vote_submit" value="Submit Review" />
|
||||
</div>
|
||||
</form>
|
||||
{% else %}
|
||||
<p>You do not have permission to vote on this proposal.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if reviews %}
|
||||
<h5>Review Comments</h5>
|
||||
{% for review in reviews %}
|
||||
<div class="review-box">
|
||||
<div class="vote pull-left">
|
||||
<span>{{ review.vote }}</span>
|
||||
</div>
|
||||
{% if is_manager %}
|
||||
<div class="pull-right">
|
||||
<form class="form-inline" action="{% url "review_delete" review.id %}" method="POST">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-mini btn-danger" type="submit">Delete</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="review-content">
|
||||
<b>{% user_display review.user %}</b>
|
||||
{{ review.submitted_at|timesince }} ago <br />
|
||||
{{ review.comment|safe }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% markitup_media "no-jquery" %}
|
||||
</div>
|
||||
<div class="tab-pane" id="proposal-feedback">
|
||||
{% if review_messages %}
|
||||
<h3>{% trans "Conversation with the submitter" %}</h3>
|
||||
{% for message in review_messages %}
|
||||
<div class="comment-box">
|
||||
<div class="commment-content">
|
||||
<b>{% user_display message.user %}</b>
|
||||
{{ message.submitted_at|timesince }} ago <br />
|
||||
{{ message.message|safe }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<hr />
|
||||
{% endif %}
|
||||
|
||||
<form action="" method="POST"accept-charset="utf-8">
|
||||
<legend>{% trans "Send a message" %}</legend>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
If you'd like to communicate with the submitter, use the following form and he or she will be
|
||||
notified and given the opportunity to respond.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% csrf_token %}
|
||||
{{ message_form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input type="submit" class="btn btn-primary" name="message_submit" value="Send Message" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script src="{{ STATIC_URL }}symposion/js/jquery.history.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
var History = window.History;
|
||||
|
||||
$(window).bind("anchorchange", function() {
|
||||
$(".nav-tabs a[href='" + location.hash + "']").click();
|
||||
});
|
||||
|
||||
$('#.nav-tabs a[data-toggle="tab"]').on('shown', function (e) {
|
||||
if (History.enabled) {
|
||||
History.pushState(null, null, $(e.target).attr("href"));
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
|
@ -1,14 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h3>{{ section }}</h3>
|
||||
{% if reviewed == 'all_reviews' %}
|
||||
<h4>All proposals</h4>
|
||||
{% elif reviewed == 'user_reviewed' %}
|
||||
<h4>Proposals you have reviewed</h4>
|
||||
{% else %}
|
||||
<h4>Proposals you have not yet reviewed</h4>
|
||||
{% endif %}
|
||||
|
||||
{% include "reviews/_review_table.html" %}
|
||||
{% endblock %}
|
|
@ -1,80 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load markitup_tags %}
|
||||
{% load uni_form_tags %}
|
||||
|
||||
{% block body_class %}review{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Proposal Review</h1>
|
||||
|
||||
<div class="proposal">
|
||||
<h2>{{ proposal.title }}</h2>
|
||||
|
||||
<p>
|
||||
{% if proposal.cancelled %}
|
||||
Cancelled
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<div>
|
||||
{{ proposal.description }}
|
||||
</div>
|
||||
|
||||
<p><b>Type</b>: {{ proposal.get_session_type_display }}</p>
|
||||
|
||||
<h3>Abstract</h3>
|
||||
<div class="abstract">
|
||||
{{ proposal.abstract_html|safe }}
|
||||
</div>
|
||||
|
||||
<p><b>Audience level</b>: {{ proposal.get_audience_level_display }}</p>
|
||||
|
||||
<p><b>Submitting speaker</b>: {{ proposal.speaker }}</p> {# @@@ bio? #}
|
||||
|
||||
{% if proposal.additional_speakers.all %}
|
||||
<p><b>Additional speakers</b>:</p>
|
||||
<ul>
|
||||
{% for speaker in proposal.additional_speakers.all %}
|
||||
{% if speaker.user %}
|
||||
<li><b>{{ speaker.name }}</b> — {{ speaker.email }}</li>
|
||||
{% else %}
|
||||
<li>{{ speaker.email }} — pending invitation</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<h3>Additional Notes (private from submitter)</h3>
|
||||
<div class="additional_notes">
|
||||
{{ proposal.additional_notes }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% markitup_media %}
|
||||
|
||||
<h2>Review</h2>
|
||||
|
||||
<form method="POST" action="{% url "review_review" proposal.pk %}" class="uniForm">
|
||||
{% csrf_token %}
|
||||
<fieldset class="inlineLabels">
|
||||
{{ review_form|as_uni_form }}
|
||||
<div class="form_block">
|
||||
<input type="submit" value="Submit" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<h2>Comment</h2>
|
||||
|
||||
<form method="POST" action="{% url "review_comment" proposal.pk %}" class="uniForm">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ comment_form|as_uni_form }}
|
||||
<div class="form_block">
|
||||
<input type="submit" value="Submit" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
|
@ -1,82 +0,0 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Voting Status ({{ section_slug }})</h1>
|
||||
|
||||
{% if key %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="{% url "review_status" section_slug "positive" %}">Positive</a> |
|
||||
<a href="{% url "review_status" section_slug "negative" %}">Negative</a> |
|
||||
<a href="{% url "review_status" section_slug "indifferent" %}">Indifferent</a> |
|
||||
<a href="{% url "review_status" section_slug "controversial" %}">Controversial</a> |
|
||||
<a href="{% url "review_status" section_slug "too_few" %}">Too Few</a>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% if key == "positive" %}
|
||||
<h3>Positive
|
||||
<small>proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and at least one +1 and no −1s</small></h3>
|
||||
{% endif %}
|
||||
{% if key == "negative" %}
|
||||
<h3>Negative
|
||||
<small>proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and at least one −1 and no +1s</small></h3>
|
||||
{% endif %}
|
||||
{% if key == "indifferent" %}
|
||||
<h3>Indifferent
|
||||
<small>proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and neither a +1 or a −1</small></h3>
|
||||
{% endif %}
|
||||
{% if key == "controversial" %}
|
||||
<h3>Controversial
|
||||
<small>proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and both a +1 and −1</small></h3>
|
||||
{% endif %}
|
||||
{% if key == "too_few" %}
|
||||
<h3>Too Few Reviews
|
||||
<small>proposals with fewer than {{ vote_threshold }} vote{{ vote_threshold|pluralize }}</small></h3>
|
||||
{% endif %}
|
||||
|
||||
{% include "reviews/_review_table.html" %}
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<p>Reviews are placed into one of five buckets depending on the state of their votes:</p>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
<a href="{% url "review_status" section_slug "positive" %}">Positive</a>
|
||||
<span class="badge">{{ proposals.positive|length }}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and at least one +1 and no −1s
|
||||
</dd>
|
||||
<dt>
|
||||
<a href="{% url "review_status" section_slug "negative" %}">Negative</a>
|
||||
<span class="badge">{{ proposals.negative|length }}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and at least one −1 and no +1s
|
||||
</dd>
|
||||
<dt>
|
||||
<a href="{% url "review_status" section_slug "indifferent" %}">Indifferent</a>
|
||||
<span class="badge">{{ proposals.indifferent|length }}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and neither a +1 or a −1
|
||||
</dd>
|
||||
<dt>
|
||||
<a href="{% url "review_status" section_slug "controversial" %}">Controversial</a>
|
||||
<span class="badge">{{ proposals.controversial|length }}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
proposals with at least {{ vote_threshold }} vote{{ vote_threshold|pluralize }} and both a +1 and −1
|
||||
</dd>
|
||||
<dt>
|
||||
<a href="{% url "review_status" section_slug "too_few" %}">Too Few Reviews</a>
|
||||
<span class="badge">{{ proposals.too_few|length }}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
proposals with fewer than {{ vote_threshold }} vote{{ vote_threshold|pluralize }}
|
||||
</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -1,39 +0,0 @@
|
|||
<table class="calendar table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="time"> </th>
|
||||
{% for room in timetable.rooms %}
|
||||
<th>{{ room.name }}</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in timetable %}
|
||||
<tr>
|
||||
<td class="time">{{ row.time|date:"h:iA" }}</td>
|
||||
{% for slot in row.slots %}
|
||||
<td class="slot slot-{{ slot.kind.label }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}">
|
||||
{% if slot.kind.label == "talk" or slot.kind.label == "tutorial" %}
|
||||
{% if not slot.content %}
|
||||
<a class="btn btn-mini edit-slot" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">+</a>
|
||||
{% else %}
|
||||
<span class="title"><a class="edit-slot" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">{{ slot.content.title }}</a></span>
|
||||
<span class="speaker">{{ slot.content.speaker }}</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if slot.content_override.raw %}
|
||||
{{ slot.content_override.rendered|safe }}
|
||||
{% else %}
|
||||
{{ slot.kind.label }}
|
||||
{% endif %}
|
||||
— <a class="edit-slot" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">edit</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
{% if forloop.last %}
|
||||
<td colspan="{{ timetable.rooms|length }}"></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -1,41 +0,0 @@
|
|||
<table class="calendar table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="time"> </th>
|
||||
{% for room in timetable.rooms %}
|
||||
<th>{{ room.name }}</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in timetable %}
|
||||
<tr>
|
||||
<td class="time">{{ row.time|date:"h:iA" }}</td>
|
||||
{% for slot in row.slots %}
|
||||
<td class="slot slot-{{ slot.kind.label }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}">
|
||||
{% if slot.kind.label == "talk" or slot.kind.label == "tutorial" %}
|
||||
{% if not slot.content %}
|
||||
{% else %}
|
||||
<span class="title">
|
||||
<a href="{% url "schedule_presentation_detail" slot.content.pk %}">{{ slot.content.title }}</a>
|
||||
</span>
|
||||
<span class="speaker">
|
||||
{{ slot.content.speakers|join:", " }}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if slot.content_override.raw %}
|
||||
{{ slot.content_override.rendered|safe }}
|
||||
{% else %}
|
||||
{{ slot.kind.label }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
{% if forloop.last %}
|
||||
<td colspan="{{ timetable.rooms|length }}"></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
|
@ -1,14 +0,0 @@
|
|||
{% load i18n bootstrap_tags %}
|
||||
<form id="slotEditForm" class="modal-form" method="POST" action="{% url "schedule_slot_edit" slug slot.pk %}">
|
||||
<div class="modal-header">
|
||||
<a class="close" data-dismiss="modal">×</a>
|
||||
<h3>{% trans "Edit Slot" %}</h3>
|
||||
</div>
|
||||
<div class="modal-body" style="height:350px">
|
||||
{% csrf_token %}
|
||||
{{ form|as_bootstrap }}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
|
@ -1,35 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load sitetree %}
|
||||
|
||||
{% block head_title %}Presentation: {{ presentation.title }}{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% if presentation.slot %}
|
||||
<h4>
|
||||
{{ presentation.slot.day.date|date:"l" }}
|
||||
{{ presentation.slot.start}}–{{ presentation.slot.end }}
|
||||
</h4>
|
||||
{% endif %}
|
||||
<h2>{{ presentation.title }}</h2>
|
||||
|
||||
<h4>
|
||||
{% for speaker in presentation.speakers %}
|
||||
<a href="{% url "speaker_profile" speaker.pk %}">{{ speaker }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}
|
||||
</h4>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Audience level:</dt>
|
||||
<dd style="margin-bottom: 0;">{{ presentation.proposal.get_audience_level_display }}</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Description</h3>
|
||||
|
||||
<div class="description">{{ presentation.description }}</div>
|
||||
|
||||
<h3>Abstract</h3>
|
||||
|
||||
<div class="abstract">{{ presentation.abstract|safe }}</div>
|
||||
{% endblock %}
|
|
@ -1,38 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load bootstrap_tags %}
|
||||
{% load boxes_tags %}
|
||||
{% load cache %}
|
||||
|
||||
{% block head_title %}Conference Schedule{% endblock %}
|
||||
|
||||
{% block body_class %}full{% endblock %}
|
||||
|
||||
{% block right %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<div class="page-head">
|
||||
<h1>Conference Schedule</h1>
|
||||
{% block breadcrumbs %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="span12">
|
||||
{% box "schedule_top" %}
|
||||
|
||||
{% for section in sections %}
|
||||
{% cache 600 "schedule-table" section.schedule.section %}
|
||||
{% for timetable in section.days %}
|
||||
<h3>{{ section.schedule.section.name }} — {{ timetable.day.date }}</h3>
|
||||
{% include "schedule/_grid.html" %}
|
||||
{% endfor %}
|
||||
{% endcache %}
|
||||
{% endfor %}
|
||||
|
||||
{% box "schedule_bottom" %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,37 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load bootstrap_tags %}
|
||||
{% load boxes_tags %}
|
||||
{% load cache %}
|
||||
{% load sitetree %}
|
||||
|
||||
{% block head_title %}Conference Schedule{% endblock %}
|
||||
|
||||
{% block body_class %}full{% endblock %}
|
||||
|
||||
{% block right %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<div class="page-head">
|
||||
<h1>{{ schedule.section }} Schedule</h1>
|
||||
{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="span12">
|
||||
{% box "schedule_top_"|add:schedule.section.name|slugify %}
|
||||
|
||||
{% cache 600 "schedule-table" schedule.section %}
|
||||
{% for timetable in days %}
|
||||
<h3>{{ timetable.day.date }}</h3>
|
||||
{% include "schedule/_grid.html" %}
|
||||
{% endfor %}
|
||||
{% endcache %}
|
||||
|
||||
{% box "schedule_bottom" %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,63 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block head_title %}Conference Schedule Edit{% endblock %}
|
||||
|
||||
{% block body_class %}full{% endblock %}
|
||||
|
||||
{% block right %}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_head %}
|
||||
<link rel="stylesheet" href="{{ STATIC_URL }}chosen/chosen.css" />
|
||||
{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<h1>Schedule Edit</h1>
|
||||
|
||||
{% for timetable in days %}
|
||||
<h2>{{ timetable.day.date }}</h2>
|
||||
{% include "schedule/_edit_grid.html" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<form id="schedule-builder" action="." method="post" enctype="multipart/form-data">{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<input type="submit" name="submit" value="Submit" />
|
||||
<input type="submit" id="delete" name="delete" value="Delete Schedule" />
|
||||
</form>
|
||||
<div class="modal fade hide in" id="slotEditModal"></div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script src="{{ STATIC_URL }}chosen/chosen.jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("a.edit-slot").click(function(e) {
|
||||
$("#slotEditModal").load($(this).data("action"), function() {
|
||||
$("#id_presentation").chosen();
|
||||
$("#slotEditModal").modal("show");
|
||||
});
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
$(function() {
|
||||
//submit event handler
|
||||
$("form#schedule-builder :submit").click(function(e) {
|
||||
var name = this.name;
|
||||
if(name == 'delete') {
|
||||
if (!confirm("Are you sure you want to delete the schedule?"))
|
||||
{
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,51 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load cache %}
|
||||
{% load sitetree %}
|
||||
|
||||
{% block head_title %}Presentation Listing{% endblock %}
|
||||
|
||||
{% block extra_head %}
|
||||
<style>
|
||||
.presentation {
|
||||
|
||||
}
|
||||
.presentation h3 {
|
||||
line-height: 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.presentation h4 {
|
||||
|
||||
}
|
||||
.presentation p {
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}{% sitetree_breadcrumbs from "main" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h2>Accepted {{ schedule.section.name }}</h2>
|
||||
{% cache 600 "schedule-list" schedule.section.name %}
|
||||
{% for presentation in presentations %}
|
||||
<div class="row">
|
||||
<div class="span8 presentation well">
|
||||
<h3><a href="{% url "schedule_presentation_detail" presentation.pk %}">{{ presentation.title }}</a></h3>
|
||||
<h4>{{ presentation.speakers|join:", " }}</h4>
|
||||
{{ presentation.description }}
|
||||
{% if presentation.slot %}
|
||||
<h4>
|
||||
{{ presentation.slot.day.date|date:"l" }}
|
||||
{{ presentation.slot.start}}–{{ presentation.slot.end }}
|
||||
in
|
||||
{{ presentation.slot.rooms|join:", " }}
|
||||
</h4>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endcache %}
|
||||
{% endblock %}
|
|
@ -1,17 +0,0 @@
|
|||
{% load sitetree %}
|
||||
{% if sitetree_items %}
|
||||
<ul class="breadcrumb">
|
||||
{% for item in sitetree_items %}
|
||||
{% if not forloop.last %}
|
||||
<li>
|
||||
<a href="{% sitetree_url for item %}" {% if item.hint %}title="{{ item.hint }}"{% endif %}>{{ item.title_resolved }}</a>
|
||||
<span class="divider">/</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="active">{{ item.title_resolved }}</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
|
@ -1,16 +0,0 @@
|
|||
{% load sitetree %}
|
||||
<ul class="nav">
|
||||
{% for item in sitetree_items %}
|
||||
<li class="{{ item.is_current|yesno:"active ," }}{% if item.has_children %}dropdown{% endif %}">
|
||||
{% if item.has_children %}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" title="{{ item.hint|default:"" }}">
|
||||
{{ item.title_resolved }}
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
{% sitetree_children of item for menu template "sitetree/submenu.html" %}
|
||||
{% else %}
|
||||
<a href="{% sitetree_url for item %}" title="{{ item.hint|default:"" }}">{{ item.title_resolved }}</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -1,8 +0,0 @@
|
|||
{% load sitetree %}
|
||||
<ul class="dropdown-menu">
|
||||
{% for item in sitetree_items %}
|
||||
<li>
|
||||
<a href="{% sitetree_url for item %}" title="{{ item.hint|default:"" }}">{{ item.title_resolved }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -1,15 +0,0 @@
|
|||
{% load sitetree %}
|
||||
{% if sitetree_items %}
|
||||
<ul>
|
||||
{% for item in sitetree_items %}
|
||||
{% if item.insitetree %}
|
||||
<li>
|
||||
<a href="{% sitetree_url for item %}" {% if item.hint %}title="{{ item.hint }}"{% endif %}>{{ item.title_resolved }}</a>
|
||||
{% if item.has_children %}
|
||||
{% sitetree_children of item for sitetree template "sitetree/tree.html" %}
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
|
@ -1 +0,0 @@
|
|||
{% extends "site_base_onecolumn.html" %}
|
|
@ -1,23 +0,0 @@
|
|||
{% extends "speakers/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load i18n %}
|
||||
{% load boxes_tags %}
|
||||
|
||||
{% block page_title %}{% trans "Create Speaker Profile" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% box "speaker-profile" %}
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<legend>{% trans "Create Speaker Profile" %}</legend>
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Save" />
|
||||
<a class="btn" href="{% url "dashboard" %}">Cancel</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,23 +0,0 @@
|
|||
{% extends "speakers/base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load i18n %}
|
||||
{% load boxes_tags %}
|
||||
|
||||
{% block page_title %}{% trans "Edit Speaker Profile" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% box "speaker-profile" %}
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<legend>{% trans "Edit Speaker Profile" %}</legend>
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Save" />
|
||||
<a class="btn" href="{% url "dashboard" %}">Cancel</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,41 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load thumbnail %}
|
||||
|
||||
|
||||
{% block head_title %}{{ speaker.name }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="span2">
|
||||
{% if speaker.photo %}
|
||||
<img src="{% thumbnail speaker.photo '128x128' %}" alt="{{ speaker.name }}" />
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="span6">
|
||||
{% if speaker.user == request.user or request.user.is_staff %}
|
||||
<a class="btn pull-right" href="{% url "speaker_edit" speaker.pk %}">Edit</a>
|
||||
{% endif %}
|
||||
<h1>{{ speaker.name }}</h1>
|
||||
<div class="bio">{{ speaker.biography|safe }}</div>
|
||||
|
||||
<h2>Presentations</h2>
|
||||
{% for presentation in presentations %}
|
||||
<h3><a href="{% url "schedule_presentation_detail" presentation.pk %}">{{ presentation.title }}</a></h3>
|
||||
{% if presentation.slot %}
|
||||
<p>
|
||||
{{ presentation.slot.day.date|date:"l" }}
|
||||
{{ presentation.slot.start}}–{{ presentation.slot.end }}
|
||||
in
|
||||
{{ presentation.slot.rooms|join:", " }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
<p>No presentations. This page is only visible to staff until there is a presentation.<p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,11 +0,0 @@
|
|||
{% load sponsorship_tags %}
|
||||
{% sponsor_levels as levels %}
|
||||
<div class="sponsor-list">
|
||||
{% for level in levels %}
|
||||
<h3>{{ level.name }}</h3>
|
||||
|
||||
{% for sponsor in level.sponsors %}
|
||||
{% include "sponsorship/_sponsor_link.html" with sponsor=sponsor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -1,10 +0,0 @@
|
|||
{% load thumbnail %}
|
||||
{% spaceless %}
|
||||
<a href="{{ sponsor.external_url }}">
|
||||
{% if dimensions %}
|
||||
<img id="sponsor_{{ sponsor.pk }}" src="{% thumbnail sponsor.logo dimensions %}" alt="{{ sponsor.name }}" />
|
||||
{% else %}
|
||||
<img id="sponsor_{{ sponsor.pk }}" src="{% thumbnail sponsor.logo '150x150' %}" alt="{{ sponsor.name }}" />
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endspaceless %}
|
|
@ -1,13 +0,0 @@
|
|||
{% load sponsorship_tags %}
|
||||
{% sponsor_levels as levels %}
|
||||
<div class="sponsor-list">
|
||||
{% for level in levels %}
|
||||
<h3>{{ level.name }}</h3>
|
||||
|
||||
{% for sponsor in level.sponsors %}
|
||||
<div>
|
||||
{% include "sponsorship/_sponsor_link.html" with sponsor=sponsor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -1,7 +0,0 @@
|
|||
{% load sponsorship_tags %}
|
||||
{% sponsors as sponsors %}
|
||||
<div class="sponsor-wall">
|
||||
{% for sponsor in sponsors %}
|
||||
{% include "sponsorship/_sponsor_link.html" with sponsor=sponsor %}
|
||||
{% endfor %}
|
||||
</div>
|
|
@ -1,22 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load i18n %}
|
||||
{% load boxes_tags %}
|
||||
|
||||
{% block head_title %}{% trans "Add a Sponsor" %}{% endblock %}
|
||||
|
||||
{% block body_class %}sponsorships{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form method="POST" action="{% url "sponsor_add" %}" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<legend>{% trans "Add a Sponsor" %}</legend>
|
||||
{{ form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Add" />
|
||||
<a class="btn" href="{% url "dashboard" %}">Cancel</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
|
@ -1,28 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load i18n %}
|
||||
{% load boxes_tags %}
|
||||
|
||||
{% block head_title %}{% trans "Apply to be a Sponsor" %}{% endblock %}
|
||||
|
||||
{% block body_class %}sponsorships{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
{% box "sponsorship-apply" %}
|
||||
|
||||
<form method="POST" action="" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<legend>{% trans "Apply to Be a Sponsor" %}</legend>
|
||||
{{ form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Apply" />
|
||||
<a class="btn" href="{% url "dashboard" %}">Cancel</a>
|
||||
<p class="help-block">
|
||||
<small>By submitting this sponsor application you are agreeing to the <a href="{% url "cms_page" "sponsor/terms/" %}" target="_blank">terms and conditions</a>.</small>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
|
@ -1,40 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block head_title %}{{ sponsor }}{% endblock %}
|
||||
|
||||
{% block page_title %}{% trans "Sponsorship" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h2>{{ sponsor.name }} ({{ sponsor.level }})</h2>
|
||||
|
||||
<form enctype="multipart/form-data" method="POST" action="" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{ form|as_bootstrap }}
|
||||
</fieldset>
|
||||
|
||||
<h3>{{ sponsor.level }} Sponsor Benefits</h3>
|
||||
|
||||
{{ formset.management_form }}
|
||||
{{ formset.non_form_errors }}
|
||||
|
||||
{% for form in formset.forms %}
|
||||
<div class="control-group">
|
||||
<label class="control-label">{{ form.instance.benefit }}</label>
|
||||
<div class="controls">
|
||||
{{ form }}
|
||||
<p class="help-block">{{ form.instance.benefit.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Save" />
|
||||
<a class="btn" href="{% url "dashboard" %}">Cancel</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,44 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load sponsorship_tags %}
|
||||
{% load thumbnail %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block head_title %}{% trans "About Our Sponsors" %}{% endblock %}
|
||||
|
||||
{% block body_class %}sponsorships{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<h1>{% trans "About Our Sponsors" %}</h1>
|
||||
<a href="{% url "cms_page" "sponsors/prospectus/" %}" class="btn">Learn how to become a sponsor <span class="arrow"></span></a>
|
||||
|
||||
{% sponsor_levels as levels %}
|
||||
{% for level in levels %}
|
||||
{% if level.sponsors %}
|
||||
<h3>{{ level.name }}</h3>
|
||||
|
||||
{% for sponsor in level.sponsors %}
|
||||
{% if sponsor.website_logo %}
|
||||
<div class="row">
|
||||
<div class="span2">
|
||||
<h2>
|
||||
<a href="{{ sponsor.external_url }}">
|
||||
<img src="{% thumbnail sponsor.website_logo '150x80' %}" alt="{{ sponsor.name }}" />
|
||||
</a>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="span10">
|
||||
<h5>{{ sponsor.name }}</h5>
|
||||
<p><a href="{{ sponsor.external_url }}">{{ sponsor.external_url }}</a></p>
|
||||
<p>{{ sponsor.listing_text|urlize|linebreaks }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,103 +0,0 @@
|
|||
{% extends "site_base.html" %}
|
||||
|
||||
{% load bootstrap_tags %}
|
||||
|
||||
{% block head_title %}{{ team.name }}{% endblock %}
|
||||
|
||||
{% block body_outer %}
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<div class="pull-right">
|
||||
{% if can_join %}
|
||||
<form method="post" action="{% url "team_join" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn btn-primary" value="join">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% if can_leave %}
|
||||
<form method="post" action="{% url "team_leave" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn" value="leave">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% if can_apply %}
|
||||
<form method="post" action="{% url "team_apply" team.slug %}">
|
||||
{% csrf_token %}
|
||||
<input type="submit" class="btn btn-primary" value="apply">
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<h1>{{ team.name }}{% if state %} <span class="label">{{ state }}</span>{% endif %}</h1>
|
||||
|
||||
{% if team.description %}<p>{{ team.description }}</p>{% endif %}
|
||||
|
||||
{% if state == "invited" %}<p>You have been invited to join this team. Click <b>join</b> to the right to accept.</p>{% endif %}
|
||||
|
||||
{% if user.is_staff or state == "manager" %}
|
||||
{% if team.managers %}
|
||||
<h2>Managers</h2>
|
||||
<table class="table table-striped">
|
||||
{% for membership in team.managers %}
|
||||
<tr>
|
||||
<td>{{ membership.user.email }}{% if user == membership.user %} <span class="label label-info">you</span>{% endif %}</td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "team_demote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-mini">demote</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if team.members %}
|
||||
<h2>Team Members</h2>
|
||||
<table class="table table-striped">
|
||||
{% for membership in team.members %}
|
||||
<tr>
|
||||
<td>{{ membership.user.email }}{% if user == membership.user %} <span class="label label-info">you</span>{% endif %}</td>
|
||||
<td>
|
||||
<form style="margin: 0;" method="post" action="{% url "team_promote" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-mini">promote</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if team.applicants and team.access == "application" %}
|
||||
<h2>Applicants</h2>
|
||||
<table class="table table-striped">
|
||||
{% for membership in team.applicants %}
|
||||
<tr>
|
||||
<td>{{ membership.user.email }}</td>
|
||||
<td>
|
||||
<form style="margin: 0; float: left;" method="post" action="{% url "team_accept" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-mini">accept</button></form>
|
||||
<form style="margin: 0; float: left;" method="post" action="{% url "team_reject" membership.pk %}">{% csrf_token %}<button type="submit" class="btn btn-mini">reject</button></form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if team.invitees %}
|
||||
<h2>Invitees</h2>
|
||||
<table class="table table-striped">
|
||||
{% for membership in team.invitees %}
|
||||
<tr>
|
||||
<td>{{ membership.user.email }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if invite_form %}
|
||||
<form method="POST" action="" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<legend>Invite User to Team</legend>
|
||||
{{ invite_form|as_bootstrap }}
|
||||
<div class="form-actions">
|
||||
<input class="btn btn-primary" type="submit" value="Invite" />
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in a new issue