diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-01-14 15:57:03 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-01-14 15:57:03 -0300 |
commit | 4cda312624af2d4d8465a64299aa6ba3a852c973 (patch) | |
tree | 584f5b4ecbd90fcd109f9a358b6072bbdb7b9417 /askbot/views/users.py | |
parent | fc29ed609c9ee996673f8f0f92e9cc35a18e317f (diff) | |
download | askbot-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.py | 23 |
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( |