diff -r c98f8e60e8e7 -r f479d60ca502 src/hdalab/views/profile.py --- a/src/hdalab/views/profile.py Tue Mar 10 16:06:06 2015 +0100 +++ b/src/hdalab/views/profile.py Tue Mar 10 18:41:29 2015 +0100 @@ -15,11 +15,12 @@ import uuid from django.conf import settings -from django.contrib.auth import REDIRECT_FIELD_NAME, login as auth_login +from django.contrib.auth import REDIRECT_FIELD_NAME, login as auth_login, \ + get_user_model from django.contrib.auth.forms import AuthenticationForm from django.contrib.sites.models import get_current_site from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, reverse_lazy from django.db.models import Q from django.http import HttpResponse, HttpResponseBadRequest from django.http import HttpResponseRedirect @@ -34,6 +35,7 @@ from django.views.decorators.csrf import csrf_exempt, csrf_protect from django.views.decorators.debug import sensitive_post_parameters from django.views.generic import TemplateView, View +from django.views.generic.edit import UpdateView from hdabo.models import Tag, Datasheet, TaggedSheet, Folder from hdalab.forms import HdalabRenkanStateForm, HdalabRenkanFavoriteForm @@ -43,6 +45,8 @@ from hdalab.views.ajax import filter_generic +User = get_user_model() + logger = logging.getLogger(__name__) @@ -691,6 +695,18 @@ ) +class UserProfileUpdate(UpdateView): + model = User + fields = ['email'] + template_name_suffix = '_update_form' + + def get_object(self, queryset=None): + return self.request.user + + def get_success_url(self): + return reverse('profile_home') + + # Function copied from django.contrib.auth.views to simplify ajax login @sensitive_post_parameters() @csrf_protect