Przeglądaj źródła

10408 add error message if already exists

Arthur 3 lat temu
rodzic
commit
695ad47fe9
1 zmienionych plików z 6 dodań i 2 usunięć
  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)