diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-05-12 21:44:11 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-05-12 21:44:11 -0300 |
commit | f8a4502cccb42f13cb1576e917c0aa418a42e904 (patch) | |
tree | 8b5b3ce5600e9eb03c78a55023c668a98c75cf8d | |
parent | 7bdd77c6c63164ec8773e883bff0df5ee1e1bb54 (diff) | |
download | askbot-f8a4502cccb42f13cb1576e917c0aa418a42e904.tar.gz askbot-f8a4502cccb42f13cb1576e917c0aa418a42e904.tar.bz2 askbot-f8a4502cccb42f13cb1576e917c0aa418a42e904.zip |
fixed a bug when question is posted with manually selected language
-rw-r--r-- | askbot/models/question.py | 7 | ||||
-rw-r--r-- | askbot/models/tag.py | 8 | ||||
-rw-r--r-- | askbot/models/user.py | 12 | ||||
-rw-r--r-- | askbot/views/commands.py | 13 |
4 files changed, 28 insertions, 12 deletions
diff --git a/askbot/models/question.py b/askbot/models/question.py index a7871a2d..c2df8b60 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -1310,7 +1310,7 @@ class Thread(models.Model): def update_tags( - self, tagnames = None, user = None, timestamp = None + self, tagnames=None, user=None, timestamp=None ): """ Updates Tag associations for a thread to match the given @@ -1365,7 +1365,10 @@ class Thread(models.Model): if added_tagnames: #find reused tags - reused_tags, new_tagnames = get_tags_by_names(added_tagnames) + reused_tags, new_tagnames = get_tags_by_names( + added_tagnames, + language_code=self.language_code + ) reused_tags.mark_undeleted() added_tags = list(reused_tags) diff --git a/askbot/models/tag.py b/askbot/models/tag.py index 65678d29..b78f9ba1 100644 --- a/askbot/models/tag.py +++ b/askbot/models/tag.py @@ -15,13 +15,13 @@ def delete_tags(tags): tag_ids = [tag.id for tag in tags] Tag.objects.filter(id__in=tag_ids).delete() -def get_tags_by_names(tag_names): +def get_tags_by_names(tag_names, language_code=None): """returns query set of tags and a set of tag names that were not found """ tags = Tag.objects.filter( name__in=tag_names, - language_code=get_language() + language_code=language_code ) #if there are brand new tags, create them #and finalize the added tag list @@ -235,7 +235,9 @@ class TagManager(BaseQuerySetManager): #load suggested tags pre_suggested_tags = self.filter( - name__in = tag_names, status = Tag.STATUS_SUGGESTED + name__in=tag_names, + status=Tag.STATUS_SUGGESTED, + language_code=language_code ) #deal with suggested tags diff --git a/askbot/models/user.py b/askbot/models/user.py index bc8ec563..5501f30f 100644 --- a/askbot/models/user.py +++ b/askbot/models/user.py @@ -635,9 +635,13 @@ class Group(AuthGroup): class BulkTagSubscriptionManager(BaseQuerySetManager): def create( - self, tag_names=None, - user_list=None, group_list=None, - tag_author=None, **kwargs + self, + tag_names=None, + user_list=None, + group_list=None, + tag_author=None, + language_code=None, + **kwargs ): tag_names = tag_names or [] @@ -649,7 +653,7 @@ class BulkTagSubscriptionManager(BaseQuerySetManager): if tag_names: from askbot.models.tag import get_tags_by_names - tags, new_tag_names = get_tags_by_names(tag_names) + tags, new_tag_names = get_tags_by_names(tag_names, language_code) if new_tag_names: assert(tag_author) diff --git a/askbot/views/commands.py b/askbot/views/commands.py index 947c08b9..52918ce8 100644 --- a/askbot/views/commands.py +++ b/askbot/views/commands.py @@ -740,12 +740,14 @@ def create_bulk_tag_subscription(request): tag_names = form.cleaned_data['tags'].split(' ') user_list = form.cleaned_data.get('users') group_list = form.cleaned_data.get('groups') + lang = translation.get_language() bulk_subscription = models.BulkTagSubscription.objects.create( tag_names=tag_names, tag_author=request.user, user_list=user_list, - group_list=group_list + group_list=group_list, + language_code=lang ) return HttpResponseRedirect(reverse('list_bulk_tag_subscription')) @@ -775,14 +777,19 @@ def edit_bulk_tag_subscription(request, pk): group_ids = [user.id for user in form.cleaned_data['groups']] bulk_subscription.groups.add(*group_ids) - tags, new_tag_names = get_tags_by_names(form.cleaned_data['tags'].split(' ')) + lang = translation.get_language() + + tags, new_tag_names = get_tags_by_names( + form.cleaned_data['tags'].split(' '), + language_code=lang + ) tag_id_list = [tag.id for tag in tags] for new_tag_name in new_tag_names: new_tag = models.Tag.objects.create( name=new_tag_name, created_by=request.user, - language_code=translation.get_language() + language_code=lang ) tag_id_list.append(new_tag.id) |