stages/user_write: handle integrity error
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
6db2bf2a21
commit
6d3e067a2b
|
@ -2,6 +2,7 @@
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth import update_session_auth_hash
|
from django.contrib.auth import update_session_auth_hash
|
||||||
from django.contrib.auth.backends import ModelBackend
|
from django.contrib.auth.backends import ModelBackend
|
||||||
|
from django.db.utils import IntegrityError
|
||||||
from django.http import HttpRequest, HttpResponse
|
from django.http import HttpRequest, HttpResponse
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
@ -84,7 +85,11 @@ class UserWriteStageView(StageView):
|
||||||
PLAN_CONTEXT_SOURCES_CONNECTION
|
PLAN_CONTEXT_SOURCES_CONNECTION
|
||||||
]
|
]
|
||||||
user.attributes[USER_ATTRIBUTE_SOURCES].append(connection.source.name)
|
user.attributes[USER_ATTRIBUTE_SOURCES].append(connection.source.name)
|
||||||
|
try:
|
||||||
user.save()
|
user.save()
|
||||||
|
except IntegrityError as exc:
|
||||||
|
LOGGER.warning("Failed to save user", exc=exc)
|
||||||
|
self.executor.stage_invalid()
|
||||||
user_write.send(
|
user_write.send(
|
||||||
sender=self, request=request, user=user, data=data, created=user_created
|
sender=self, request=request, user=user, data=data, created=user_created
|
||||||
)
|
)
|
||||||
|
|
Reference in New Issue