symposion_app/pinaxcon/templates/symposion/reviews/review_detail.html
Christopher Neugebauer ff16f71df6 September website changes - Pre-registration (#66)
* Factors rendering of external links into its own template. Automagical!

* Adds wagtail templates for keynotes on the front page

* Migrates to Wagtail 1.6

* Migrates content pages to be a streamfield. Flexibility++.

* Fixes editing of ContentPage bodies

* Adds floating images to content pages

* Fixes the layout of floating images

* Adds anchor links to content pages.

* Adds presentation link to the keynote speaker block model

* LCA-ifies the schedule list

* Refactors cms_pages/content_page into a new base template

* cms_pages/content_page now derives from abstract_content_page

* news_index_page now derives from abstract_content_page

* news_page now derives from abstract_content_page.html

* utility_page now uses the content_page base template

* Factors out _right_floating_image.html

* Themes the presentation detail page

* Themes the speaker profile page.

* Themes the schedule list page.

* Minor work on schedule_conference.html

* Themes schedule_detail.html

* Replaces cradle.svg

* Adds a background image to the schedule pages

* Adds libravatar fallback for speaker profile images

* Adds new background images (must update colophon)

* Adds some magic so that we can have slightly different presentation backgrounds for different pages.

* Adds the sponsor block to the bottom of the page.

* Adds sponsor logos to footer.

* All migrations are now in this tree

* Fixes wagtail migrations

* Adjusts presentation_detail to allow for miniconfs (i.e. no target audience)

* Adds unpublishing to presentation detail

* Adds ScheduleHeaderParagraph, which allows us to add some text to the header of schedule pages.

* Adds NamedHeaderParagraph. It allows us to store header paragraphs in the CMS.

* Date formatting in the schedule

* First step for fixing images

* Allows us to automagically load the colophon

* Adds “publish changes” button.

* Can login with email address
2016-09-18 20:40:55 +10:00

216 lines
11 KiB
HTML

{% extends "symposion/reviews/base.html" %}
{% load i18n %}
{% load bootstrap %}
{% load account_tags %}
{% block body %}
<div>
<a class="btn btn-primary" href="{% url "user_random" proposal.section.slug %}">
{% trans "Jump to a random unreviewed proposal" %}
</a>
</div>
{% if is_manager %}
<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-xs btn-danger" />
<input type="submit" name="result_submit" value="standby" class="btn btn-xs" />
<input type="submit" name="result_submit" value="undecide" class="btn btn-default btn-xs" />
</div>
</div>
<input type="submit" name="publish_changes" value="Publish Changes" class="btn btn-success" />
{% 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-xs btn-success" />
<input type="submit" name="result_submit" value="standby" class="btn btn-xs" />
<input type="submit" name="result_submit" value="undecide" class="btn btn-default btn-xs" />
</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-xs btn-success" />
<input type="submit" name="result_submit" value="reject" class="btn btn-xs btn-danger" />
<input type="submit" name="result_submit" value="undecide" class="btn btn-default btn-xs" />
</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-xs btn-success" />
<input type="submit" name="result_submit" value="reject" class="btn btn-xs btn-danger" />
<input type="submit" name="result_submit" value="standby" class="btn btn-default btn-xs" />
</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 "symposion/proposals/_proposal_fields.html" %}
</div>
<div class="tab-pane" id="proposal-reviews">
<h4>{% trans "Current Results" %}</h4>
<table class="table table-striped">
<thead>
<th>+2 votes</th>
<th>+1 votes</th>
<th>-1 votes</th>
<th>-2 votes</th>
<th>{% trans "Total Responses" %}
</thead>
<tbody>
<tr>
<td>{{ proposal.plus_two }}</td>
<td>{{ proposal.plus_one }}</td>
<td>{{ proposal.minus_one }}</td>
<td>{{ proposal.minus_two }}</td>
<td>{{ proposal.total_votes }}</td>
</tr>
</tbody>
</table>
<hr />
{% if review_form %}
<form method="POST" action="#proposal-reviews" 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|bootstrap }}
<div class="form-action">
<input type="submit" class="btn btn-primary" name="vote_submit" value="Submit Review" />
<input type="submit" class="btn btn-primary" name="vote_submit_and_random" value="Submit Review and jump to random proposal" />
</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-xs btn-danger" type="submit">Delete</button>
</form>
</div>
{% endif %}
<div class="review-content">
&nbsp;
<b>
{% if review.user.speaker_profile %}
{{ review.user.speaker_profile.name }}
{% else %}
{% user_display review.user %}
{% endif %}
</b>
{{ review.submitted_at|timesince }} ago <br />
{{ review.comment_html|safe }}
</div>
</div>
{% endfor %}
{% endif %}
</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 %}
{% if is_manager %}
<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|bootstrap }}
<div class="form-actions">
<input type="submit" class="btn btn-primary" name="message_submit" value="Send Message" />
</div>
</form>
{% endif %}
</div>
</div>
</div>
<div>
<a class="btn btn-primary" href="{% url "user_random" proposal.section.slug %}">
{% trans "Jump to a random unreviewed proposal" %}
</a>
</div>
{% endblock %}
{% block extra_script %}
{{ block.super }}
<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"));
}
});
if (window.location.hash !== '') {
$('.nav-tabs a[href="' + window.location.hash + '"]').tab('show')
}
});
</script>
{% endblock %}