web/ldt/user/admin.py
author ymh <ymh.work@gmail.com>
Mon, 18 Apr 2011 16:28:20 +0200
changeset 142 77fdf5d1786c
parent 0 cc4a51750724
permissions -rw-r--r--
Added tag V00.32 for changeset ebca39584596
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
from django.contrib import admin
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
from django.contrib.auth.admin import UserAdmin, GroupAdmin
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
from django.utils.translation import ugettext as _
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
from ldt import settings
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
from copy import deepcopy
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
from forms import ldtForm, IriGroupForm
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from models import ldt, IriGroup
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
class ldtAdmin(UserAdmin):    
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    list_display = ('username', 'email', 'first_name', 'last_name')
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    fieldsets = [
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        (None, {'fields': ('username', ('password1', 'password2'))}),
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        (_('User details'), {'fields': (('first_name', 'last_name'), 'email')}),
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        (_('Groups'), {'fields': ('groups',)}),
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        (_('Permissions'), {'fields': ('is_staff', 'user_permissions')}),        
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    ]    
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    form = ldtForm
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    model = ldt
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    filter_horizontal = ('user_permissions',)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    def get_fieldsets(self, request, obj=None): 
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
        fieldsets = deepcopy(self.fieldsets)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        if not '/add' in request.path:
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
            fieldsets[0] = (None, {'fields': ('username',)})
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
            fieldsets.append((_('Password'), {'fields': ('password1', 'password2'), 'classes': ('collapse',)}))
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        return fieldsets
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    def add_view(self, request):
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        return super(UserAdmin, self).add_view(request)               
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
admin.site.unregister(ldt)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
admin.site.register(ldt, ldtAdmin)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
class IriGroupAdmin(admin.ModelAdmin):
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    form = IriGroupForm
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    model = IriGroup
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    filter_horizontal = ('permissions',)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
admin.site.unregister(IriGroup)
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
admin.site.register(IriGroup, IriGroupAdmin)