FIX #4 #33

Merged
heinzel merged 2 commits from heinzel into master 2020-12-18 15:40:12 +01:00

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)