|
|
@@ -17,6 +17,7 @@ from django.views.generic import View
|
|
|
from django_tables2.export import TableExport
|
|
|
|
|
|
from extras.models import CustomField, ExportTemplate
|
|
|
+from extras.signals import clear_webhooks
|
|
|
from utilities.error_handlers import handle_protectederror
|
|
|
from utilities.exceptions import AbortTransaction, PermissionsViolation
|
|
|
from utilities.forms import (
|
|
|
@@ -325,6 +326,7 @@ class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
|
|
msg = "Object save failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
else:
|
|
|
logger.debug("Form validation failed")
|
|
|
@@ -603,12 +605,13 @@ class ObjectImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
|
|
raise ObjectDoesNotExist
|
|
|
|
|
|
except AbortTransaction:
|
|
|
- pass
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
except PermissionsViolation:
|
|
|
msg = "Object creation failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
if not model_form.errors:
|
|
|
logger.info(f"Import object {obj} (PK: {obj.pk})")
|
|
|
@@ -751,12 +754,13 @@ class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
|
|
})
|
|
|
|
|
|
except ValidationError:
|
|
|
- pass
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
except PermissionsViolation:
|
|
|
msg = "Object import failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
else:
|
|
|
logger.debug("Form validation failed")
|
|
|
@@ -879,11 +883,13 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
|
|
|
|
|
except ValidationError as e:
|
|
|
messages.error(self.request, "{} failed validation: {}".format(obj, e))
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
except PermissionsViolation:
|
|
|
msg = "Object update failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
else:
|
|
|
logger.debug("Form validation failed")
|
|
|
@@ -987,6 +993,7 @@ class BulkRenameView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View):
|
|
|
msg = "Object update failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
else:
|
|
|
form = self.form(initial={'pk': request.POST.getlist('pk')})
|
|
|
@@ -1183,6 +1190,7 @@ class ComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View
|
|
|
msg = "Component creation failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
return render(request, self.template_name, {
|
|
|
'component_type': self.queryset.model._meta.verbose_name,
|
|
|
@@ -1264,12 +1272,13 @@ class BulkComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin,
|
|
|
raise PermissionsViolation
|
|
|
|
|
|
except IntegrityError:
|
|
|
- pass
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
except PermissionsViolation:
|
|
|
msg = "Component creation failed due to object-level permissions violation"
|
|
|
logger.debug(msg)
|
|
|
form.add_error(None, msg)
|
|
|
+ clear_webhooks.send(sender=self)
|
|
|
|
|
|
if not form.errors:
|
|
|
msg = "Added {} {} to {} {}.".format(
|