Changeset 6811
- Timestamp:
- 12/01/07 14:51:53 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin/django/contrib/admin/sites.py
r6797 r6811 172 172 Handles the "user change password" task 173 173 """ 174 from django.contrib.a dmin.views.authimport user_change_password174 from django.contrib.auth.views import user_change_password 175 175 return user_change_password(request, id) 176 176 django/branches/newforms-admin/django/contrib/auth/models.py
r6426 r6811 367 367 368 368 # Register the admin options for these models. 369 # TODO: Maybe this should live in a separate module admin.py, but how would we 370 # ensure that module was loaded? 371 372 from django.contrib import admin 373 374 class GroupAdmin(admin.ModelAdmin): 375 search_fields = ('name',) 376 filter_horizontal = ('permissions',) 377 378 class UserAdmin(admin.ModelAdmin): 379 fieldsets = ( 380 (None, {'fields': ('username', 'password')}), 381 (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}), 382 (_('Permissions'), {'fields': ('is_staff', 'is_active', 'is_superuser', 'user_permissions')}), 383 (_('Important dates'), {'fields': ('last_login', 'date_joined')}), 384 (_('Groups'), {'fields': ('groups',)}), 385 ) 386 list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff') 387 list_filter = ('is_staff', 'is_superuser') 388 search_fields = ('username', 'first_name', 'last_name', 'email') 389 filter_horizontal = ('user_permissions',) 390 391 def add_view(self, request): 392 from django.contrib.admin.views.auth import user_add_stage 393 return user_add_stage(request) 394 395 admin.site.register(Group, GroupAdmin) 396 admin.site.register(User, UserAdmin) 369 from django.contrib.auth import admin django/branches/newforms-admin/django/contrib/auth/views.py
r6342 r6811 1 1 from django.contrib.auth.forms import AuthenticationForm 2 from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm 2 from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm, AdminPasswordChangeForm 3 from django.core.exceptions import PermissionDenied 3 4 from django import oldforms 4 from django.shortcuts import render_to_response 5 from django.shortcuts import render_to_response, get_object_or_404 5 6 from django.template import RequestContext 6 7 from django.contrib.sites.models import Site, RequestSite … … 8 9 from django.contrib.auth.decorators import login_required 9 10 from django.contrib.auth import REDIRECT_FIELD_NAME 11 from django.utils.html import escape 10 12 from django.utils.translation import ugettext as _ 13 from django.contrib.auth.models import User 11 14 12 15 def login(request, template_name='registration/login.html', redirect_field_name=REDIRECT_FIELD_NAME): … … 98 101 def password_change_done(request, template_name='registration/password_change_done.html'): 99 102 return render_to_response(template_name, context_instance=RequestContext(request)) 103 104 def user_change_password(request, id): 105 if not request.user.has_perm('auth.change_user'): 106 raise PermissionDenied 107 user = get_object_or_404(User, pk=id) 108 manipulator = AdminPasswordChangeForm(user) 109 if request.method == 'POST': 110 new_data = request.POST.copy() 111 errors = manipulator.get_validation_errors(new_data) 112 if not errors: 113 new_user = manipulator.save(new_data) 114 msg = _('Password changed successfully.') 115 request.user.message_set.create(message=msg) 116 return HttpResponseRedirect('..') 117 else: 118 errors = new_data = {} 119 form = oldforms.FormWrapper(manipulator, new_data, errors) 120 return render_to_response('admin/auth/user/change_password.html', { 121 'title': _('Change password: %s') % escape(user.username), 122 'form': form, 123 'is_popup': '_popup' in request.REQUEST, 124 'add': True, 125 'change': False, 126 'has_delete_permission': False, 127 'has_change_permission': True, 128 'has_absolute_url': False, 129 'opts': User._meta, 130 'original': user, 131 'show_save': True, 132 }, context_instance=RequestContext(request))
