From 6d5c77ee71fd91669840a41b13ae30378279994d Mon Sep 17 00:00:00 2001 From: heinzel Date: Fri, 18 Dec 2020 15:37:12 +0100 Subject: [PATCH] FIX #4 --- dav_events/views/events.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dav_events/views/events.py b/dav_events/views/events.py index ee68873..7c9477d 100644 --- a/dav_events/views/events.py +++ b/dav_events/views/events.py @@ -688,6 +688,31 @@ class EventCreateView(EventPermissionMixin, generic.FormView): return self.render_to_response(self.get_context_data(form=next_form, event=event)) else: event.editor = self.request.user + + # Check for double submission (seems to happens accidentally if smartphone user reload the submit page) + possible_doublets = models.Event.objects.filter(owner=event.editor, + title=event.title, + first_day=event.first_day) + if possible_doublets.exists(): + accident_period = datetime.datetime.now() - datetime.timedelta(hours=24) + possible_doublets = possible_doublets.filter(created_at__gt=accident_period) + if possible_doublets.exists(): + doublet = possible_doublets.first() + doublet_created_at = doublet.created_at.strftime('%d.%m.%Y %H:%M:%S') + error_msg = _(u'Du hast bereits eine Veranstaltung' + u' mit dem Titel "%(title)s"' + u' für das Datum %(day)s angelegt' + u' (am %(created_at)s).') % {'title': event.title, + 'day': event.first_day, + 'created_at': doublet_created_at} + warn_msg = _(u'Deine eingegebenen Daten sind noch da,' + u' wenn du jetzt auf "Neue Veranstaltung anlegen" klickst.' + u' Du musst aber entweder den Titel oder das Startdatum ändern,' + u' um die Veranstaltung anlegen zu können.') + messages.error(self.request, error_msg) + messages.warning(self.request, warn_msg) + return HttpResponseRedirect(reverse('dav_events:list')) + event.save() if 'submit' in form.data: event.workflow.update_status('submitted', event.owner) -- 2.52.0