Django

Code

root/django/branches/newforms-admin/django/contrib/auth/admin.py

Revision 7809, 2.8 kB (checked in by brosner, 5 months ago)

newforms-admin: Merged from trunk up to [7808]. Fixed #7519, #7573

Line 
1 from django.contrib.auth.models import User, Group
2 from django.core.exceptions import PermissionDenied
3 from django import oldforms, template
4 from django.shortcuts import render_to_response
5 from django.http import HttpResponseRedirect
6 from django.utils.translation import ugettext, ugettext_lazy as _
7 from django.contrib import admin
8
9 class GroupAdmin(admin.ModelAdmin):
10     search_fields = ('name',)
11     ordering = ('name',)
12     filter_horizontal = ('permissions',)
13
14 class UserAdmin(admin.ModelAdmin):
15     fieldsets = (
16         (None, {'fields': ('username', 'password')}),
17         (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
18         (_('Permissions'), {'fields': ('is_staff', 'is_active', 'is_superuser', 'user_permissions')}),
19         (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
20         (_('Groups'), {'fields': ('groups',)}),
21     )
22     list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
23     list_filter = ('is_staff', 'is_superuser')
24     search_fields = ('username', 'first_name', 'last_name', 'email')
25     ordering = ('username',)
26     filter_horizontal = ('user_permissions',)
27
28     def add_view(self, request):
29         # avoid a circular import. see #6718.
30         from django.contrib.auth.forms import UserCreationForm
31         if not self.has_change_permission(request):
32             raise PermissionDenied
33         if request.method == 'POST':
34             form = UserCreationForm(request.POST)
35             if form.is_valid():
36                 new_user = form.save()
37                 msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': 'user', 'obj': new_user}
38                 if "_addanother" in request.POST:
39                     request.user.message_set.create(message=msg)
40                     return HttpResponseRedirect(request.path)
41                 else:
42                     request.user.message_set.create(message=msg + ' ' + ugettext("You may edit it again below."))
43                     return HttpResponseRedirect('../%s/' % new_user.id)
44         else:
45             form = UserCreationForm()
46         return render_to_response('admin/auth/user/add_form.html', {
47             'title': _('Add user'),
48             'form': form,
49             'is_popup': '_popup' in request.REQUEST,
50             'add': True,
51             'change': False,
52             'has_add_permission': True,
53             'has_delete_permission': False,
54             'has_change_permission': True,
55             'has_file_field': False,
56             'has_absolute_url': False,
57             'auto_populated_fields': (),
58             'opts': User._meta,
59             'save_as': False,
60             'username_help_text': User._meta.get_field('username').help_text,
61             'root_path': self.admin_site.root_path,
62         }, context_instance=template.RequestContext(request))
63
64 admin.site.register(Group, GroupAdmin)
65 admin.site.register(User, UserAdmin)
Note: See TracBrowser for help on using the browser.