summaryrefslogtreecommitdiffstats
path: root/askbot/views/users.py
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-14 15:57:03 -0300
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-14 15:57:03 -0300
commit4cda312624af2d4d8465a64299aa6ba3a852c973 (patch)
tree584f5b4ecbd90fcd109f9a358b6072bbdb7b9417 /askbot/views/users.py
parentfc29ed609c9ee996673f8f0f92e9cc35a18e317f (diff)
downloadaskbot-4cda312624af2d4d8465a64299aa6ba3a852c973.tar.gz
askbot-4cda312624af2d4d8465a64299aa6ba3a852c973.tar.bz2
askbot-4cda312624af2d4d8465a64299aa6ba3a852c973.zip
added language selector to the user profiles and to the ask question for
Diffstat (limited to 'askbot/views/users.py')
-rw-r--r--askbot/views/users.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/askbot/views/users.py b/askbot/views/users.py
index eac79fe0..0305eb48 100644
--- a/askbot/views/users.py
+++ b/askbot/views/users.py
@@ -17,6 +17,7 @@ import urllib
from django.db.models import Count
from django.conf import settings as django_settings
from django.contrib.auth.decorators import login_required
+from django.core import exceptions as django_exceptions
from django.core.paginator import Paginator, EmptyPage, InvalidPage
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
@@ -955,6 +956,27 @@ def user_favorites(request, user, context):
return render(request, 'user_profile/user_favorites.html', context)
+@csrf.csrf_protect
+def user_select_languages(request, id=None, slug=None):
+ if request.method != 'POST':
+ raise django_exceptions.PermissionDenied
+
+ user = get_object_or_404(models.User, id=id)
+
+ if not(request.user.id == user.id or request.user.is_administrator()):
+ raise django_exceptions.PermissionDenied
+
+ languages = request.POST.getlist('languages')
+ user.languages = ' '.join(languages)
+ user.save()
+
+ redirect_url = reverse(
+ 'user_subscriptions',
+ kwargs={'id': user.id, 'slug': slugify(user.username)}
+ )
+ return HttpResponseRedirect(redirect_url)
+
+
@owner_or_moderator_required
@csrf.csrf_protect
def user_email_subscriptions(request, user, context):
@@ -1002,6 +1024,7 @@ def user_email_subscriptions(request, user, context):
'email_feeds_form': email_feeds_form,
'tag_filter_selection_form': tag_filter_form,
'action_status': action_status,
+ 'user_languages': user.languages.split()
}
context.update(data)
return render(