X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/c502a60cd16d8ae64710c9b1c22b2fadf7ed3e51..2dd371482b63066c3c8c828977efe2014c5dc13e:/forum/models/node.py diff --git a/forum/models/node.py b/forum/models/node.py index a71ae47..bf82708 100644 --- a/forum/models/node.py +++ b/forum/models/node.py @@ -382,10 +382,10 @@ class Node(BaseModel, NodeContent): return None else: if self._original_state['tagnames']: - old_tags = set(name for name in self._original_state['tagnames'].split(u' ')) + old_tags = set(self._original_state['tagnames'].split()) else: old_tags = set() - new_tags = set(name for name in self.tagnames.split(u' ') if name) + new_tags = set(self.tagnames.split()) return dict( current=list(new_tags), @@ -437,6 +437,10 @@ class Node(BaseModel, NodeContent): tag.save() def delete(self, *args, **kwargs): + for tag in self.tags.all(): + tag.add_to_usage_count(-1) + tag.save() + self.active_revision = None self.save() @@ -463,7 +467,8 @@ class Node(BaseModel, NodeContent): tags_changed = self._process_changes_in_tags() super(Node, self).save(*args, **kwargs) - if tags_changed: self.tags = list(Tag.objects.filter(name__in=self.tagname_list())) + if tags_changed: + self.tags = list(Tag.objects.filter(name__in=self.tagname_list())) class Meta: app_label = 'forum'