Files @ 929388220cfc
Branch filter:

Location: symposion_app/pinaxcon/templates/symposion/reviews/review_detail.html

Joel Addison
Update speaker styling

Use site base template for all pages.
Fix speaker profile to work with Bootstrap 4.
{% extends "symposion/reviews/base.html" %}

{% load bootstrap %}
{% load i18n %}

{% block head_title %}Review #{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }}){% endblock %}

{% block body %}

{% if is_manager %}
<div class="float-right">
  <form class="result-form form-inline form-horizontal" 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">
        <input type="submit" name="result_submit" value="reject" class="btn btn-block btn-xs btn-danger" />
        <input type="submit" name="result_submit" value="standby" class="btn btn-block btn-info btn-xs" />
        <input type="submit" name="result_submit" value="undecide" class="btn btn-block btn-primary btn-xs" />
      </div>
      <input type="submit" name="publish_changes" value="Publish Changes" class="btn btn-block btn-success" />
      {% else %}
      {% if proposal.result.status == "rejected" %}
      <a class="btn btn-block dropdown-toggle btn-danger" data-toggle="dropdown" href="#">Rejected <span class="caret"></span></a>
      <div class="dropdown-menu pull-right">
        <input type="submit" name="result_submit" value="accept" class="btn btn-block btn-xs btn-success" />
        <input type="submit" name="result_submit" value="standby" class="btn btn-block btn-info btn-xs" />
        <input type="submit" name="result_submit" value="undecide" class="btn btn-block btn-default btn-xs" />
      </div>
      {% else %}
      {% if proposal.result.status == "standby" %}
      <a class="btn btn-block btn-info dropdown-toggle" data-toggle="dropdown" href="#">Standby <span class="caret"></span></a>
      <div class="dropdown-menu pull-right">
        <input type="submit" name="result_submit" value="accept" class="btn btn-block btn-xs btn-success" />
        <input type="submit" name="result_submit" value="reject" class="btn btn-block btn-xs btn-danger" />
        <input type="submit" name="result_submit" value="undecide" class="btn btn-block btn-primary btn-xs" />
      </div>
      {% else %}
      <a class="btn btn-block btn-primary dropdown-toggle" data-toggle="dropdown" href="#">Undecided <span class="caret"></span></a>
      <div class="dropdown-menu pull-right">
        <input type="submit" name="result_submit" value="accept" class="btn btn-block btn-xs btn-success" />
        <input type="submit" name="result_submit" value="reject" class="btn btn-block btn-xs btn-danger" />
        <input type="submit" name="result_submit" value="standby" class="btn btn-block btn-info btn-xs" />
      </div>
      {% endif %}
      {% endif %}
      {% endif %}
    </div>
  </form>
</div>
{% endif %}

<h2 class="mb-5">#{{ proposal.number }}: {{ proposal.title }} ({{ proposal.speaker }})</h2>

<div class="tabbable">
  <ul class="nav nav-tabs">
    <li class="nav-item"><a class="nav-link active" href="#proposal-detail" data-toggle="tab">{% trans "Proposal Details" %}</a></li>
    <li class="nav-item"><a class="nav-link" 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-feedback">
      <div class="row my-4">
        <div class="col-12">
          {% if review_messages %}
          <h2>{% trans "Conversation with the submitter" %}</h2>
          {% for message in review_messages %}
          <div class="comment-box">
            <div class="commment-content">
              <b>{{ message.user.username }}</b>
              {{ message.submitted_at|timesince }} ago <br />
              {{ message.message|safe }}
            </div>
          </div>
          {% endfor %}
          <hr />
          {% endif %}

          <form class="form-horizontal" action="" method="POST"accept-charset="utf-8">
            <h3>{% trans "Send a message" %}</h3>
            <p>
              {% blocktrans %}
              If you'd like to communicate with the submitter, use the following form and they 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>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="col-12">
  <h2>Review</h2>
  {% if review_form %}
  <form method="POST" action="#proposal-reviews" class="review-form form-horizontal">
    <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 %}

  <h2 class="mt-5">Score</h2>
  Scores and comments are hidden by default. <a href="" data-toggle="collapse" data-target="#currentResults" aria-expanded="false" aria-controls="currentResults">Toggle score display.</a>

  <div class="collapse" id="currentResults">
    <table class="table mb-4">
      <thead>
        <th>+2 votes</th>
        <th>+1 votes</th>
        <th>-1 votes</th>
        <th>-2 votes</th>
        <th>{% trans "Total Responses" %}</th>
      </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>

    {% for review in reviews %}
    <div class="card my-3">
      <div class="card-header">
        <strong>{{ review.vote }}</strong> by {% if review.user.speaker_profile %}{{ review.user.speaker_profile.name }}{% else %}{{ review.user.username }}{% endif %}
        {% if is_manager %}
        <div class="float-right">
          <form class="form-inline form-horizontal" action="{% url "review_delete" review.id %}" method="POST">
            {% csrf_token %}
            <button class="btn btn-sm btn-danger" type="submit">Delete</button>
          </form>
        </div>
        {% endif %}
      </div>
      <div class="card-body">
        <p>{{ review.comment_html|safe }}</p>
        <em>{{ review.submitted_at|timesince }} ago</em>
      </div>
    </div>
    {% endfor %}
  </div>
</div>

<div class="col-12 mt-5">
  <a href="{% url "user_random" proposal.section.slug %}">
    {% trans "Jump to a random unreviewed proposal" %}
  </a>
</div>

{% endblock %}