--- a/src/iconolab/models.py Wed Aug 17 14:38:22 2016 +0200
+++ b/src/iconolab/models.py Wed Aug 17 15:20:08 2016 +0200
@@ -196,6 +196,7 @@
new_annotation.current_revision = initial_revision
new_annotation.stats = new_annotation_stats
new_annotation.save()
+ iconolab_signals.revision_created.send(sender=AnnotationRevision, instance=initial_revision)
return new_annotation
--- a/src/iconolab/signals/handlers.py Wed Aug 17 14:38:22 2016 +0200
+++ b/src/iconolab/signals/handlers.py Wed Aug 17 15:20:08 2016 +0200
@@ -12,22 +12,23 @@
def increment_stats_on_new_revision(sender, instance, **kwargs):
from iconolab.models import AnnotationRevision
if sender == AnnotationRevision:
- # Annotation stats
- annotation = instance.annotation
- annotation.stats.submitted_revisions_count += 1
- if instance.state in [AnnotationRevision.ACCEPTED, AnnotationRevision.STUDIED]:
- annotation.stats.accepted_revisions_count += 1
- if instance.state == AnnotationRevision.ACCEPTED and instance.merge_parent_revision is not None and instance.merge_parent_revision.state == AnnotationRevision.STUDIED:
- annotation.stats.awaiting_revisions_count -= 1
- if instance.state in [AnnotationRevision.AWAITING]:
- annotation.stats.awaiting_revisions_count += 1
- annotation.stats.set_tags_stats()
- annotation.stats.save()
- # Image stats
- image = instance.annotation.image
- image.stats.submitted_revisions_count += 1
- image.stats.set_tags_stats()
- image.stats.save()
+ if instance.parent_revision:
+ # Annotation stats
+ annotation = instance.annotation
+ annotation.stats.submitted_revisions_count += 1
+ if instance.state in [AnnotationRevision.ACCEPTED, AnnotationRevision.STUDIED]:
+ annotation.stats.accepted_revisions_count += 1
+ if instance.state == AnnotationRevision.ACCEPTED and instance.merge_parent_revision is not None and instance.merge_parent_revision.state == AnnotationRevision.STUDIED:
+ annotation.stats.awaiting_revisions_count -= 1
+ if instance.state in [AnnotationRevision.AWAITING]:
+ annotation.stats.awaiting_revisions_count += 1
+ annotation.stats.set_tags_stats()
+ annotation.stats.save()
+ # Image stats
+ image = instance.annotation.image
+ image.stats.submitted_revisions_count += 1
+ image.stats.set_tags_stats()
+ image.stats.save()
def increment_stats_on_new_comment(sender, instance, created, **kwargs):