diff --git a/pandora/annotation/models.py b/pandora/annotation/models.py index fc0e5d98e..cb2bdb4b0 100644 --- a/pandora/annotation/models.py +++ b/pandora/annotation/models.py @@ -163,6 +163,14 @@ class Annotation(models.Model): #update sort/find tables async update_item.delay(self.id) + def delete(self, *args, **kwargs): + super(Annotation, self).delete(*args, **kwargs) + if self.clip.annotations.count() == 0: + self.clip.delete() + self.item.update_find() + self.item.update_sort() + self.item.update_facets() + def cleanup_undefined_relations(self): layer = self.get_layer() if layer.get('type') == 'place': diff --git a/pandora/annotation/views.py b/pandora/annotation/views.py index b2219a1b0..a59d800e1 100644 --- a/pandora/annotation/views.py +++ b/pandora/annotation/views.py @@ -166,8 +166,6 @@ def removeAnnotation(request): if a.editable(request.user): a.log() a.delete() - if a.clip.annotations.count() == 0: - a.clip.delete() else: response = json_response(status=403, text='permission denied') return render_to_json_response(response)