Added a model for event state (including data migration, signal based
notifications, etc.)
This commit is contained in:
@@ -3,16 +3,11 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="pull-right">
|
||||
{% if status == 'expired' %}
|
||||
<span class="label label-info">{% trans 'Ausgelaufen' %}</span>
|
||||
{% elif status == 'published' %}
|
||||
<span class="label label-success">{% trans 'Veröffentlicht' %}</span>
|
||||
{% elif status == 'publishing' %}
|
||||
<span class="label label-warning">{% trans 'Veröffentlichung' %}: {{ event.planned_publication_date|date:'d.m.Y' }}</span>
|
||||
{% elif status == 'accepted' %}
|
||||
<span class="label label-warning">{% trans 'Freigegeben' %}</span>
|
||||
{% elif status == 'submitted' %}
|
||||
<span class="label label-danger">{% trans 'Eingereicht' %}</span>
|
||||
{% if status.code != 'void' %}
|
||||
{{ status.get_bootstrap_label|safe }}
|
||||
{% if status.code == 'publishing' %}
|
||||
<span class="label label-{{ status.bootstrap_context|default:'default' }}">{{ planned_publication_date|date:'d.m.Y' }}</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<span class="panel-title">{{ number }} - {{ title }}</span>
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
{% endblock form-fields-visible %}
|
||||
{% block form-buttons %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-success">
|
||||
<button type="submit" name="submit" class="btn btn-success">
|
||||
{% bootstrap_icon 'ok' %} 
|
||||
{% trans 'Einsenden' %}
|
||||
{% trans 'Speichern und Einsenden' %}
|
||||
</button>
|
||||
<a class="btn btn-warning" href="?back">
|
||||
{% bootstrap_icon 'repeat' %} 
|
||||
@@ -40,5 +40,9 @@
|
||||
{% bootstrap_icon 'remove' %} 
|
||||
{% trans 'Abbrechen' %}
|
||||
</a>
|
||||
<button type="submit" name="save" class="btn btn-info">
|
||||
{% bootstrap_icon 'hdd' %} 
|
||||
{% trans 'Als Entwurf speichern' %}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
{% endblock form-buttons %}
|
||||
|
||||
@@ -5,6 +5,36 @@
|
||||
{% block head-title %}{{ event }} - {{ block.super }}{% endblock head-title %}
|
||||
|
||||
{% block modals %}
|
||||
<div id="modal-submit-dialog" class="modal fade" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">{% trans 'Veranstaltung einreichen?' %}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p class="text-center">
|
||||
<strong>{{ event }}</strong>
|
||||
</p>
|
||||
<p>
|
||||
Die Veranstaltungsdaten werden an die Tourenreferenten und zuständigen Fachbereichsleiter
|
||||
zur Freigabe weitergeleitet.<br />
|
||||
Nach dem Einreichen können die Veranstaltungsdaten nicht mehr von dir geändert werden.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_confirmstatus' event.pk 'submitted' %}">
|
||||
{% bootstrap_icon 'ok' %} 
|
||||
{% trans 'Ja, alles klar!' %}
|
||||
</a>
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">
|
||||
{% bootstrap_icon 'remove' %} 
|
||||
{% trans 'Abbrechen' %}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="modal-accept-dialog" class="modal fade" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
@@ -16,11 +46,14 @@
|
||||
<p class="text-center">
|
||||
<strong>{{ event }}</strong>
|
||||
</p>
|
||||
<p>
|
||||
Die Veranstaltungsdaten werden an die Redaktion zur Veröffentlichung weitergeleitet.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_accept' event.pk %}">
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_confirmstatus' event.pk 'accepted' %}">
|
||||
{% bootstrap_icon 'ok' %} 
|
||||
{% trans 'Ja, mach schon!' %}
|
||||
{% trans 'Ja, passt schon!' %}
|
||||
</a>
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">
|
||||
{% bootstrap_icon 'remove' %} 
|
||||
@@ -41,9 +74,17 @@
|
||||
<p class="text-center">
|
||||
<strong>{{ event }}</strong>
|
||||
</p>
|
||||
<p class="text-center">
|
||||
<strong>{% trans 'Zeitpunkt der Veröffentlichung' %}:</strong>
|
||||
{% if event.planned_publication_date %}
|
||||
{{ event.planned_publication_date|date:'l, d. F Y' }}
|
||||
{% else %}
|
||||
{% trans 'Unverzüglich' %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_confirmpublication' event.pk %}">
|
||||
<a class="btn btn-success" href="{% if event.planned_publication_date %}{% url 'dav_events:event_confirmstatus' event.pk 'publishing' %}{% else %}{% url 'dav_events:event_confirmstatus' event.pk 'published' %}{% endif %}">
|
||||
{% bootstrap_icon 'ok' %} 
|
||||
{% trans 'Ja' %}
|
||||
</a>
|
||||
@@ -60,10 +101,21 @@
|
||||
{% block page-container-fluid %}
|
||||
<div class="action-tabs">
|
||||
<div class="pull-right">
|
||||
{% if has_permission_submit %}
|
||||
<a class="btn {% if event.get_status.code == 'draft' %}btn-success{% else %}btn-default disabled{% endif %}"
|
||||
data-toggle="modal" data-target="#modal-submit-dialog">
|
||||
{% if 'submitted' in event.get_status_codes %}
|
||||
{% bootstrap_icon 'check' %} 
|
||||
{% else %}
|
||||
{% bootstrap_icon 'unchecked' %} 
|
||||
{% endif %}
|
||||
{% trans 'Einreichen' %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if has_permission_accept %}
|
||||
<a class="btn {% if event.get_status == 'submitted' %}btn-success{% else %}btn-default disabled{% endif %}"
|
||||
<a class="btn {% if event.get_status.code == 'submitted' %}btn-success{% else %}btn-default disabled{% endif %}"
|
||||
data-toggle="modal" data-target="#modal-accept-dialog">
|
||||
{% if event.accepted %}
|
||||
{% if 'accepted' in event.get_status_codes %}
|
||||
{% bootstrap_icon 'check' %} 
|
||||
{% else %}
|
||||
{% bootstrap_icon 'unchecked' %} 
|
||||
@@ -72,9 +124,9 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if has_permission_publish %}
|
||||
<a class="btn {% if event.get_status == 'accepted' %}btn-success{% else %}btn-default disabled{% endif %}"
|
||||
<a class="btn {% if event.get_status.code == 'accepted' %}btn-success{% else %}btn-default disabled{% endif %}"
|
||||
data-toggle="modal" data-target="#modal-confirmpublication-dialog">
|
||||
{% if event.publication_confirmed %}
|
||||
{% if 'publishing' in event.get_status_codes or 'published' in event.get_status_codes %}
|
||||
{% bootstrap_icon 'check' %} 
|
||||
{% else %}
|
||||
{% bootstrap_icon 'unchecked' %} 
|
||||
@@ -112,55 +164,22 @@
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-5">
|
||||
<h5>Status-Log</h5>
|
||||
{% for flag in event.flags.all %}
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<span class="text-danger">{% bootstrap_icon 'check' %}</span>
|
||||
 <strong>{% trans 'Eingereicht' %}:</strong>
|
||||
<div class="col-sm-5">
|
||||
<span class="text-{{ flag.status.bootstrap_context|default:'default' }}">{% bootstrap_icon 'check' %}</span>
|
||||
<strong>{{ flag.status.label }}:</strong>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
{{ event.created_at|date:'l, d. F Y, H:i' }} {% trans 'Uhr' %}<br />
|
||||
{% trans 'von' %} {{ event.owner.get_full_name }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{% if event.accepted %}
|
||||
<span class="text-warning">{% bootstrap_icon 'check' %}</span>
|
||||
{% else %}
|
||||
{% bootstrap_icon 'unchecked' %}
|
||||
{% endif %}
|
||||
 <strong>{% trans 'Freigegeben' %}:</strong>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
{% if event.accepted %}
|
||||
{{ event.accepted_at|date:'l, d. F Y, H:i' }} {% trans 'Uhr' %}<br />
|
||||
{% trans 'von' %} {{ event.accepted_by.get_full_name }}
|
||||
{% else %}
|
||||
<br /><br />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{% if event.publication_confirmed %}
|
||||
<span class="text-success">{% bootstrap_icon 'check' %}</span>
|
||||
{% else %}
|
||||
{% bootstrap_icon 'unchecked' %}
|
||||
{% endif %}
|
||||
 <strong>{% trans 'Veröffentlicht' %}:</strong>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
{% if event.publication_confirmed %}
|
||||
{{ event.publication_confirmed_at|date:'l, d. F Y, H:i' }} {% trans 'Uhr' %}<br />
|
||||
{% trans 'von' %} {{ event.publication_confirmed_by.get_full_name }}
|
||||
{% else %}
|
||||
<br /><br />
|
||||
{% endif %}
|
||||
<div class="col-sm-7">
|
||||
{{ flag.timestamp|date:'l, d. F Y, H:i' }} {% trans 'Uhr' %}<br />
|
||||
{% trans 'von' %} {{ flag.user.get_full_name|default:flag.user }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<strong>{% trans 'Veröffentlichen' %}</strong><br />
|
||||
<h5>{% trans 'Veröffentlichen' %}</h5>
|
||||
{% if event.planned_publication_date %}
|
||||
{{ event.planned_publication_date|date:'l, d. F Y' }}
|
||||
{% else %}
|
||||
@@ -169,7 +188,7 @@
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
{% if event.internal_note %}
|
||||
<strong>{% trans 'Bearbeitungshinweis' %}</strong>
|
||||
<h5>{% trans 'Bearbeitungshinweis' %}</h5>
|
||||
<div class="well well-sm"><small>{{ event.internal_note|linebreaksbr }}</small></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -64,18 +64,9 @@
|
||||
{{ event.get_numeric_date }}
|
||||
</td>
|
||||
<td>
|
||||
{% if event.get_status == 'expired' %}
|
||||
<span class="label label-info">{% trans 'Ausgelaufen' %}</span>
|
||||
{% elif event.get_status == 'published' %}
|
||||
<span class="label label-success">{% trans 'Veröffentlicht' %}</span>
|
||||
{% elif event.get_status == 'publishing' %}
|
||||
<span class="label label-warning">{% trans 'Veröffentlichung' %}: {{ event.planned_publication_date|date:'d.m.Y' }}</span>
|
||||
{% elif event.get_status == 'accepted' %}
|
||||
<span class="label label-warning">{% trans 'Freigegeben' %}</span>
|
||||
{% elif event.get_status == 'submitted' %}
|
||||
<span class="label label-danger">{% trans 'Eingereicht' %}</span>
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans 'Kaputt' %} ({{ event.get_status }})</span>
|
||||
{{ event.get_status.get_bootstrap_label|safe }}
|
||||
{% if event.get_status.code == 'publishing' %}
|
||||
<span class="label label-{{ event.get_status.bootstrap_context|default:'default' }}">{{ event.planned_publication_date|date:'d.m.Y' }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -21,18 +21,18 @@
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% if event.get_status == 'expired' %}
|
||||
{% if 'expired' in event.get_status_codes %}
|
||||
<div class="alert alert-info alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
{% trans 'Diese Veranstaltung ist bereits ausgelaufen.' %}
|
||||
</div>
|
||||
{% elif event.get_status == 'published' or event.get_status == 'publishing' %}
|
||||
{% elif 'publishing' in event.get_status_codes or 'published' in event.get_status_codes %}
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<strong>{% trans 'Achtung!' %}</strong> {% trans 'Diese Veranstaltung wird/wurde bereits veröffentlicht.' %}
|
||||
{% trans 'Änderungen müssen mit allen Beteiligten abgesprochen werden.' %}
|
||||
</div>
|
||||
{% elif event.get_status == 'accepted' %}
|
||||
{% elif 'accepted' in event.get_status_codes %}
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<strong>{% trans 'Achtung!' %}</strong> {% trans 'Diese Veranstaltung wurde bereits freigegeben.' %}
|
||||
|
||||
Reference in New Issue
Block a user