diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2013-05-30 10:32:09 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2013-05-30 10:40:48 +0200 |
commit | 3e1a43e100bf464ed31d1447cbbcdf1839a1db2e (patch) | |
tree | f8a994e4ea1352842f5e99b86062484311a03d27 /hyperkitty/views | |
parent | 460cc18cc7803dd857754bff0462092ca1fe7f39 (diff) | |
download | hyperkitty-3e1a43e100bf464ed31d1447cbbcdf1839a1db2e.tar.gz hyperkitty-3e1a43e100bf464ed31d1447cbbcdf1839a1db2e.tar.xz hyperkitty-3e1a43e100bf464ed31d1447cbbcdf1839a1db2e.zip |
Timezones can be specified in the user's profile
Diffstat (limited to 'hyperkitty/views')
-rw-r--r-- | hyperkitty/views/accounts.py | 10 | ||||
-rw-r--r-- | hyperkitty/views/forms.py | 3 |
2 files changed, 9 insertions, 4 deletions
diff --git a/hyperkitty/views/accounts.py b/hyperkitty/views/accounts.py index 43ee5c6..5901a17 100644 --- a/hyperkitty/views/accounts.py +++ b/hyperkitty/views/accounts.py @@ -23,7 +23,7 @@ import logging from django.conf import settings from django.core.urlresolvers import reverse -from django.core.exceptions import SuspiciousOperation +from django.core.exceptions import SuspiciousOperation, ObjectDoesNotExist from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.contrib.auth import authenticate, login, get_backends from django.contrib.auth.decorators import login_required @@ -31,7 +31,7 @@ from django.contrib.auth.models import User from django.contrib.auth.views import login as django_login_view from django.shortcuts import render, redirect from django.utils.http import is_safe_url -from django.utils.timezone import utc +from django.utils.timezone import utc, get_current_timezone #from django.utils.translation import gettext as _ from social_auth.backends import SocialAuthBackend @@ -67,8 +67,7 @@ def user_profile(request, user_email=None): # try to render the user profile. try: user_profile = request.user.get_profile() - # @TODO: Include the error name e.g, ProfileDoesNotExist? - except: + except ObjectDoesNotExist: user_profile = UserProfile.objects.create(user=request.user) if request.method == 'POST': @@ -76,7 +75,9 @@ def user_profile(request, user_email=None): if form.is_valid(): request.user.first_name = form.cleaned_data["first_name"] request.user.last_name = form.cleaned_data["last_name"] + user_profile.timezone = form.cleaned_data["timezone"] request.user.save() + user_profile.save() redirect_url = reverse('user_profile') redirect_url += "?msg=updated-ok" return redirect(redirect_url) @@ -84,6 +85,7 @@ def user_profile(request, user_email=None): form = UserProfileForm(initial={ "first_name": request.user.first_name, "last_name": request.user.last_name, + "timezone": get_current_timezone(), }) # Votes diff --git a/hyperkitty/views/forms.py b/hyperkitty/views/forms.py index 9cacad8..6f6c294 100644 --- a/hyperkitty/views/forms.py +++ b/hyperkitty/views/forms.py @@ -24,6 +24,7 @@ from django.core import validators from django.contrib.auth.models import User from django.utils.safestring import mark_safe +from hyperkitty.models import UserProfile def isValidUsername(username): @@ -61,6 +62,8 @@ class RegistrationForm(forms.Form): class UserProfileForm(forms.Form): first_name = forms.CharField() last_name = forms.CharField() + timezone = forms.ChoiceField(label="Time zone", + choices=UserProfile.TIMEZONES) |