Files @ 1f04ec0cea73
Branch filter:

Location: symposion_app/pinaxcon/templates/dashboard.html - annotation

Tobias Schulmann
Add django-crispy-forms for BS4 support

TODO: Remove django-bootstrap-form dependency, left to avoid breaking
other parts.
01c5292653cc
df397ffde643
04f246d85071
04f246d85071
04f246d85071
04f246d85071
a3474fd9cd4c
5409d4974aed
01c5292653cc
04f246d85071
df397ffde643
4d15cbf85c48
4d15cbf85c48
04f246d85071
6814b290eb53
01c5292653cc
eac85a2b9260
e562b61521c0
e562b61521c0
a3474fd9cd4c
e562b61521c0
e562b61521c0
e562b61521c0
00ea909d053c
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
a3474fd9cd4c
1886323d7431
4d15cbf85c48
00ea909d053c
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
ac0ef79b7310
e51ad76384f1
1886323d7431
1886323d7431
e562b61521c0
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
f69e7ac52d19
469e6f1ad9c9
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
f69e7ac52d19
e562b61521c0
18047f754932
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
18047f754932
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
1886323d7431
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
bd1031e2cd14
e562b61521c0
e562b61521c0
5409d4974aed
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
18047f754932
a3474fd9cd4c
e562b61521c0
1886323d7431
e562b61521c0
a3474fd9cd4c
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
00ea909d053c
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
4d15cbf85c48
1886323d7431
4d15cbf85c48
6814b290eb53
e562b61521c0
1886323d7431
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
1886323d7431
1886323d7431
e562b61521c0
1886323d7431
4d15cbf85c48
1886323d7431
eac85a2b9260
eac85a2b9260
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
e562b61521c0
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
ba98c368681b
ba98c368681b
ba98c368681b
ba98c368681b
ba98c368681b
ba98c368681b
ba98c368681b
ba98c368681b
1886323d7431
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
01c5292653cc
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
1886323d7431
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
e562b61521c0
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
58327451488c
1e20731e3221
58327451488c
58327451488c
58327451488c
58327451488c
7c273cdc3ddc
58327451488c
e562b61521c0
58327451488c
58327451488c
58327451488c
e562b61521c0
1886323d7431
58327451488c
6814b290eb53
01c5292653cc
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
bd25446f6e1a
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
a3474fd9cd4c
bd25446f6e1a
a3474fd9cd4c
e562b61521c0
{% 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 %}