diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-01-16 21:23:04 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-01-16 21:23:04 -0300 |
commit | 488c52b1bd8711a07e9f6dce03fa86228bca1c31 (patch) | |
tree | 0b5224934d595589417114eaaa4813405ceff389 /askbot/views | |
parent | 4cda312624af2d4d8465a64299aa6ba3a852c973 (diff) | |
download | askbot-488c52b1bd8711a07e9f6dce03fa86228bca1c31.tar.gz askbot-488c52b1bd8711a07e9f6dce03fa86228bca1c31.tar.bz2 askbot-488c52b1bd8711a07e9f6dce03fa86228bca1c31.zip |
allowed change of language upon editing the question
Diffstat (limited to 'askbot/views')
-rw-r--r-- | askbot/views/readers.py | 11 | ||||
-rw-r--r-- | askbot/views/writers.py | 17 |
2 files changed, 21 insertions, 7 deletions
diff --git a/askbot/views/readers.py b/askbot/views/readers.py index d2c9df49..7fbcf6d0 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -26,7 +26,7 @@ from django.core.urlresolvers import reverse from django.core import exceptions as django_exceptions from django.contrib.humanize.templatetags import humanize from django.http import QueryDict -from django.conf import settings +from django.conf import settings as django_settings import askbot from askbot import exceptions @@ -141,7 +141,10 @@ def questions(request, **kwargs): # We have tags in session - pass it to the # QueryDict but as a list - we want tags+ rss_query_dict.setlist("tags", search_state.tags) - context_feed_url = '/%sfeeds/rss/?%s' % (settings.ASKBOT_URL, rss_query_dict.urlencode()) # Format the url with the QueryDict + context_feed_url = '/%sfeeds/rss/?%s' % ( + django_settings.ASKBOT_URL, + rss_query_dict.urlencode() + ) # Format the url with the QueryDict reset_method_count = len(filter(None, [search_state.query, search_state.tags, meta_data.get('author_name', None)])) @@ -448,6 +451,10 @@ def question(request, id):#refactor - long subroutine. display question body, an thread = question_post.thread + if getattr(django_settings, 'ASKBOT_MULTILINGUAL', False): + if thread.language_code != translation.get_language(): + return HttpResponseRedirect(thread.get_absolute_url()) + logging.debug('answer_sort_method=' + unicode(answer_sort_method)) #load answers and post id's->athor_id mapping diff --git a/askbot/views/writers.py b/askbot/views/writers.py index 956145fa..17f806df 100644 --- a/askbot/views/writers.py +++ b/askbot/views/writers.py @@ -20,6 +20,7 @@ from django.contrib.auth.models import User from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden, Http404 from django.utils import simplejson from django.utils.html import strip_tags, escape +from django.utils.translation import get_language from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy from django.core.urlresolvers import reverse @@ -265,7 +266,10 @@ def ask(request):#view used to ask a new question return HttpResponseRedirect(url_utils.get_login_url()) if request.method == 'GET': - form = forms.AskForm(user=request.user) + form = forms.AskForm( + user=request.user, + initial={'language': get_language()} + ) draft_title = '' draft_text = '' @@ -409,10 +413,12 @@ def edit_question(request, id): revision_form = forms.RevisionForm(question, revision) if form.is_valid(): if form.has_changed(): - if form.cleaned_data['reveal_identity']: question.thread.remove_author_anonymity() + if 'language' in form.cleaned_data: + question.thread.language_code = form.cleaned_data['language'] + is_anon_edit = form.cleaned_data['stay_anonymous'] is_wiki = form.cleaned_data.get('wiki', question.wiki) post_privately = form.cleaned_data['post_privately'] @@ -420,9 +426,9 @@ def edit_question(request, id): user = form.get_post_user(request.user) user.edit_question( - question = question, - title = form.cleaned_data['title'], - body_text = form.cleaned_data['text'], + question=question, + title=form.cleaned_data['title'], + body_text=form.cleaned_data['text'], revision_comment = form.cleaned_data['summary'], tags = form.cleaned_data['tags'], wiki = is_wiki, @@ -434,6 +440,7 @@ def edit_question(request, id): #request type was "GET" revision_form = forms.RevisionForm(question, revision) initial = { + 'language': question.thread.language_code, 'post_privately': question.is_private(), 'wiki': question.wiki } |