--- 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