Add last minute fixes to flow
Exception text storage and check in needs to be sepearte to badge.
This commit is contained in:
parent
05a45b77ed
commit
7370fc6012
4 changed files with 74 additions and 1 deletions
30
vendor/regidesk/regidesk/migrations/0003_auto_20180121_1023.py
vendored
Normal file
30
vendor/regidesk/regidesk/migrations/0003_auto_20180121_1023.py
vendored
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.9 on 2018-01-20 23:23
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('regidesk', '0002_auto_20180120_1726'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='checkin',
|
||||||
|
name='checked_in_bool',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='checkin',
|
||||||
|
name='exception_set',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='checkin',
|
||||||
|
name='exception_text',
|
||||||
|
field=models.TextField(blank=True),
|
||||||
|
),
|
||||||
|
]
|
14
vendor/regidesk/regidesk/models.py
vendored
14
vendor/regidesk/regidesk/models.py
vendored
|
@ -5,6 +5,7 @@ from decimal import Decimal
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q, F
|
from django.db.models import Q, F
|
||||||
|
@ -72,6 +73,9 @@ class CheckIn(models.Model):
|
||||||
_checkin_code_png=models.TextField(max_length=512,null=True,blank=True)
|
_checkin_code_png=models.TextField(max_length=512,null=True,blank=True)
|
||||||
badge_printed = models.BooleanField(default=False)
|
badge_printed = models.BooleanField(default=False)
|
||||||
schwag_given = models.BooleanField(default=False)
|
schwag_given = models.BooleanField(default=False)
|
||||||
|
checked_in_bool = models.BooleanField(default=False)
|
||||||
|
exception_set = models.BooleanField(default=False)
|
||||||
|
exception_text = models.TextField(blank=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
permissions = (
|
||||||
|
@ -85,6 +89,11 @@ class CheckIn(models.Model):
|
||||||
self.checkin_code = checkin_code
|
self.checkin_code = checkin_code
|
||||||
return super(CheckIn, self).save(*a, **k)
|
return super(CheckIn, self).save(*a, **k)
|
||||||
|
|
||||||
|
def mark_checked_in(self):
|
||||||
|
self.checked_in_bool = True
|
||||||
|
self.checked_in = timezone.now()
|
||||||
|
self.save()
|
||||||
|
|
||||||
def mark_badge_printed(self):
|
def mark_badge_printed(self):
|
||||||
self.badge_printed = True
|
self.badge_printed = True
|
||||||
self.save()
|
self.save()
|
||||||
|
@ -98,6 +107,11 @@ class CheckIn(models.Model):
|
||||||
self.schwag_given = True
|
self.schwag_given = True
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
|
def set_exception(self, text):
|
||||||
|
self.exception_set = True
|
||||||
|
self.exception_text = text
|
||||||
|
self.save()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def code(self):
|
def code(self):
|
||||||
return self.checkin_code
|
return self.checkin_code
|
||||||
|
|
|
@ -34,6 +34,20 @@
|
||||||
</div>
|
</div>
|
||||||
</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>
|
||||||
|
</dl>
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="panel {% if check_in.badge_printed %}panel-danger{% else %}panel-success{% endif %}">
|
<div class="panel {% if check_in.badge_printed %}panel-danger{% else %}panel-success{% endif %}">
|
||||||
<div class="panel-heading">Badge</div>
|
<div class="panel-heading">Badge</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
@ -61,6 +75,17 @@
|
||||||
</div>
|
</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.exception_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>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="panel {% if check_in.badge_printed or check_in.schwag_given %}panel-danger{% else %}panel-success{% endif %}">
|
<div class="panel {% if check_in.badge_printed or check_in.schwag_given %}panel-danger{% else %}panel-success{% endif %}">
|
||||||
<div class="panel-heading">Bulk actions</div>
|
<div class="panel-heading">Bulk actions</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
6
vendor/regidesk/regidesk/views.py
vendored
6
vendor/regidesk/regidesk/views.py
vendored
|
@ -302,12 +302,16 @@ def check_in_overview(request, access_code):
|
||||||
return render(request, "regidesk/ci_code_404.html", {})
|
return render(request, "regidesk/ci_code_404.html", {})
|
||||||
check_in = check_in[0]
|
check_in = check_in[0]
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
if 'badge' in request.POST:
|
if 'checkin' in request.POST:
|
||||||
|
check_in.mark_checked_in()
|
||||||
|
elif 'badge' in request.POST:
|
||||||
check_in.mark_badge_printed()
|
check_in.mark_badge_printed()
|
||||||
elif 'schwag' in request.POST:
|
elif 'schwag' in request.POST:
|
||||||
check_in.mark_schwag_given()
|
check_in.mark_schwag_given()
|
||||||
elif 'bulk' in request.POST:
|
elif 'bulk' in request.POST:
|
||||||
check_in.bulk_mark_given()
|
check_in.bulk_mark_given()
|
||||||
|
elif 'exception' in request.POST:
|
||||||
|
check_in.set_exception(request.POST['exception'])
|
||||||
return redirect(request.path)
|
return redirect(request.path)
|
||||||
ctx = {
|
ctx = {
|
||||||
'check_in': check_in,
|
'check_in': check_in,
|
||||||
|
|
Loading…
Reference in a new issue