Allow current to edit more details of himself, saner redirection after password change
This commit is contained in:
@@ -122,7 +122,7 @@ class UserForm(forms.ModelForm):
|
||||
"""
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('first_name', 'last_name')
|
||||
fields = ('username', 'first_name', 'last_name', 'email')
|
||||
|
||||
|
||||
class EmailAuthenticationForm(AuthenticationForm):
|
||||
|
||||
@@ -12,12 +12,12 @@ urlpatterns = patterns('common.views',
|
||||
url(r'^user/edit/$', 'current_user_edit', (), 'current_user_edit'),
|
||||
|
||||
url(r'^login/$', 'login_view', (), name='login_view'),
|
||||
url(r'^password/change/$', 'password_change_view', (), name='password_change_view'),
|
||||
)
|
||||
|
||||
urlpatterns += patterns('',
|
||||
url(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}, name='logout_view'),
|
||||
|
||||
url(r'^password/change/$', 'django.contrib.auth.views.password_change', {'template_name': 'password_change_form.html', 'post_change_redirect': '/password/change/done/'}, name='password_change_view'),
|
||||
url(r'^password/reset/$', 'django.contrib.auth.views.password_reset', {'email_template_name': 'password_reset_email.html', 'template_name': 'password_reset_form.html', 'post_reset_redirect': '/password/reset/done'}, name='password_reset_view'),
|
||||
url(r'^password/reset/confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'password_reset_confirm.html', 'post_reset_redirect': '/password/reset/complete/'}, name='password_reset_confirm_view'),
|
||||
url(r'^password/reset/complete/$', 'django.contrib.auth.views.password_reset_complete', {'template_name': 'password_reset_complete.html'}, name='password_reset_complete_view'),
|
||||
|
||||
@@ -11,21 +11,13 @@ from django.core.urlresolvers import reverse
|
||||
from django.utils.http import urlencode
|
||||
from django.contrib.auth.views import login
|
||||
from django.utils.simplejson import dumps, loads
|
||||
from django.contrib.auth.views import password_change
|
||||
|
||||
from .forms import (ChoiceForm, UserForm, UserForm_view, LicenseForm,
|
||||
EmailAuthenticationForm)
|
||||
from .conf.settings import LOGIN_METHOD
|
||||
|
||||
|
||||
def password_change_done(request):
|
||||
"""
|
||||
View called when the new user password has been accepted
|
||||
"""
|
||||
|
||||
messages.success(request, _(u'Your password has been successfully changed.'))
|
||||
return redirect('home')
|
||||
|
||||
|
||||
def multi_object_action_view(request):
|
||||
"""
|
||||
Proxy view called first when using a multi object action, which
|
||||
@@ -227,3 +219,26 @@ def license_view(request):
|
||||
'title': _(u'License'),
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def password_change_view(request):
|
||||
"""
|
||||
Password change wrapper for better control
|
||||
"""
|
||||
context={'title': _(u'Current user password change')}
|
||||
|
||||
return password_change(
|
||||
request,
|
||||
extra_context=context,
|
||||
template_name='password_change_form.html',
|
||||
post_change_redirect=reverse('password_change_done'),
|
||||
)
|
||||
|
||||
|
||||
def password_change_done(request):
|
||||
"""
|
||||
View called when the new user password has been accepted
|
||||
"""
|
||||
|
||||
messages.success(request, _(u'Your password has been successfully changed.'))
|
||||
return redirect('current_user_details')
|
||||
|
||||
@@ -211,6 +211,7 @@ def user_multiple_set_password(request):
|
||||
)
|
||||
|
||||
|
||||
# Group views
|
||||
def group_list(request):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_VIEW])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user