From 1e35578fa45f651416c2e29e15ec3cf73d09f06c Mon Sep 17 00:00:00 2001 From: Dudás Ádám <dudas.adam@cloud.bme.hu> Date: Mon, 28 Apr 2014 09:51:19 +0200 Subject: [PATCH] dashboard, vm: implement remove_disk on InstanceTemplate and use it instead of dispatching on appliance type --- circle/dashboard/views.py | 5 +---- circle/vm/models/instance.py | 3 +++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py index 5ceb4cb..598cd4c 100644 --- a/circle/dashboard/views.py +++ b/circle/dashboard/views.py @@ -2160,10 +2160,7 @@ class DiskRemoveView(DeleteView): disk = self.get_object() app = disk.get_appliance() - if isinstance(app, Instance): - app.remove_disk(disk=disk, user=request.user) - else: # isinstance(app, InstanceTemplate) - app.disks.remove(disk) + app.remove_disk(disk=disk, user=request.user) disk.destroy() next_url = request.POST.get("next") diff --git a/circle/vm/models/instance.py b/circle/vm/models/instance.py index bf13fc0..4a5968a 100644 --- a/circle/vm/models/instance.py +++ b/circle/vm/models/instance.py @@ -165,6 +165,9 @@ class InstanceTemplate(AclBase, VirtualMachineDescModel, TimeStampedModel): def get_absolute_url(self): return ('dashboard.views.template-detail', None, {'pk': self.pk}) + def remove_disk(self, disk, **kwargs): + self.disks.remove(disk) + class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin, TimeStampedModel): -- libgit2 0.26.0