New check-in features (#3022)

This commit is contained in:
Raphael Michel
2023-02-09 09:46:46 +01:00
committed by GitHub
parent 7b0d07065f
commit 6902725f3c
69 changed files with 1606 additions and 183 deletions

View File

@@ -103,7 +103,7 @@
{% include "pretixcontrol/event/mail_settings_fragment.html" with pid="order_changed" title=title_order_changed items="mail_subject_order_changed,mail_text_order_changed" %}
{% blocktrans asvar title_payment_reminder %}Payment reminder{% endblocktrans %}
{% include "pretixcontrol/event/mail_settings_fragment.html" with pid="order_expirew" title=title_payment_reminder items="mail_days_order_expire_warning,mail_subject_order_expire_warning,mail_subject_order_pending_warning,mail_text_order_expire_warning" exclude="mail_days_order_expire_warning" %}
{% include "pretixcontrol/event/mail_settings_fragment.html" with pid="order_expirew" title=title_payment_reminder items="mail_days_order_expire_warning,mail_subject_order_expire_warning,mail_text_order_expire_warning,mail_subject_order_pending_warning,mail_text_order_pending_warning" exclude="mail_days_order_expire_warning" %}
{% blocktrans asvar title_waiting_list_notification %}Waiting list notification{% endblocktrans %}
{% include "pretixcontrol/event/mail_settings_fragment.html" with pid="waiting_list" title=title_waiting_list_notification items="mail_subject_waiting_list,mail_text_waiting_list" %}

View File

@@ -107,6 +107,7 @@
{% bootstrap_field form.require_membership_hidden layout="control" %}
</div>
{% endif %}
{% bootstrap_field form.checkin_attention layout="control" %}
</div>
</details>
{% endfor %}
@@ -204,6 +205,7 @@
{% bootstrap_field formset.empty_form.require_membership_hidden layout="control" %}
</div>
{% endif %}
{% bootstrap_field formset.empty_form.checkin_attention layout="control" %}
</div>
</details>
{% endescapescript %}

View File

@@ -18,6 +18,7 @@
<select name="status" class="form-control">
<option value="" {% if request.GET.status == "" %}selected="selected"{% endif %}>{% trans "All orders" %}</option>
<option value="p" {% if request.GET.status == "p" %}selected="selected"{% endif %}>{% trans "Paid" %}</option>
<option value="pv" {% if request.GET.status == "pv" %}selected="selected"{% endif %}>{% trans "Paid or confirmed" %}</option>
<option value="n" {% if request.GET.status == "n" %}selected="selected"{% endif %}>{% trans "Pending" %}</option>
<option value="np" {% if request.GET.status == "np" or "status" not in request.GET %}selected="selected"{% endif %}>{% trans "Pending or paid" %}</option>
<option value="o" {% if request.GET.status == "o" %}selected="selected"{% endif %}>{% trans "Pending (overdue)" %}</option>

View File

@@ -189,6 +189,55 @@
</div>
</div>
<div class="row">
<div class="col-sm-3">
<strong>{% trans "Ticket block" %}</strong>
</div>
<div class="col-sm-5">
{% if "admin" in position.blocked %}
{% trans "Blocked" %}
{% elif position.blocked %}
{% trans "Blocked due to external constraints" %}
{% else %}
{% trans "Not blocked" %}
{% endif %}
</div>
<div class="col-sm-4">
{% bootstrap_field position.form.blocked layout='inline' %}
</div>
</div>
<div class="row">
<div class="col-sm-3">
<strong>{% trans "Validity time" %}</strong>
</div>
<div class="col-sm-5">
{% if position.valid_from %}
{% blocktrans trimmed with datetime=position.valid_from|date:"SHORT_DATETIME_FORMAT" %}
Valid from {{ datetime }}
{% endblocktrans %}
{% endif %}
{% if position.valid_until %}
{% if position.valid_from %}
<br />
{% endif %}
{% blocktrans trimmed with datetime=position.valid_from|date:"SHORT_DATETIME_FORMAT" %}
Valid until {{ datetime }}
{% endblocktrans %}
{% endif %}
{% if not position.valid_from and not position.valid_until %}
{% trans "Unconstrained" %}
{% endif %}
</div>
<div class="col-sm-4">
{% bootstrap_field position.form.valid_from layout='inline' %}
<div class="text-center">
{% trans "" %}
</div>
{% bootstrap_field position.form.valid_until layout='inline' %}
</div>
</div>
<div class="row">
<div class="col-sm-3">
<strong>{% trans "Ticket secret" %}</strong>

View File

@@ -194,7 +194,10 @@
<dt>{% trans "Expiry date" %}</dt>
<dd>
{{ order.expires|date:"SHORT_DATETIME_FORMAT" }}
{% if has_cancellation_fee and request.event.settings.payment_term_expire_automatically %}
{% if order.valid_if_pending %}
<span class="fa fa-warning text-danger" data-toggle="tooltip"
title="{% trans "This order will not expire automatically since it is already confirmed and can be used." %}"></span>
{% elif has_cancellation_fee and request.event.settings.payment_term_expire_automatically %}
<span class="fa fa-warning text-danger" data-toggle="tooltip"
title="{% trans "This order will not expire automatically as it has an open cancellation fee." %}"></span>
{% endif %}
@@ -390,6 +393,15 @@
{% endif %}
{% endfor %}
{% endif %}
{% if line.blocked %}
<br />
<strong class="text-danger">
<span class="fa fa-ban fa-fw text-danger"></span>
{% for k, block_reason in line.blocked_reasons.items %}
{{ block_reason }}
{% endfor %}
</strong>
{% endif %}
{% if line.seat %}
<br />
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="14" viewBox="0 0 4.7624999 3.7041668" class="svg-icon">
@@ -429,6 +441,26 @@
</a>
</span>
{% endif %}
{% if line.valid_from or line.valid_until %}
<div class="cart-icon-details">
<dd>
<span class="fa fa-clock-o fa-fw" aria-hidden="true"></span>
{% if line.valid_from and line.valid_until %}
{% blocktrans trimmed with datetime_from=line.valid_from|date:"SHORT_DATETIME_FORMAT" datetime_until=line.valid_until|date:"SHORT_DATETIME_FORMAT" %}
Valid from {{ datetime_from }} until {{ datetime_until }}
{% endblocktrans %}
{% elif line.valid_from %}
{% blocktrans trimmed with datetime=line.valid_from|date:"SHORT_DATETIME_FORMAT" %}
Valid from {{ datetime }}
{% endblocktrans %}
{% elif line.valid_until %}
{% blocktrans trimmed with datetime=line.valid_until|date:"SHORT_DATETIME_FORMAT" %}
Valid until {{ datetime }}
{% endblocktrans %}
{% endif %}
</dd>
</div>
{% endif %}
{% if not line.canceled %}
<div class="position-buttons">
{% if line.generate_ticket %}

View File

@@ -6,6 +6,11 @@
<span class="fa fa-question-circle"></span>
{% trans "Approval pending" %}
</span>
{% elif order.valid_if_pending %}
<span data-toggle="tooltip" class="label label-info {{ class }}">
<span class="fa fa-money"></span>
{% trans "Pending (confirmed)" context "order state" %}
</span>
{% else %}
<span data-toggle="tooltip" title="{{ order.expires|date:"SHORT_DATETIME_FORMAT" }}"
class="label label-warning {{ class }}">