diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-03-11 13:44:46 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-03-11 13:44:46 -0400 |
commit | f35224b630e096f1c6811548dcaaec2c9f368b06 (patch) | |
tree | 7e7a112ee38c889200a66d3651eb7ad3206e6838 /askbot/models | |
parent | bb2a7cfe4046ec67f232e079820939ff01e9578b (diff) | |
download | askbot-f35224b630e096f1c6811548dcaaec2c9f368b06.tar.gz askbot-f35224b630e096f1c6811548dcaaec2c9f368b06.tar.bz2 askbot-f35224b630e096f1c6811548dcaaec2c9f368b06.zip |
allowed to created tags upon subscribing to them
Diffstat (limited to 'askbot/models')
-rw-r--r-- | askbot/models/__init__.py | 11 | ||||
-rw-r--r-- | askbot/models/tag.py | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 8dc81e47..49ce7fae 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -1370,6 +1370,17 @@ def user_mark_tags( if tagnames is None: tagnames = list() + #figure out which tags don't yet exist + existing_tagnames = Tag.objects.filter( + name__in=tagnames + ).values_list( + 'name', flat=True + ) + non_existing_tagnames = set(tagnames) - set(existing_tagnames) + #create those tags, and if tags are moderated make them suggested + if (len(non_existing_tagnames) > 0): + Tag.objects.create_in_bulk(tag_names=tagnames, user=self) + #below we update normal tag selections marked_ts = MarkedTag.objects.filter( user = self, diff --git a/askbot/models/tag.py b/askbot/models/tag.py index 7b51e6db..455995e0 100644 --- a/askbot/models/tag.py +++ b/askbot/models/tag.py @@ -177,7 +177,7 @@ class TagManager(BaseQuerySetManager): """temporary function that filters out the group tags""" return self.all() - def create(self, name = None, created_by = None, **kwargs): + def create(self, name=None, created_by=None, **kwargs): """Creates a new tag""" if created_by.can_create_tags() or is_preapproved_tag_name(name): status = Tag.STATUS_ACCEPTED |