Explorar el Código

10408 add error message if already exists

Arthur hace 4 años
padre
commit
695ad47fe9
Se han modificado 1 ficheros con 6 adiciones y 2 borrados
  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)