2023-07-04 21:06:48 +00:00
{% extends "base.html" %}
{% block main %}
< main class = "container" >
< h1 > < kbd > {{order.code}}< / kbd > {{order.name}} ({{order.first_name}} {{order.last_name}})< / h1 >
2023-08-06 10:47:07 +00:00
< p > < strong > Comment:< / strong > {{order.comment or '--'}}< br / >
< strong > Order notes:< / strong > {{order.notes or '--'}}< br / >
< strong > Status: < span style = "color: {{'#900' if order.status == 'unpaid' else '#090'}}" > {{order.status}}< / span > < / strong > < br / >
2023-07-04 21:06:48 +00:00
< strong > Sponsor: < span style = "color: {{'#fa0' if order.sponsorship == 'super' else ('#e8e' if order.sponsorship else 'initial')}}" > {{order.sponsorship}}< / span > < / strong > < br / >
2023-08-06 10:47:07 +00:00
< strong > Roommates:< / strong > {% for code in room_owner.room_members %}< kbd > < a href = "order?order={{code}}" > {{code}}< / a > < / kbd > {% endfor %}< br / >
< a target = "_blank" href = "https://{config.HOSTNAME}/control/event/{config.ORGANIZER}/{config.EVENT_NAME}/orders/{{order.code}}/" > Open on pretix< / a > < br / > < / p >
2023-07-04 21:06:48 +00:00
< form method = "post" id = "actionform" action = "checkin" >
< input type = "hidden" value = "{{order.code}}" name = "code" / >
2023-08-06 10:47:07 +00:00
< label for = "actual_room" > Real Room Number< / label >
2023-07-04 21:06:48 +00:00
< input type = "text" value = "{{room_owner.actual_room or ''}}" name = "actual_room" required / >
< label for = "nfc_id" > NFC Badge< / label >
< input type = "text" value = "{{order.nfc_id or ''}}" name = "nfc_id" pattern = "[A-F0-9]{14}" title = "NFC Tag id must be 14 chars" required / >
< label for = "badge_id" > Badge ID< / label >
< input type = "text" value = "{{order.badge_id or (max_id+1)}}" name = "badge_id" required / >
< input type = "submit" value = "Checkin!" / >
< / form >
< script type = "text/javascript" >
function filterOptions(textInputId, optionInputId) {
const textInput = document.getElementById(textInputId);
const optionInput = document.getElementById(optionInputId);
textInput.addEventListener('input', () => {
const searchText = textInput.value.toLowerCase();
const options = optionInput.getElementsByTagName('option');
let visible = 0;
let last_visible;
for (let i = 0; i < options.length ; i + + ) {
const optionText = options[i].textContent.toLowerCase();
if (!searchText||optionText.includes(searchText)||options[i].getAttribute('data-secret').includes(searchText)) {
options[i].style.display = '';
last_visible = options[i]
visible++;
} else {
options[i].style.display = 'none';
}
}
if(visible == 1) {
last_visible.selected = 'selected';
}
});
}
document.addEventListener('DOMContentLoaded', () => {
filterOptions('search', 'badgelist');
});
< / script >
< / main >
{% endblock %}