src/hdalab/views/profile.py
changeset 529 f479d60ca502
parent 490 97afeb38e259
child 531 82758bd0ce10
--- 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