]> git.parisson.com Git - telemeta.git/commitdiff
delete revision when deleting resources (fix #172)
authorGuillaume Pellerin <yomguy@parisson.com>
Fri, 28 Nov 2014 15:47:17 +0000 (16:47 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Fri, 28 Nov 2014 15:47:17 +0000 (16:47 +0100)
telemeta/views/collection.py
telemeta/views/item.py
telemeta/views/resource.py

index 3a54ed3705ccda40831725e346c5b26f8bba528d..06bd2c744e9538cf63f0b1c45531604e229db42d 100644 (file)
@@ -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')
 
index b8616060043c68fa7782583c1c93eea8bb08c178..6c5d69db1e20272b0acc333e581c4a4c075a1dd4 100644 (file)
@@ -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)
index 7598cf3db8a2566770d7f4e2b9e08d6ee56febf6..a4ab498ec9f4c0c8ba46d6510b860ff10319b2e1 100644 (file)
@@ -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+'/')