From 269d59f460d17e0b36756846f4ad3e58d3817e9b Mon Sep 17 00:00:00 2001 From: heinzel Date: Thu, 7 Jan 2021 12:52:21 +0100 Subject: [PATCH] FIX #35 and #36: add new event stati canceled and realized --- .../dav_event_office/event_detail.html | 6 ++- dav_events/emails.py | 16 ++++++++ .../migrations/0041_auto_20210107_1220.py | 20 ++++++++++ dav_events/models/eventstatus.py | 6 +++ .../dav_events/emails/event_canceled.txt | 14 +++++++ .../templates/dav_events/event_detail.html | 22 ++++++++++ .../dav_events/event_registrations.html | 6 ++- .../dav_events/event_update_form.html | 12 +++++- dav_events/views/events.py | 30 ++++++++++++-- dav_events/workflow.py | 40 +++++++++++++++++++ 10 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 dav_events/migrations/0041_auto_20210107_1220.py create mode 100644 dav_events/templates/dav_events/emails/event_canceled.txt diff --git a/dav_event_office/templates/dav_event_office/event_detail.html b/dav_event_office/templates/dav_event_office/event_detail.html index ef1402e..8ac5fdc 100644 --- a/dav_event_office/templates/dav_event_office/event_detail.html +++ b/dav_event_office/templates/dav_event_office/event_detail.html @@ -39,8 +39,10 @@
{% if not event.registration_required %} {% trans 'Anmeldung nicht erforderlich' %} - {% elif is_done %} - {% trans 'Veranstaltung beendet' %} + {% elif is_canceled %} + {% trans 'Veranstaltung abgesagt' %} + {% elif is_realized or is_expired %} + {% trans 'Veranstaltung beendet' %} {% elif event.registration_closed %} {% trans 'Anmeldung geschlossen' %} {% elif event.is_deadline_expired %} diff --git a/dav_events/emails.py b/dav_events/emails.py index 79fdce3..0b852af 100644 --- a/dav_events/emails.py +++ b/dav_events/emails.py @@ -115,3 +115,19 @@ class EventRegistrationClosedMail(AbstractEventMail): context = super(EventRegistrationClosedMail, self)._get_context_data(extra_context=extra_context) context['editor'] = self._editor return context + + +class EventCanceledMail(AbstractEventMail): + _subject = u'Veranstaltung abgesagt' + _template_name = 'dav_events/emails/event_canceled.txt' + + def __init__(self, editor=None, *args, **kwargs): + self._editor = editor + super(EventCanceledMail, self).__init__(*args, **kwargs) + + def _get_context_data(self, extra_context=None): + context = super(EventCanceledMail, self)._get_context_data(extra_context=extra_context) + context['editor'] = self._editor + return context + + diff --git a/dav_events/migrations/0041_auto_20210107_1220.py b/dav_events/migrations/0041_auto_20210107_1220.py new file mode 100644 index 0000000..ac5b547 --- /dev/null +++ b/dav_events/migrations/0041_auto_20210107_1220.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2021-01-07 11:20 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dav_events', '0040_auto_20201216_1712'), + ] + + operations = [ + migrations.AlterField( + model_name='eventstatus', + name='bootstrap_context', + field=models.CharField(blank=True, choices=[('default', 'default'), ('primary', 'primary'), ('success', 'success'), ('info', 'info'), ('warning', 'warning'), ('danger', 'danger'), ('black', 'black'), ('dav-purple', 'dav-purple'), ('dav-lime', 'dav-lime'), ('dav-cyan', 'dav-cyan'), ('dav-caramel', 'dav-caramel'), ('dav-mandarin', 'dav-mandarin'), ('dav-brown', 'dav-brown')], max_length=20), + ), + ] diff --git a/dav_events/models/eventstatus.py b/dav_events/models/eventstatus.py index 90b255e..af7f5ce 100644 --- a/dav_events/models/eventstatus.py +++ b/dav_events/models/eventstatus.py @@ -13,6 +13,12 @@ BOOTSTRAP_CONTEXT_CHOICES = ( ('warning', 'warning'), ('danger', 'danger'), ('black', 'black'), + ('dav-purple', 'dav-purple'), + ('dav-lime', 'dav-lime'), + ('dav-cyan', 'dav-cyan'), + ('dav-caramel', 'dav-caramel'), + ('dav-mandarin', 'dav-mandarin'), + ('dav-brown', 'dav-brown'), ) diff --git a/dav_events/templates/dav_events/emails/event_canceled.txt b/dav_events/templates/dav_events/emails/event_canceled.txt new file mode 100644 index 0000000..5e7423e --- /dev/null +++ b/dav_events/templates/dav_events/emails/event_canceled.txt @@ -0,0 +1,14 @@ +Hallo {{ recipient.first_name }}, + +{{ editor.get_full_name|default:'Jemand' }} hat die folgende Veranstaltung abgesagt: + {{ event }} + +Link zur Veranstaltung: + {{ base_url }}{{ event.get_absolute_url }} + +Ausschreibung: +============== +{{ event.render_as_text }}{% if internal_note %} +Bearbeitungshinweis: +==================== +{{ internal_note }}{% endif %} \ No newline at end of file diff --git a/dav_events/templates/dav_events/event_detail.html b/dav_events/templates/dav_events/event_detail.html index 21ef44e..b2865d7 100644 --- a/dav_events/templates/dav_events/event_detail.html +++ b/dav_events/templates/dav_events/event_detail.html @@ -146,6 +146,28 @@ {% trans 'Veröffentlichung bestätigen' %} {% endif %} + {% if has_permission_realize and is_started and not is_canceled %} + + {% if is_realized %} + {% bootstrap_icon 'check' %}  + {% else %} + {% bootstrap_icon 'unchecked' %}  + {% endif %} + {% trans 'Durchgeführt' %} + + {% endif %} + {% if has_permission_cancel and is_submitted and not is_realized %} + + {% if is_canceled %} + {% bootstrap_icon 'check' %}  + {% else %} + {% bootstrap_icon 'unchecked' %}  + {% endif %} + {% trans 'Abgesagt' %} + + {% endif %} {% if has_permission_clear %} diff --git a/dav_events/templates/dav_events/event_registrations.html b/dav_events/templates/dav_events/event_registrations.html index 531557e..9343c60 100644 --- a/dav_events/templates/dav_events/event_registrations.html +++ b/dav_events/templates/dav_events/event_registrations.html @@ -182,8 +182,10 @@ {% trans 'Anmeldestatus' %}: {% if not event.registration_required %} {% trans 'Anmeldung nicht erforderlich' %} - {% elif is_done %} - {% trans 'Veranstaltung beendet' %} + {% elif is_canceled %} + {% trans 'Veranstaltung abgesagt' %} + {% elif is_realized or is_expired %} + {% trans 'Veranstaltung beendet' %} {% elif event.registration_closed %} {% trans 'Anmeldung geschlossen' %} {% elif event.is_deadline_expired %} diff --git a/dav_events/templates/dav_events/event_update_form.html b/dav_events/templates/dav_events/event_update_form.html index 151b60c..7c72115 100644 --- a/dav_events/templates/dav_events/event_update_form.html +++ b/dav_events/templates/dav_events/event_update_form.html @@ -54,7 +54,17 @@
{% csrf_token %} - {% if is_expired %} + {% if is_realized %} + + {% elif is_canceled %} + + {% elif is_expired %}