catch integrityerrors in editor

This commit is contained in:
Laura Klünder 2017-12-22 22:42:00 +01:00
parent dbfe74c1f0
commit c5ac81164b

View file

@ -1,5 +1,6 @@
import typing
from contextlib import suppress
from sqlite3 import IntegrityError
from django.contrib import messages
from django.contrib.auth.views import redirect_to_login
@ -289,8 +290,11 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
with request.changeset.lock_to_edit(request) as changeset:
if changeset.can_edit(request):
try:
obj.save()
except IntegrityError:
messages.error(request, _('Duplicate entry.'))
else:
if form.redirect_slugs is not None:
for slug in form.add_redirect_slugs:
obj.redirects.create(slug=slug)