This commit is contained in:
2020-12-18 15:37:12 +01:00
parent 1f674125ec
commit 6d5c77ee71

View File

@@ -688,6 +688,31 @@ class EventCreateView(EventPermissionMixin, generic.FormView):
return self.render_to_response(self.get_context_data(form=next_form, event=event)) return self.render_to_response(self.get_context_data(form=next_form, event=event))
else: else:
event.editor = self.request.user 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() event.save()
if 'submit' in form.data: if 'submit' in form.data:
event.workflow.update_status('submitted', event.owner) event.workflow.update_status('submitted', event.owner)