Regidesk first pass
This commit is contained in:
parent
c09b926b87
commit
a42820a208
5 changed files with 179 additions and 127 deletions
|
@ -4,36 +4,42 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block head_title %}Checkin{% endblock head_title %}
|
||||
{% block extra_head %}<script type="text/javascript" src="{% static 'js/instascan.min.js' %}"></script>{% endblock %}
|
||||
|
||||
{% block body_class %}text-primary{% endblock body_class %}
|
||||
{% block main_class %}container{% endblock main_class %}
|
||||
|
||||
{% block content %}
|
||||
{% block body %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs/jszip-2.5.0/dt-1.10.16/b-1.4.2/b-colvis-1.4.2/b-flash-1.4.2/b-html5-1.4.2/b-print-1.4.2/cr-1.4.1/fc-3.2.3/fh-3.1.3/r-2.2.0/rg-1.0.2/datatables.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" />
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/v/bs/jszip-2.5.0/dt-1.10.16/b-1.4.2/b-colvis-1.4.2/b-html5-1.4.2/b-print-1.4.2/cr-1.4.1/fc-3.2.3/fh-3.1.3/r-2.2.0/rg-1.0.2/datatables.min.js"></script>
|
||||
<script type="text/javascript" src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js "></script>
|
||||
<script type="text/javascript">
|
||||
$("table.table-data").dataTable({
|
||||
"dom": "<'row'<'col-md-3'l><'col-md-3'B><'col-md-4'f>r>t<'row'<'col-md-3'i><'col-md-5'p>>",
|
||||
"stateSave": true,
|
||||
"lengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
|
||||
"pageLength": 100,
|
||||
"colReorder": true,
|
||||
"buttons": [ {
|
||||
extend: 'collection',
|
||||
text: 'Export',
|
||||
buttons: ["copy", "csv", "print"]
|
||||
},
|
||||
{ extend: 'collection',
|
||||
text: 'Columns',
|
||||
buttons: [
|
||||
{ extend: 'columnsToggle',
|
||||
columns: '.toggle' },
|
||||
]
|
||||
}]});
|
||||
</script>
|
||||
{% endblock %}
|
||||
$("table.table-data").dataTable({
|
||||
"dom": "<'row'<'col-md-3'l><'col-md-3'B><'col-md-4'f>r>t<'row'<'col-md-3'i><'col-md-5'p>>",
|
||||
"stateSave": true,
|
||||
"lengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
|
||||
"pageLength": 100,
|
||||
"colReorder": true,
|
||||
"buttons": [{
|
||||
extend: 'collection',
|
||||
text: 'Export',
|
||||
buttons: ["copy", "csv", "print"]
|
||||
},
|
||||
{
|
||||
extend: 'collection',
|
||||
text: 'Columns',
|
||||
buttons: [
|
||||
{
|
||||
extend: 'columnsToggle',
|
||||
columns: '.toggle'
|
||||
},
|
||||
]
|
||||
}]
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -162,7 +162,7 @@
|
|||
$("tr input.action-select").actions();
|
||||
});
|
||||
$('.dataTable').dataTable({
|
||||
"dom": "<'row'<'col-md-3'l><'col-md-3'B><'col-md-4'f>r>t<'row'<'col-md-3'i><'col-md-5'p>>",
|
||||
"dom": "<'container-fluid'<'row'<'col-md-3'l><'col-md-3'B><'col-md-4'f>r>t<'row'<'col-md-3'i><'col-md-5'p>>>",
|
||||
"stateSave": true,
|
||||
"lengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
|
||||
"drawCallback": function( settings ) {
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<div class="col-md-6">
|
||||
<h2>Email</h2>
|
||||
|
||||
<form class="form-horizontal" method="post" action="{% url "regidesk:boarding_send" %}">
|
||||
<form class="form" method="post" action="{% url "regidesk:boarding_send" %}">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{% extends "regidesk/base.html" %}
|
||||
|
||||
{% load static %}
|
||||
{% block header_title %}
|
||||
<h1>Boarding pass lookup</h1>
|
||||
<p>Please scan or enter boarding pass code and click "Look Up"</p>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_head %}
|
||||
<script type="text/javascript" src="{% static 'js/instascan.min.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,126 +1,170 @@
|
|||
{% extends "regidesk/base.html" %}
|
||||
|
||||
|
||||
{% block header_title %}
|
||||
<h3>Pre-print check</h3>
|
||||
<h3>Pre-print check</h3>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block body %}
|
||||
{% load registrasion_tags %}
|
||||
{% load lca2018_tags %}
|
||||
{% items_purchased as purchased %}
|
||||
{% items_pending as pending %}
|
||||
{% items_purchased 1 as ticket %}
|
||||
{% items_purchased 6 as shirts %}
|
||||
{% total_items_purchased 3 as penguin_dinner_count %}
|
||||
{% total_items_purchased 4 as speakers_dinner_count %}
|
||||
{% total_items_purchased 5 as pdns_count %}
|
||||
{% ticket_type as ticket_type %}
|
||||
{% load registrasion_tags %}
|
||||
{% load lca2018_tags %}
|
||||
{% items_purchased as purchased %}
|
||||
{% items_pending as pending %}
|
||||
{% items_purchased 1 as ticket %}
|
||||
{% items_purchased 6 as shirts %}
|
||||
{% total_items_purchased 3 as penguin_dinner_count %}
|
||||
{% total_items_purchased 4 as speakers_dinner_count %}
|
||||
{% total_items_purchased 5 as pdns_count %}
|
||||
{% ticket_type as ticket_type %}
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Content Check</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<dl class="card-text row">
|
||||
<dt class="col-sm-3">Ticket type</dt>
|
||||
<dd class="col-sm-9">{{ ticket_type }}</dd>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Content Check</div>
|
||||
<div class="panel-body">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Ticket type</dt><dd>{{ ticket_type }}</dd>
|
||||
<dt>Name</dt><dd>{{ user.attendee.attendeeprofilebase.attendeeprofile.name }}</dd>
|
||||
<dt>Company</dt><dd>{% if ticket_type == "Student" or ticket_type == "Hobbyist" or "Only" in ticket_type %}{% else %}{{ user.attendee.attendeeprofilebase.attendeeprofile.company }}{% endif %}</dd>
|
||||
<dt>Free Text 1</dt><dd>{{ user.attendee.attendeeprofilebase.attendeeprofile.free_text_1 }}</dd>
|
||||
<dt>Free Text 2</dt><dd>{{ user.attendee.attendeeprofilebase.attendeeprofile.free_text_2 }}</dd>
|
||||
<dt>Penguin Dinner Tickets</dt><dd>{{ penguin_dinner_count }}</dd>
|
||||
<dt>Spearker Dinner Tickets</dt><dd>{{ speakers_dinner_count }}</dd>
|
||||
<dt>PDNS Tickets</dt><dd>{{ pdns_count }}</dd>
|
||||
<dt>Over 18 years</dt><dd>{% if user.attendee.attendeeprofilebase.attendeeprofile.of_legal_age %}yes{% else %}<strong class="red">NO</strong>{% endif %}</dd>
|
||||
<dt>Username</dt><dd>{{ user.username }}</dd>
|
||||
<dt class="col-sm-3">Name</dt>
|
||||
<dd class="col-sm-9">{{ user.attendee.attendeeprofilebase.attendeeprofile.name }}</dd>
|
||||
|
||||
<dt class="col-sm-3">Company</dt>
|
||||
<dd class="col-sm-9">{% if ticket_type == "Student" or ticket_type == "Hobbyist" or "Only" in ticket_type %}{% else %}{{ user.attendee.attendeeprofilebase.attendeeprofile.company }}{% endif %}</dd>
|
||||
|
||||
<dt class="col-sm-3">Free Text 1</dt>
|
||||
<dd class="col-sm-9">{{ user.attendee.attendeeprofilebase.attendeeprofile.free_text_1 }}</dd>
|
||||
|
||||
<dt class="col-sm-3">Free Text 2</dt>
|
||||
<dd class="col-sm-9">{{ user.attendee.attendeeprofilebase.attendeeprofile.free_text_2 }}</dd>
|
||||
|
||||
<dt class="col-sm-3">Penguin Dinner Tickets</dt>
|
||||
<dd class="col-sm-9">{{ penguin_dinner_count }}</dd>
|
||||
|
||||
<dt class="col-sm-3">Spearker Dinner Tickets</dt>
|
||||
<dd class="col-sm-9">{{ speakers_dinner_count }}</dd>
|
||||
|
||||
<dt class="col-sm-3">PDNS Tickets</dt>
|
||||
<dd class="col-sm-9">{{ pdns_count }}</dd>
|
||||
|
||||
<dt class="col-sm-3">Over 18 years</dt>
|
||||
<dd class="col-sm-9">{% if user.attendee.attendeeprofilebase.attendeeprofile.of_legal_age %}yes{% else %}<strong
|
||||
class="red">NO</strong>{% endif %}</dd>
|
||||
|
||||
<dt class="col-sm-3">Username</dt>
|
||||
<dd class="col-sm-9">{{ user.username }}</dd>
|
||||
</dl>
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th>item</th>
|
||||
<th>count</th>
|
||||
</tr>
|
||||
{% for shirt in shirts%}
|
||||
<h4>Shirts ordered</h4>
|
||||
<table class="table card-text">
|
||||
{% for shirt in shirts%}
|
||||
<tr>
|
||||
<td>{{ shirt.product }}</td>
|
||||
<td>{{ shirt.quantity }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Badge Preview</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<img src="{% url 'badge' user.id %}.svg">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel {% if check_in.checked_in_bool %}panel-danger{% else %}panel-success{% endif %}">
|
||||
<div class="panel-heading">Check In</div>
|
||||
<div class="panel-body">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Status</dt><dd>{% if check_in.checked_in_bool %}Checked in{% else %}Not checked in{% endif %}</dd>
|
||||
<!-- NOTE:
|
||||
Workflow can be improved by using tickboxes for check-in, badge print, and swag, with a single submit button.
|
||||
-->
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Check In</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<dl class="row card-text">
|
||||
<dt class="col-sm-3">Status</dt>
|
||||
<dd class="col-sm-9">{% if check_in.checked_in_bool %}Checked in{% else %}Not checked in{% endif %}</dd>
|
||||
</dl>
|
||||
<blockquote>
|
||||
<p>If an attendee sees an error with their contents, please instruct them to change their profile and come back before checking them in.</p>
|
||||
<p>The attendee will be unable to edit their profile after they have been checked in</p>
|
||||
</blockquote>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="checkin" value="checkin" checked hidden>
|
||||
<input class="btn {% if check_in.badge_printed %}btn-danger{% else %}btn-success{% endif %} pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
<p>If an attendee sees an error with their contents, please instruct them to change their profile and come
|
||||
back before checking them in.</p>
|
||||
<p>The attendee will be unable to edit their profile after they have been checked in.</p>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="checkin" value="checkin" checked hidden>
|
||||
<input class="btn" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel {% if check_in.badge_printed %}panel-danger{% else %}panel-success{% endif %}">
|
||||
<div class="panel-heading">Badge</div>
|
||||
<div class="panel-body">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Status</dt><dd>{% if check_in.badge_printed %}Marked{% else %}Not marked{% endif %} as printed</dd>
|
||||
</dl>
|
||||
<form method="post" hidden>
|
||||
<input type="checkbox" name="badge" value="badge" checked hidden>
|
||||
<a type="button" class="btn btn-primary" href="badge">Show Badge</a>
|
||||
<input class="btn {% if check_in.badge_printed %}btn-danger{% else %}btn-success{% endif %} pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="unbadge" value="unbadge" checked hidden>
|
||||
<input class="btn btn-danger pull-right" type="submit" value="Force Reprint">
|
||||
</form>
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Badge</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<dl class="row card-text">
|
||||
<dt class="col-sm-3">Status</dt>
|
||||
<dd class="col-sm-9">{% if check_in.badge_printed %}Marked{% else %}Not marked{% endif %} as printed</dd>
|
||||
</dl>
|
||||
<form method="post" hidden>
|
||||
<input type="checkbox" name="badge" value="badge" checked hidden>
|
||||
<a type="button" class="btn btn-primary" href="badge">Show Badge</a>
|
||||
<input class="btn" type="submit" value="Submit">
|
||||
</form>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="unbadge" value="unbadge" checked hidden>
|
||||
<input class="btn" type="submit" value="Force Reprint">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel {% if check_in.schwag_given %}panel-danger{% else %}panel-success{% endif %}">
|
||||
<div class="panel-heading">Schwag</div>
|
||||
<div class="panel-body">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Status</dt><dd>{% if check_in.schwag_given %}Marked{% else %}Not marked{% endif %} as given</dd>
|
||||
</dl>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="schwag" value="schwag" checked hidden>
|
||||
<input class="btn {% if check_in.schwag_given %}btn-danger{% else %}btn-success{% endif %} pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Schwag</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<dl class="row card-text">
|
||||
<dt class="col-sm-3">Status</dt>
|
||||
<dd class="col-sm-9">{% if check_in.schwag_given %}Marked{% else %}Not marked{% endif %} as given</dd>
|
||||
</dl>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="schwag" value="schwag" checked hidden>
|
||||
<input class="btn" type="submit"
|
||||
value="Give Schwag">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-warning">
|
||||
<div class="panel-heading">Log Exception</div>
|
||||
<div class="panel-body">
|
||||
<form method="post">
|
||||
<textarea class="form-control" rows="3" name="exception">{{ check_in.review_text }}</textarea>
|
||||
<p class="help-block">Reminder: Please tell attendee to email boarding@lca2018.org with the details as well</p>
|
||||
<input class="btn btn-warning pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
<div class="card my-3">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Log Exception</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form method="post" class="card-text">
|
||||
<textarea class="form-control" rows="3" name="exception">{{ check_in.review_text }}</textarea>
|
||||
<p class="help-block">Reminder: Please tell attendee to email contact@lca2019.org with the details as well</p>
|
||||
<input class="btn" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel {% if check_in.checked_in_bool or check_in.schwag_given %}panel-danger{% else %}panel-success{% endif %}">
|
||||
<div class="panel-heading">Bulk actions</div>
|
||||
<div class="panel-body">
|
||||
<p>Mark attendee as checked in and schwag given</p>
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Status</dt><dd>{% if check_in.checked_in_bool or check_in.schwag_given %}One of the items in bulk action is marked as given already{% else %}Both items are marked as unrecived{% endif %}</dd>
|
||||
</dl>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="bulk" value="bulk" checked hidden>
|
||||
<input class="btn {% if check_in.checked_in_bool or check_in.schwag_given %}btn-danger{% else %}btn-success{% endif %} pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<a type=button" class="btn btn-primary btn-lg" href="{% url 'regidesk:check_in_scanner' %}">Return to scanning page</a>
|
||||
<div class="card my-3 {% if check_in.checked_in_bool or check_in.schwag_given %}card-danger{% else %}card-success{% endif %}">
|
||||
<div class="card-header">Bulk actions</div>
|
||||
<div class="card-body">
|
||||
<p>Mark attendee as checked in and schwag given</p>
|
||||
<dl class="row card-text">
|
||||
<dt class="col-sm-3">Status</dt>
|
||||
<dd class="col-sm-9">{% if check_in.checked_in_bool or check_in.schwag_given %}One of the items in bulk action is marked as
|
||||
given already{% else %}Both items are marked as unrecived{% endif %}</dd>
|
||||
</dl>
|
||||
<form method="post">
|
||||
<input type="checkbox" name="bulk" value="bulk" checked hidden>
|
||||
<input class="btn pull-right" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
<a type="button" class="btn btn-primary btn-lg" href="{% url 'regidesk:check_in_scanner' %}">Return to scanning page</a>
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in a new issue