From 4596e9280e457b2d8a5dcc77a1768d57134366ad Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 28 Nov 2014 16:47:17 +0100 Subject: [PATCH] delete revision when deleting resources (fix #172) --- telemeta/views/collection.py | 3 +++ telemeta/views/item.py | 3 +++ telemeta/views/resource.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/telemeta/views/collection.py b/telemeta/views/collection.py index 3a54ed37..06bd2c74 100644 --- a/telemeta/views/collection.py +++ b/telemeta/views/collection.py @@ -135,6 +135,9 @@ class CollectionView(object): def collection_delete(self, request, public_id): """Delete a given collection""" collection = MediaCollection.objects.get(public_id=public_id) + revisions = Revision.objects.filter(element_type='collection', element_id=collection.id) + for revision in revisions: + revision.delete() collection.delete() return redirect('telemeta-collections') diff --git a/telemeta/views/item.py b/telemeta/views/item.py index b8616060..6c5d69db 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -352,6 +352,9 @@ class ItemView(ItemBaseMixin): def item_delete(self, request, public_id): """Delete a given item""" item = MediaItem.objects.get(public_id=public_id) + revisions = Revision.objects.filter(element_type='item', element_id=item.id) + for revision in revisions: + revision.delete() collection = item.collection item.delete() return redirect('telemeta-collection-detail', collection.code) diff --git a/telemeta/views/resource.py b/telemeta/views/resource.py index 7598cf3d..a4ab498e 100644 --- a/telemeta/views/resource.py +++ b/telemeta/views/resource.py @@ -147,6 +147,9 @@ class ResourceView(object): def delete(self, request, type, public_id): self.setup(type) resource = self.model.objects.get(code=public_id) + revisions = Revision.objects.filter(element_type='resource', element_id=resource.id) + for revision in revisions: + revision.delete() resource.delete() return HttpResponseRedirect('/archives/'+self.type+'/') -- 2.39.5