--- a/src/cm/denorm_engine.py Fri Apr 06 12:35:57 2012 +0200
+++ b/src/cm/denorm_engine.py Fri Apr 13 11:53:42 2012 +0200
@@ -21,11 +21,19 @@
pass
#logging.warning('No text found for text_version: %i' %text_version.id)
+# GIB when deleting last revision, do not delete related text
+def delete_last_version (sender, instance, signal, *args, **kwargs):
+ if instance.id == instance.text.last_text_version_id:
+ previous = instance.get_previous_version()
+ if previous:
+ instance.text.last_text_version_id = previous.id
+ instance.text.save()
def connect_all():
# text updated by text_version
+ signals.pre_delete.connect(delete_last_version, sender=TextVersion)
signals.post_save.connect(update_text_from_last_version, sender=TextVersion)
signals.post_delete.connect(update_text_from_last_version, sender=TextVersion)
-connect_all()
\ No newline at end of file
+connect_all()