Further FE improvements for checkout process

This commit is contained in:
Tobias 2018-09-29 15:14:48 +12:00
parent a26f9a6f18
commit 123de1a15d
7 changed files with 109 additions and 153 deletions

View file

@ -4,7 +4,7 @@
<p>The following discounts and complimentary items are available to you. If you wish to take advantage of this offer, you must choose your items below. This discounts will be applied automatically when you check out.</p> <p>The following discounts and complimentary items are available to you. If you wish to take advantage of this offer, you must choose your items below. This discounts will be applied automatically when you check out.</p>
{% regroup discounts by discount.description as discounts_grouped %} {% regroup discounts by discount.description as discounts_grouped %}
{% for discount_type in discounts_grouped %} {% for discount_type in discounts_grouped %}
<h3>{{ discount_type.grouper }}</h3> <strong>{{ discount_type.grouper }}</strong>
<ul> <ul>
{% for discount in discount_type.list %} {% for discount in discount_type.list %}
<li>{{ discount.quantity }} &times; {{ discount.clause }}</li> <li>{{ discount.quantity }} &times; {{ discount.clause }}</li>

View file

@ -4,18 +4,13 @@
{% load staticfiles %} {% load staticfiles %}
{% block header_title %}{% conference_name %}{% endblock %} {% block header_title %}{% conference_name %}{% endblock %}
{% block header_paragraph %}
<p>Monday 22 January&ndash;Friday 26 January 2018.</p>
<p>University of Technology Sydney, New South Wales, Australia.</p>
{% endblock %}
{% block header_inset_image %}{% illustration "LCA18_nodate.svg" %}{% endblock %}
{% block header_background_image %}{% static "lca2018/images/wp_bg_optimised.jpg" %}{% endblock %}
{% block content %}
<div class="hidden-print"> {% block proposals_body %}
{% if invoice.is_unpaid %} {% include "registrasion/_invoice_details.html" %}
<div class="hidden-print mb-4 pb-4">
{% if invoice.is_unpaid %}
<p> <p>
<strong>NOTICE:</strong> The below invoice is automatically generated, and <strong>NOTICE:</strong> The above invoice is automatically generated, and
will be voided if you amend your selections before payment, or if discounts will be voided if you amend your selections before payment, or if discounts
or products contained in the invoice become unavailable. The products and or products contained in the invoice become unavailable. The products and
discounts are only reserved until the invoice due time, please pay before then discounts are only reserved until the invoice due time, please pay before then
@ -25,27 +20,23 @@
{% url "invoice_access" invoice.user.attendee.access_code as access_url %} {% url "invoice_access" invoice.user.attendee.access_code as access_url %}
<p>Your most recent unpaid invoice will be available at <p>Your most recent unpaid invoice will be available at
<a href="{{ access_url }}">{{ request.scheme }}://{{ request.get_host }}{{ access_url }}</a> <a href="{{ access_url }}">{{ request.scheme }}://{{ request.get_host }}{{ access_url }}</a>
You can print that page for your records, or give this URL to your accounts department to pay for this invoice</p> You can print that page for your records, or give this URL to your accounts department to pay for this invoice
</p>
<a class="btn btn-primary" href='{% url "registripe_card" invoice.id invoice.user.attendee.access_code %}'>Pay this invoice by card</a>
<div class="btn-group">
<a class="btn btn-default" href='{% url "registripe_card" invoice.id invoice.user.attendee.access_code %}'>Pay this invoice by card</a>
{% if user.is_staff %}
<a class="btn btn-default" href="{% url "manual_payment" invoice.id %}">Apply manual payment</a>
{% endif %}
</div>
{% elif invoice.is_paid %}
{% if user.is_staff %} {% if user.is_staff %}
<div class="btn_group"> <a class="btn btn-primary" href="{% url "manual_payment" invoice.id %}">Apply manual payment</a>
{% if user.is_staff %} {% endif %}
<a class="btn btn-default" href="{% url "manual_payment" invoice.id %}">Apply manual payment/refund</a>
<a class="btn btn-default" href="{% url "refund" invoice.id %}">Refund by issuing credit note</a> {% elif invoice.is_paid %}
{% endif %} {% if user.is_staff %}
</div> <a class="btn btn-default" href="{% url "manual_payment" invoice.id %}">Apply manual payment/refund</a>
<a class="btn btn-default" href="{% url "refund" invoice.id %}">Refund by issuing credit note</a>
{% endif %} {% endif %}
{% endif %} {% endif %}
</div> </div>
<hr />
{% include "registrasion/_invoice_details.html" %}
{% endblock %} {% endblock %}

View file

@ -1,7 +1,7 @@
{% extends "registrasion/base.html" %} {% extends "registrasion/base.html" %}
{% load bootstrap %} {% load bootstrap %}
{% block body %} {% block proposals_body %}
<h1>Invoice {{ invoice.id }} - {{ invoice.get_status_display }}</h1> <h1>Invoice {{ invoice.id }} - {{ invoice.get_status_display }}</h1>

View file

@ -40,7 +40,7 @@
{% items_purchased as purchased %} {% items_purchased as purchased %}
{% if purchased %} {% if purchased %}
<div class="mb-4"> <div class="my-4">
<h3>Previously purchased</h3> <h3>Previously purchased</h3>
<p>You've already paid for the following items:</p> <p>You've already paid for the following items:</p>
{% include "registrasion/_items_list.html" with items=purchased suffix="<em>(PAID)</em>" %} {% include "registrasion/_items_list.html" with items=purchased suffix="<em>(PAID)</em>" %}
@ -48,25 +48,20 @@
{% endif %} {% endif %}
<div class="my-4"> <div class="my-4">
<h3>Add to your selection</h3> <h3>Modify your selection</h3>
<p>You can add these items now, or you can come back and add them in a later purchase.</p> <p>
{% if missing %}
{% missing_categories as missing %} {% missing_categories as missing %}
{% if missing %}
<strong>You have <em>not</em> selected anything from the following <strong>You have <em>not</em> selected anything from the following
categories. If your ticket includes any of these, you still need to categories. If your ticket includes any of these, you still need to
make a selection: make a selection:
</strong> </strong>
{% include "registrasion/_category_list.html" with categories=missing %} {% include "registrasion/_category_list.html" with categories=missing %}
</div> {% endif %}
{% endif %} </p>
</div> </div>
<p> <p>
<strong>You can also change your selection from these categories:</strong> <strong>You can also change your selection from these categories:</strong>
</p> </p>

View file

@ -64,12 +64,10 @@
{% endblock %} {% endblock %}
{% block header_title %}Credit card payment for invoice #{{ invoice.id}}{% endblock %} {% block header_title %}Credit card payment for invoice #{{ invoice.id}}{% endblock %}
{% block header_inset_image %}{% illustration "casino.svg" %}{% endblock %}
{% block header_paragraph %}
Pay for your linux.conf.au attendance with your Visa, Mastercard, or American Express credit or debit card. Card payments are processed by <a href="https://stripe.com">Stripe</a>.
{% endblock %}
{% block content %}
{% block proposals_body %}
<p>Pay for your linux.conf.au attendance with your Visa, Mastercard, or American Express credit or debit card. Card payments are processed by <a href="https://stripe.com">Stripe</a>.</p>
<p> <p>
No data on this form is retained by {% conference_name %}, rather it is No data on this form is retained by {% conference_name %}, rather it is
@ -77,7 +75,7 @@
to linux.conf.au. You must allow JavaScript from <code>js.stripe.com</code> to complete payment. to linux.conf.au. You must allow JavaScript from <code>js.stripe.com</code> to complete payment.
</p> </p>
<p>You have ${{ invoice.balance_due }} remaining to pay on this invoice.</p> <p>You have <strong>${{ invoice.balance_due }}</strong> remaining to pay on this invoice.</p>
<p></p> <p></p>

View file

@ -7,7 +7,7 @@
{% load staticfiles %} {% load staticfiles %}
{% if user.is_staff %} {% if user.is_staff %}
<div class="container mb-5"> <div class="container mb-4">
<div class="row"> <div class="row">
<div class="col-12 text-primary"> <div class="col-12 text-primary">
<h2>{% trans "Administration" %}</h2> <h2>{% trans "Administration" %}</h2>
@ -21,17 +21,16 @@
</div> </div>
{% endif %} {% endif %}
<div class="container mb-5"> <div class="container mb-4">
<div class="row"> <div class="row">
<div class="col-12 text-primary"> <div class="col-12 text-primary">
<h2>{% trans "Attend" %} {% conference_name %}</h2> <h2>{% trans "Attend" %} {% conference_name %}</h2>
</div>
</div> </div>
</div> </div>
</div>
<div class="container"> <div class="container mb-4">
<div class="row">
<div class="page-row">
{% if not user.attendee.completed_registration %} {% if not user.attendee.completed_registration %}
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
@ -42,11 +41,13 @@
<a class="btn btn-lg btn-success" role="button" href="{% url "guided_registration" %}">Get your ticket</a> <a class="btn btn-lg btn-success" role="button" href="{% url "guided_registration" %}">Get your ticket</a>
</div> </div>
</div> </div>
</div>
</div>
{% else %} {% else %}
<div class="col-xs-12 col-sm-6 col-lg-6"> <div class="col-md-6 my-3 text-primary d-flex flex-column">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h4>Attendee Profile</h4> <h3>Attendee Profile</h3>
</div> </div>
<div class="panel-body"> <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> <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>
@ -55,10 +56,10 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-xs-12 col-sm-6 col-lg-6"> <div class="col-md-6 my-3 text-primary d-flex flex-column">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h4>Account Management</h4> <h3>Account Management</h3>
</div> </div>
<div class="panel-body"> <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> <p>If you would like to change your registered email address or password, you can use our self-service account management portal</p>
@ -66,99 +67,63 @@
</div> </div>
</div> </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>
</div> </div>
<div class="container my-4 py-4 text-primary">
<div class="row">
{% items_pending as pending %}
<div class="col-12">
<h2>Account</h2>
</div>
{% if pending %}
<div class="col-6 my-3 d-flex flex-column">
<h4>Items pending payment</h4>
{% include "registrasion/_items_list.html" with items=pending %}
<a class="btn btn-lg btn-success" role="button" href="{% url "checkout" %}">Check out and pay</a>
</div>
{% endif %}
{% items_purchased as purchased %}
{% if purchased %}
<div class="col-md-6 my-3 d-flex flex-column">
<h4>Paid Items</h4>
{% include "registrasion/_items_list.html" with items=purchased %}
</div>
{% endif %}
<div class="col-md-6 my-3 d-flex flex-column">
<h4>Add/Update Items</h4>
{% include "registrasion/_category_list.html" with categories=categories %}
</div>
{% invoices as invoices %}
{% if invoices %}
<div class="col-md-6 my-3 d-flex flex-column">
<h4>Invoices</h4>
<ul>
{% for invoice in invoices %}
<li{% if invoice.is_void %} class="void-invoice" style="display: none;"{% endif %}>
<a href="{% url "invoice" invoice.id %}" >Invoice {{ invoice.id }}</a> - ${{ invoice.value }} ({{ invoice.get_status_display }})
</li>
{% endfor %}
</ul>
<div class="mt-auto">
<button id="toggle-void-invoices" onclick="toggleVoidInvoices();" class="btn btn-lg btn-default">Show void invoices</button>
</div>
</div>
{% endif %}
{% available_credit as credit %}
{% if credit %}
<div class="col-md-6 my-3 text-primary d-flex flex-column">
<h4>Credit</h4>
<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>
{% endif %}
</div>
</div>
{% endif %} {# user.attendee.completed_registration #}

View file

@ -432,3 +432,10 @@ a.a-img {
#schedule-date { #schedule-date {
text-transform: capitalize; text-transform: capitalize;
} }
@media print
{
.hidden-print {
display: none !important
}
}