Просмотр исходного кода

Merge pull request #10410 from netbox-community/10408-add-contact

10408 add error message if already exists
Jeremy Stretch 3 лет назад
Родитель
Сommit
abcc10e938
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      netbox/netbox/views/generic/object_views.py

+ 6 - 2
netbox/netbox/views/generic/object_views.py

@@ -3,7 +3,7 @@ from copy import deepcopy
 
 
 from django.contrib import messages
 from django.contrib import messages
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.exceptions import ObjectDoesNotExist
-from django.db import transaction
+from django.db import transaction, IntegrityError
 from django.db.models import ProtectedError
 from django.db.models import ProtectedError
 from django.forms.widgets import HiddenInput
 from django.forms.widgets import HiddenInput
 from django.shortcuts import redirect, render
 from django.shortcuts import redirect, render
@@ -421,7 +421,11 @@ class ObjectEditView(GetReturnURLMixin, BaseObjectView):
 
 
                 return redirect(return_url)
                 return redirect(return_url)
 
 
-            except (AbortRequest, PermissionsViolation) as e:
+            except IntegrityError:
+                form.add_error(None, f"{obj} already exists")
+                clear_webhooks.send(sender=self)
+
+            except (IntegrityError, AbortRequest, PermissionsViolation) as e:
                 logger.debug(e.message)
                 logger.debug(e.message)
                 form.add_error(None, e.message)
                 form.add_error(None, e.message)
                 clear_webhooks.send(sender=self)
                 clear_webhooks.send(sender=self)