From: Guillaume Pellerin Date: Fri, 28 Nov 2014 15:47:17 +0000 (+0100) Subject: delete revision when deleting resources (fix #172) X-Git-Tag: 1.5.0rc2~8 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=4596e9280e457b2d8a5dcc77a1768d57134366ad;p=telemeta.git delete revision when deleting resources (fix #172) --- 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+'/')