equal
deleted
inserted
replaced
19 text.update_denorm_fields() |
19 text.update_denorm_fields() |
20 except Text.DoesNotExist: |
20 except Text.DoesNotExist: |
21 pass |
21 pass |
22 #logging.warning('No text found for text_version: %i' %text_version.id) |
22 #logging.warning('No text found for text_version: %i' %text_version.id) |
23 |
23 |
|
24 # GIB when deleting last revision, do not delete related text |
|
25 def delete_last_version (sender, instance, signal, *args, **kwargs): |
|
26 if instance.id == instance.text.last_text_version_id: |
|
27 previous = instance.get_previous_version() |
|
28 if previous: |
|
29 instance.text.last_text_version_id = previous.id |
|
30 instance.text.save() |
24 |
31 |
25 def connect_all(): |
32 def connect_all(): |
26 # text updated by text_version |
33 # text updated by text_version |
|
34 signals.pre_delete.connect(delete_last_version, sender=TextVersion) |
27 signals.post_save.connect(update_text_from_last_version, sender=TextVersion) |
35 signals.post_save.connect(update_text_from_last_version, sender=TextVersion) |
28 signals.post_delete.connect(update_text_from_last_version, sender=TextVersion) |
36 signals.post_delete.connect(update_text_from_last_version, sender=TextVersion) |
29 |
37 |
30 |
38 |
31 connect_all() |
39 connect_all() |