Files @ 1f04ec0cea73
Branch filter:

Location: symposion_app/pinaxcon/templates/dashboard.html

Tobias Schulmann
Add django-crispy-forms for BS4 support

TODO: Remove django-bootstrap-form dependency, left to avoid breaking
other parts.
{% extends "utility_page.html" %}
{% load staticfiles %}
{% load i18n %}
{% load proposal_tags %}
{% load review_tags %}
{% load teams_tags %}
{% load registrasion_tags %}
{% load lca2018_tags %}
{% load staticfiles %}


{% block header_title %}linux.conf.au 2019{% endblock %}
{% block header_lead %}User Dashboard{% endblock %}


{% block content %}

    {% available_categories as categories %}
    {% if categories %}

      {% if user.is_staff %}
      <div class="container">
        <div class="page-header">
          <h2>Administration</h2>
        </div>
        <div class="page-row">
          <div class="col-xs-12">
            <a class="btn btn-lg btn-info" role="button" href="{% url "reports_list" %}">Reports</a>
          </div>
        </div>
      </div>
      {% endif %}

    <div class="container">
      <div class="col-12">
        <h2>{% trans "Attend" %} {% conference_name %}</h2>
      </div>
      <div class="page-row">
        {% if not user.attendee.completed_registration %}
          <div class="panel panel-default">
            <div class="panel-heading">
              <h4>Register</h4>
            </div>
            <div class="panel-body">
              <p>To attend the conference, you must create an attendee profile and purchase your ticket</p>
              <a class="btn btn-lg btn-success" role="button" href="{% url "guided_registration" %}">Get your ticket</a>
            </div>
          </div>
        {% else %}
          <div class="col-xs-12 col-sm-6 col-lg-6">
            <div class="panel panel-default">
              <div class="panel-heading">
                <h4>Attendee Profile</h4>
              </div>
              <div class="panel-body">
                <p>If you would like to change the details on your badge or your attendee statistics, you may edit your attendee profile up until the 15th January 2018</p>
                <a class="btn btn-lg btn-primary pull-left" role="button" href="{% url "user_badge" %}">Preview my badge</a>
                <a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "attendee_edit" %}">Edit attendee profile</a>
              </div>
            </div>
          </div>
          <div class="col-xs-12 col-sm-6 col-lg-6">
            <div class="panel panel-default">
              <div class="panel-heading">
                <h4>Account Management</h4>
              </div>
              <div class="panel-body">
                <p>If you would like to change your registered email address or password, you can use our self-service account management portal</p>
                <a class="btn btn-lg btn-primary pull-right" role="button" href="https://login.linux.conf.au/manage/">Account Management</a>
              </div>
            </div>
          </div>

          {% items_pending as pending %}

            <div class="col-xs-12 col-sm-12 col-lg-12">
              <div class="panel panel-default">
                <div class="panel-heading">
                  <h4>Account</h4>
                </div>
                <div class="panel-body">

                  {% if pending %}
                    <div class="col-xs-12 col-sm-6 col-lg-6">
                      <div class="panel panel-warning">
                        <div class="panel-heading">
                          <h5>Items pending payment</h5>
                        </div>
                        <div class="panel-body">
                          {% include "registrasion/_items_list.html" with items=pending %}
                          <div class="right">
                            <a class="btn btn-lg btn-success pull-right" role="button" href="{% url "checkout" %}">Check out and pay</a>
                          </div>
                        </div>
                      </div>
                    </div>
                  {% endif %}

                  {% items_purchased as purchased %}
                  {% if purchased %}
                    <div class="col-xs-12 col-sm-6 col-lg-6">
                      <div class="panel panel-success">
                        <div class="panel-heading">
                          <h5>Paid Items</h5>
                        </div>
                        <div class="panel-body">
                          {% include "registrasion/_items_list.html" with items=purchased %}
                        </div>
                      </div>
                    </div>
                  {% endif %}
                  <div class="col-xs-12 col-sm-6 col-lg-6">
                    <div class="panel panel-success">
                      <div class="panel-heading">
                        <h5>Add/Update Items</h5>
                      </div>
                      <div class="panel-body">
                        {% include "registrasion/_category_list.html" with categories=categories %}
                      </div>
                    </div>
                  </div>

                  {% invoices as invoices %}
                  {% if invoices %}
                    <div class="col-xs-12 col-sm-12 col-lg-12">
                      <div class="panel panel-info">
                        <div class="panel-heading">
                          <h5>Invoices</h5>
                        </div>
                        <div class="panel-body">
                          <ul>
                            {% for invoice in invoices %}
                              {% if invoice.is_void %}
                                <li class="void-invoice" style="display: none;">
                              {% else %}
                                <li>
                              {% endif %}
                                <a href="{% url "invoice" invoice.id %}" >Invoice {{ invoice.id }}</a>
                                - ${{ invoice.value }} ({{ invoice.get_status_display }})
                                </li>
                            {% endfor %}
                          </ul>
                          <button id="toggle-void-invoices" onclick="toggleVoidInvoices();">Show void invoices</button>
                        </div>
                      </div>
                    </div>
                  {% endif %}

                  {% available_credit as credit %}
                  {% if credit %}
                    <div class="col-xs-12 col-sm-12 col-lg-12">
                      <div class="panel panel-danger">
                        <div class="panel-heading">
                          <h5>Credit</h5>
                        </div>
                        <div class="panel-body">
                          <p>You have ${{ credit }} leftover from refunded invoices. This credit will be automatically applied to new invoices. Contact the conference organisers to for a refund to your original payment source.</p>
                        </div>
                      </div>
                    </div>
                  {% endif %}

                </div>
              </div>
            </div>

        {% endif %}
      </div>
    </div>
  {% endif %}

  
  <div class="row">
    <div class="col-12">
      <h2>{% trans "Speaking and Miniconfs" %}</h2>
        <div class="card">
            <div class="card-header">
                Speaker Profile
              </div>
            <div class="card-body">
              <p class="card-text">
                  Your speaker profile is independent of your attendee profile and the details you provide here will be used during selection and to populate your speaker bio on the conference website.
              </p>
              {% if not user.speaker_profile %}
                <p class="card-text">To create a speaking or miniconf proposal you must first create a speaker profile.</p>
                <a href="{% url "speaker_create" %}" class="btn btn-primary">Create Profile</a>
              {% else %}
                <a class="btn btn-primary" role="button" href="{% url "speaker_edit" %}">Edit Profile</a>
              {% endif %}
            </div>
          </div>
      

      {% if user.speaker_profile %}
        <div class="col-xs-12 col-sm-6 col-lg-6">
          <div class="panel panel-primary">
            <div class="panel-heading">
              <h5>New Proposal</h5>
            </div>
            <div class="panel-body">
              <p>You may use the following form to create a speaking or miniconf proposal.</p>
              <p>Once submitted you will be able to see the status of your proposals, as well manage the submission and co-speakers from this page</p>
              <a class="btn btn-lg btn-primary pull-right" role="button" href="{% url "proposal_submit" %}">New Proposal</a>
            </div>
          </div>
        </div>
      {% endif %}
    </div>

  </div>


  {% if user.speaker_profile %}
    {% if user.speaker_profile.proposals.exists %}
      <div class="container">
        <div class="page-header">
          <h2>Your Proposals</h2>
        </div>
        <div class="page-row">
          {% if user.speaker_profile.proposals.exists %}
            {% for proposal in user.speaker_profile.proposals.all %}
              {% include "symposion/proposals/_proposal_row.html" %}
            {% endfor %}
          {% endif %}
        </div>
      </div>
    {% endif %}
  {% endif %}


  {% if user.speaker_profile %}
    {% associated_proposals as associated_proposals %}
    {% pending_proposals as pending_proposals %}
    {% if associated_proposals or pending_proposals %}
      <div class="container">
        <div class="page-header">
          <h2>Copresenter Proposals</h2>
        </div>
        <div class="page-row">
        {% for proposal in associated_proposals %}
          {% include "symposion/proposals/_proposal_row.html" %}
        {% endfor %}
        {% for proposal in pending_proposals %}
          {% include "symposion/proposals/_pending_proposal_row.html" %}
        {% endfor %}
        </div>
      </div>
    {% endif %}
  {% endif %}

  {% if review_sections %}
    <div class="container">
      <div class="page-header">
        <h2>{% trans "Reviews" %}</h2>
      </div>
      <div class="page-row">
        {% for section in review_sections %}
          <div class="col-xs-12 col-sm-6 col-lg-6">
            <div class="panel panel-primary">
              <div class="panel-heading">
                <h5>{{ section }}</h5>
              </div>
              <div class="panel-body">
                <ul>
                  <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>
                </ul>
                {% if section in manage_sections %}
                <ul>
                    <li><a href="{% url "review_bulk_update" section.section.slug %}">Bulk Update</a></li>
                    <li><a href="{% url "result_notification" section.section.slug "accepted" %}">Send notifications</a></li>
                    <li><a href="{% url "review_status" section.section.slug %}">Voting Status</a></li>
                    <li><a href="{% url "review_admin" section.section.slug %}">Reviewer Stats</a></li>
                </ul>
                {% endif %}
              </div>
            </div>
          </div>
        {% endfor %}
      </div>
    </div>
  {% endif %}

  {% available_teams as available_teams %}
  {% if user.memberships.exists or available_teams %}
    <div class="container">
      <div class="page-header">
        <h2>{% trans "Teams" %}</h2>
      </div>
    </div>
    <div class="container">
      <div class="page-row">
        {% if user.memberships.exists %}
          <div class="page-header">
            <h3>Your Teams</h3>
          </div>
          <div clas="page-row">
            {% for membership in user.memberships.all %}
              <div class="col-xs-12 col-sm-6 col-lg-6">
                <div class="panel panel-primary">
                  <div class="panel-heading">
                    <h5>{{ membership.team.name }}</h5>
                  </div>
                  <div class="panel-body">
                    {% if membership.team.description %}<p>{{ membership.team.description }}</p>{% endif %}
                    <a class="btn btn-lg btn-primary" role="button" href="{% url "team_detail" membership.team.slug %}">Details</a>
                    <span class="{% if membership.state == 'invited' %} label-info{% endif %}">{{ membership.get_state_display }}</span>
                    {% if membership.state == "manager" or user.is_staff %}
                      {% if membership.team.applicants %}{{ membership.team.applicants.count }} applicant{{ membership.team.applicants.count|pluralize }}{% endif %}
                    {% endif %}
                  </div>
                </div>
              </div>
            {% endfor %}
          </div>
        {% endif %}
      </div>
    </div>
    <div class="container">
      <div class="page-row">
      {% if available_teams %}
        <div class="page-header">
          <h3>Available Teams</h3>
        </div>
        <div class="page-row">
        {% for team in available_teams %}
          <div class="col-xs-12 col-sm-6 col-lg-6">
            <div class="panel panel-primary">
              <div class="panel-heading">
                <h5>{{ team }}</h5>
              </div>
              <div class="panel-body">
              {% if team.description %}<p>{{ team.description }}</p>{% endif %}
                <span class="label label-default">{{ team.get_access_display }}</span>
                <a class="btn btn-lg btn-primary" role="button" href="{% url "team_detail" team.slug %}">Details</a>
              </div>
            </div>
          </div>
          {% endfor %}
        </div>
        {% endif %}
      </div>
    </div>
    {% endif %}

{% endblock %} <!-- block content -->

{% block scripts_extra %}
  <script type="text/javascript">
    var _toggleVoidInvoices = function() {
      var visible = false;
      function toggleVoidInvoices() {
        $btn = $("#toggle-void-invoices");
        $invoices = $(".void-invoice")

        if (visible) {
          $invoices.hide();
          btnText = "Show void invoices";
        } else {
          $invoices.show();
          btnText = "Hide void invoices";
        }
        $btn.text(btnText);
        visible = !visible;
        return true;
      }
      return toggleVoidInvoices;
    }
    var toggleVoidInvoices = _toggleVoidInvoices();
    _toggleVoidInvoices = undefined;
  </script>
{% endblock %}