|
@@ -122,16 +122,18 @@ class BulkDisconnectView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View)
|
|
|
if form.is_valid():
|
|
if form.is_valid():
|
|
|
|
|
|
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
|
-
|
|
|
|
|
count = 0
|
|
count = 0
|
|
|
|
|
+ cable_ids = set()
|
|
|
for obj in self.queryset.filter(pk__in=form.cleaned_data['pk']):
|
|
for obj in self.queryset.filter(pk__in=form.cleaned_data['pk']):
|
|
|
- if obj.cable is None:
|
|
|
|
|
- continue
|
|
|
|
|
- obj.cable.delete()
|
|
|
|
|
- count += 1
|
|
|
|
|
-
|
|
|
|
|
- messages.success(request, "Disconnected {} {}".format(
|
|
|
|
|
- count, self.queryset.model._meta.verbose_name_plural
|
|
|
|
|
|
|
+ if obj.cable:
|
|
|
|
|
+ cable_ids.add(obj.cable.pk)
|
|
|
|
|
+ count += 1
|
|
|
|
|
+ for cable in Cable.objects.filter(pk__in=cable_ids):
|
|
|
|
|
+ cable.delete()
|
|
|
|
|
+
|
|
|
|
|
+ messages.success(request, _("Disconnected {count} {type}").format(
|
|
|
|
|
+ count=count,
|
|
|
|
|
+ type=self.queryset.model._meta.verbose_name_plural
|
|
|
))
|
|
))
|
|
|
|
|
|
|
|
return redirect(return_url)
|
|
return redirect(return_url)
|