32 lines
1002 B
Python
32 lines
1002 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
from django.views.generic import UpdateView
|
|
from django.contrib.auth import get_user_model
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.utils.decorators import method_decorator
|
|
from django.core.urlresolvers import reverse
|
|
|
|
from .forms import UserProfileForm
|
|
|
|
|
|
class UserProfileView(UpdateView):
|
|
template_name = "accounts/user_profile.html"
|
|
model = get_user_model()
|
|
fields = ['first_name', 'last_name', 'email']
|
|
form_class = UserProfileForm
|
|
|
|
@method_decorator(login_required)
|
|
def dispatch(self, *args, **kwargs):
|
|
return super(UserProfileView, self).dispatch(*args, **kwargs)
|
|
|
|
def get_object(self, queryset=None):
|
|
return self.request.user
|
|
|
|
def get_success_url(self):
|
|
return reverse('account_profile')
|
|
|
|
def get_context_data(self, *args, **kwargs):
|
|
context = super(UserProfileView, self).get_context_data(*args, **kwargs)
|
|
context['nav_user_profile'] = True
|
|
return context
|