summaryrefslogtreecommitdiffstats
path: root/hyperkitty/views
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-05-30 10:32:09 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-05-30 10:40:48 +0200
commit3e1a43e100bf464ed31d1447cbbcdf1839a1db2e (patch)
treef8a994e4ea1352842f5e99b86062484311a03d27 /hyperkitty/views
parent460cc18cc7803dd857754bff0462092ca1fe7f39 (diff)
downloadhyperkitty-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.py10
-rw-r--r--hyperkitty/views/forms.py3
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)