summaryrefslogtreecommitdiffstats
path: root/askbot/views
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-16 21:23:04 -0300
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-16 21:23:04 -0300
commit488c52b1bd8711a07e9f6dce03fa86228bca1c31 (patch)
tree0b5224934d595589417114eaaa4813405ceff389 /askbot/views
parent4cda312624af2d4d8465a64299aa6ba3a852c973 (diff)
downloadaskbot-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.py11
-rw-r--r--askbot/views/writers.py17
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
}