Skip to content

Commit ba09306

Browse files
sentry[bot]nijel
authored andcommitted
fix(api): return ValidationError on duplicate unit addition
1 parent 7e5b583 commit ba09306

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

weblate/api/views.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from django.contrib.messages import get_messages
1616
from django.core.cache import cache
1717
from django.core.exceptions import PermissionDenied
18-
from django.db import transaction
18+
from django.db import IntegrityError, transaction
1919
from django.db.models import Q
2020
from django.forms.utils import from_current_timezone
2121
from django.http import FileResponse, Http404
@@ -2021,7 +2021,12 @@ def units(self, request: Request, **kwargs):
20212021
)
20222022
serializer.is_valid(raise_exception=True)
20232023

2024-
unit = obj.add_unit(request, **serializer.as_kwargs())
2024+
try:
2025+
unit = obj.add_unit(request, **serializer.as_kwargs())
2026+
except IntegrityError as error:
2027+
raise ValidationError(
2028+
gettext("This string seems to already exist.")
2029+
) from error
20252030
outserializer = UnitSerializer(unit, context={"request": request})
20262031
return Response(outserializer.data, status=HTTP_200_OK)
20272032

0 commit comments

Comments
 (0)