Add a kind of trashbin for registrations and participants
All checks were successful
buildbot/tox Build done.
All checks were successful
buildbot/tox Build done.
This commit is contained in:
@@ -222,6 +222,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<div class="pull-right text-info" style="margin-right: 1em;"
|
||||
title="Sobald du im Kasten 'Anmeldungen' bei einzelnen Personen auf das Plus-Symbol geklickt hast, oder jemanden mit dem Formular unter 'weiteren Teilnehmer hinzufügen' eingetragen hast, erscheinen diese Personen weiter unten als Teilnehmer (graue Kästen).
|
||||
@@ -249,7 +250,7 @@ Die Person wird dann automatisch auf die Teilnehmerliste übernommen.
|
||||
|
||||
- Wenn du jemanden nicht mitnehmen möchtest, schicke ihm per E-Mail eine Absage und klicke dann auf das Minus-Symbol.
|
||||
|
||||
Nach einem Klick auf Plus oder Minus werden die entsprechenden Zeilen ausgegraut.
|
||||
Nach einem Klick auf Plus oder Minus werden die entsprechenden Zeilen in den Papierkorb verschoben.
|
||||
Wichtig: das System verschickt keine Zu- oder Absagen an die Teilnehmer!
|
||||
Das musst du selbst (per E-Mail oder telefonisch) machen.
|
||||
">
|
||||
@@ -266,22 +267,11 @@ Das musst du selbst (per E-Mail oder telefonisch) machen.
|
||||
<div id="collapseRegistrations" class="panel-collapse collapse {% if registrations_pending %}in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingRegistrations">
|
||||
<div class="panel-body">
|
||||
{% for registration in registrations_all %}
|
||||
{% for registration in registrations_pending %}
|
||||
<form action="" method="post" class="form-inline">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="registration" value="{{ registration.id }}">
|
||||
{% if registration.answered %}
|
||||
<button disabled="disabled"
|
||||
class="btn btn-link no-padding" title="Anmeldung wurde bereits bearbeitet">
|
||||
<span class="text-muted">{% bootstrap_icon 'plus-sign' %}</span>
|
||||
</button>
|
||||
|
||||
<button disabled="disabled"
|
||||
class="btn btn-link no-padding" title="Anmeldung wurde bereits bearbeitet">
|
||||
<span class="text-muted">{% bootstrap_icon 'minus-sign' %}</span>
|
||||
</button>
|
||||
|
||||
{% elif has_permission_update_participants %}
|
||||
{% if has_permission_update_participants %}
|
||||
<button type="submit" name="action" value="accept_registration"
|
||||
class="btn btn-link no-padding" title="zur Teilnehmerliste hinzufügen">
|
||||
<span class="text-success">{% bootstrap_icon 'plus-sign' %}</span>
|
||||
@@ -293,10 +283,6 @@ Das musst du selbst (per E-Mail oder telefonisch) machen.
|
||||
</button>
|
||||
|
||||
{% endif %}
|
||||
{% if registration.answered %}
|
||||
<s>
|
||||
<span class="text-muted">
|
||||
{% endif %}
|
||||
{{ registration.get_full_name }}
|
||||
(<a href="mailto:{{ registration.email_address }}">{{ registration.email_address }}</a>,
|
||||
{{ registration.phone_number }})
|
||||
@@ -309,19 +295,9 @@ Das musst du selbst (per E-Mail oder telefonisch) machen.
|
||||
<span title="{{ registration.get_info }}">
|
||||
{% bootstrap_icon 'info-sign' %}
|
||||
</span>
|
||||
|
||||
{% if registration.answered %}
|
||||
</span>
|
||||
</s>
|
||||
|
||||
<span class="text-info" title="Bei dieser Anmeldung hast du bereits auf Plus oder Minus geklickt.
|
||||
Leider speichert das System hier nicht, welchen der beiden Knöpfe du gewählt hast, aber bei Plus sollte die Person ja weiter unten als Teilnehmer gelistet sein.">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</form>
|
||||
{% empty %}
|
||||
{% trans 'Keine Anmeldungen vorhanden' %}
|
||||
{% trans 'Keine unbearbeiteten Anmeldungen vorhanden' %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -378,6 +354,12 @@ Wichtig: das System verschickt keine Bestätigung an dich oder den neuen Teilneh
|
||||
<small>
|
||||
(<a href="mailto:{{ participant.email_address }}">{{ participant.email_address }}</a>, {{ participant.phone_number }})
|
||||
</small>
|
||||
|
||||
<span class="text-info"
|
||||
title="{{ participant.get_info }}
|
||||
{% trans 'Zeitpunkt der automatischen Löschung' %}: {{ participant.purge_at|date:'d. F Y' }}">
|
||||
{% bootstrap_icon 'info-sign' %}
|
||||
</span>
|
||||
<div class="pull-right">
|
||||
<form action="" method="post" class="form-inline">
|
||||
{% csrf_token %}
|
||||
@@ -393,31 +375,33 @@ Wichtig: das System verschickt keine Bestätigung an dich oder den neuen Teilneh
|
||||
class="btn btn-link no-padding {% if forloop.last %}invisible{% endif %}">
|
||||
<span class="text-info">{% bootstrap_icon 'triangle-bottom' %}</span>
|
||||
</button>
|
||||
<button name="action" value="remove_participant"
|
||||
title="{% trans 'Teilnehmer jetzt löschen' %}
|
||||
({% trans 'erfolgt automatisch am' %} {{ participant.purge_at|date:'d. F Y'}})"
|
||||
<button name="action" value="trash_participant"
|
||||
title="{% trans 'Eintrag in Papierkorb verschieben' %}"
|
||||
class="btn btn-link no-padding">
|
||||
<span class="text-danger">{% bootstrap_icon 'remove-circle' %}</span>
|
||||
<span class="text-danger">{% bootstrap_icon 'trash' %}</span>
|
||||
</button>
|
||||
|
||||
{% endif %}
|
||||
{% if event.charge and participant.paid and has_permission_payment %}
|
||||
|
||||
<button name="action" value="revoke_payment"
|
||||
title="{% trans 'Geldeingang wurde bestätigt' %} - {% trans 'Bestätigung des Geldeingangs zurückziehen' %}"
|
||||
class="btn btn-link no-padding">
|
||||
<span class="text-success">{% bootstrap_icon 'piggy-bank' %}</span>
|
||||
</button>
|
||||
{% elif event.charge and participant.paid %}
|
||||
|
||||
<span class="text-success" title="{% trans 'Geldeingang bestätigt' %}">
|
||||
{% bootstrap_icon 'piggy-bank' %}
|
||||
</span>
|
||||
{% elif event.charge and has_permission_payment %}
|
||||
|
||||
<button name="action" value="confirm_payment"
|
||||
title="{% trans 'Geldeingang bestätigen' %}"
|
||||
class="btn btn-link no-padding">
|
||||
<span class="text-danger">{% bootstrap_icon 'piggy-bank' %}</span>
|
||||
</button>
|
||||
{% elif event.charge %}
|
||||
|
||||
<span class="text-danger" title="{% trans 'Geldeingang unbestätigt' %}">
|
||||
{% bootstrap_icon 'piggy-bank' %}
|
||||
</span>
|
||||
@@ -472,6 +456,129 @@ Wichtig: das System verschickt keine Bestätigung an dich oder den neuen Teilneh
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<div class="pull-right text-info" style="margin-right: 1em;"
|
||||
title="Wenn du Anmeldungen mit einem Klick auf das Plus- oder Minus-Symbol 'bearbeitest', oder Teilnehmer aus der Teilnehmerliste entfernst, dann kann man diese Einträge noch im Papierkorb sehen (herausholen kann sie im Moment aber nur heinzel).
|
||||
">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</div>
|
||||
<h4>{% trans 'Papierkorb' %}</h4>
|
||||
<div class="panel-group" id="form-accordion-trash" role="tablist" aria-multiselectable="true">
|
||||
{% if registrations_support and registrations_answered %}
|
||||
<div class="panel panel-info">
|
||||
<div id="headingAnsweredRegistrations" class="panel-heading" role="tab">
|
||||
<div class="pull-right text-info" title="Wenn du unter 'Anmeldungen' auf das Plus- oder Minus-Symbol geklickt hast, dann sind diese Einträge hier zu sehen.
|
||||
">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</div>
|
||||
<h5 class="panel-title">
|
||||
<a role="button" href="#collapseAnsweredRegistrations"
|
||||
data-toggle="collapse"
|
||||
aria-expanded="true" aria-controls="collapseAnsweredRegistrations">
|
||||
<span class="caret"></span> {% trans 'Bearbeitete Anmeldungen' %}
|
||||
</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseAnsweredRegistrations" class="panel-collapse collapse"
|
||||
role="tabpanel" aria-labelledby="headingAnsweredRegistrations">
|
||||
<div class="panel-body">
|
||||
{% for registration in registrations_answered %}
|
||||
<div>
|
||||
<button disabled="disabled"
|
||||
class="btn btn-link no-padding" title="Anmeldung wurde bereits bearbeitet">
|
||||
<span class="{% if registration.status.accepted %}text-success{% else %}text-muted{% endif %}">{% bootstrap_icon 'plus-sign' %}</span>
|
||||
</button>
|
||||
|
||||
<button disabled="disabled"
|
||||
class="btn btn-link no-padding" title="Anmeldung wurde bereits bearbeitet">
|
||||
<span class="{% if not registration.status.accepted %}text-danger{% else %}text-muted{% endif %}">{% bootstrap_icon 'minus-sign' %}</span>
|
||||
</button>
|
||||
|
||||
<span class="text-muted">
|
||||
{{ registration.get_full_name }}
|
||||
(<a href="mailto:{{ registration.email_address }}">{{ registration.email_address }}</a>,
|
||||
{{ registration.phone_number }})
|
||||
|
||||
<span title="Anmeldezeitpunkt">
|
||||
{% bootstrap_icon 'time' %}
|
||||
{{ registration.created_at|date:'d. F Y, G:i' }}
|
||||
</span>
|
||||
|
||||
<span title="{{ registration.get_info }}">
|
||||
{% bootstrap_icon 'info-sign' %}
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="text-info" title="Bei dieser Anmeldung hast du bereits
|
||||
am {{ registration.status.updated_at|date:'d. F Y, G:i' }}
|
||||
auf {% if registration.status.accepted %}Plus{% else %}Minus{% endif %} geklickt.
|
||||
">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if participants_trash %}
|
||||
<div class="panel panel-info">
|
||||
<div id="headingTrashedParticipants" class="panel-heading" role="tab">
|
||||
<div class="pull-right text-info" title="Wenn du Teilnehmer deiner Teilnehmerliste hinzugefügt hast und sie später wieder entfernt hast, dann tauchen diese Einträge hier auf.">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</div>
|
||||
<h5 class="panel-title">
|
||||
<a role="button" href="#collapseTrashedParticipants"
|
||||
data-toggle="collapse"
|
||||
aria-expanded="true" aria-controls="collapseTrashedParticipants">
|
||||
<span class="caret"></span> {% trans 'Gelöschte Teilnehmer' %}
|
||||
</a>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseTrashedParticipants" class="panel-collapse collapse"
|
||||
role="tabpanel" aria-labelledby="headingTrashedParticipants">
|
||||
<div class="panel-body">
|
||||
{% for participant in participants_trash %}
|
||||
<div>
|
||||
<span class="text-muted">
|
||||
{{ participant.get_full_name }}
|
||||
(<a href="mailto:{{ participant.email_address }}">{{ participant.email_address }}</a>,
|
||||
{{ participant.phone_number }})
|
||||
|
||||
<span title="{{ participant.get_info }}
|
||||
{% trans 'Zeitpunkt der automatischen Löschung' %}: {{ participant.purge_at|date:'d. F Y' }}">
|
||||
{% bootstrap_icon 'info-sign' %}
|
||||
</span>
|
||||
{% if event.charge and participant.paid %}
|
||||
|
||||
<span class="text-success" title="{% trans 'Geldeingang bestätigt' %}">
|
||||
{% bootstrap_icon 'piggy-bank' %}
|
||||
</span>
|
||||
{% elif event.charge %}
|
||||
|
||||
<span class="text-danger" title="{% trans 'Geldeingang unbestätigt' %}">
|
||||
{% bootstrap_icon 'piggy-bank' %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
<span class="text-info" title="Diesen Teilnehmer hast du
|
||||
am {{ participant.trashed_at|date:'d. F Y, G:i' }}
|
||||
von Position {{ participant.position }} der Teilnehmerliste entfernt.
|
||||
">
|
||||
{% bootstrap_icon 'question-sign' %}
|
||||
</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if not registrations_answered and not participants_trash %}
|
||||
<span class="text-muted small">{% trans 'Der Papierkorb ist leer.' %}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock page-container-fluid %}
|
||||
Reference in New Issue
Block a user