fixes protect error on storage monitor delete #102

This commit is contained in:
vabene1111
2020-06-10 11:45:52 +02:00
parent bffb260dfa
commit 12036b9972

View File

@@ -1,5 +1,6 @@
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from django.db.models import ProtectedError
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy, reverse from django.urls import reverse_lazy, reverse
@@ -101,6 +102,13 @@ class StorageDelete(GroupRequiredMixin, DeleteView):
context['title'] = _("Storage Backend") context['title'] = _("Storage Backend")
return context return context
def post(self, request, *args, **kwargs):
try:
return self.delete(request, *args, **kwargs)
except ProtectedError:
messages.add_message(request, messages.WARNING, _('Could not delete this storage backend as it is used in at least one monitor.'))
return HttpResponseRedirect(reverse('list_storage'))
class CommentDelete(OwnerRequiredMixin, DeleteView): class CommentDelete(OwnerRequiredMixin, DeleteView):
template_name = "generic/delete_template.html" template_name = "generic/delete_template.html"