777ca50328
update. 调整融合主菜单与板块 update. 分离新闻模块
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
|
from import_export.admin import ImportExportModelAdmin
|
|
|
|
from .models import User
|
|
from .models import Department
|
|
from .models import Role, Permission
|
|
|
|
|
|
@admin.register(User)
|
|
class UserAdmin(BaseUserAdmin, ImportExportModelAdmin):
|
|
list_display = ('username', 'cname', 'dept', 'is_active', 'is_staff')
|
|
list_filter = ('is_active', 'is_staff', 'dept')
|
|
search_fields = ('username', 'cname')
|
|
fieldsets = (
|
|
(None, {'fields': ('username', 'password')}),
|
|
('个人信息', {'fields': ('cname', 'dept')}),
|
|
('权限', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
|
|
('重要日期', {'fields': ('last_login', 'date_joined')}),
|
|
)
|
|
add_fieldsets = (
|
|
(None, {
|
|
'classes': ('wide',),
|
|
'fields': ('username', 'cname', 'password1', 'password2', 'dept'),
|
|
}),
|
|
)
|
|
ordering = ('username',)
|
|
filter_horizontal = ('groups', 'user_permissions', 'roles') # 如果 roles 是 ManyToMany
|
|
|
|
|
|
@admin.register(Department)
|
|
class DepartmentAdmin(ImportExportModelAdmin):
|
|
list_display = ('name', 'parent', 'order')
|
|
list_filter = ('parent',)
|
|
search_fields = ('name',)
|
|
ordering = ('order', 'name')
|
|
|
|
|
|
@admin.register(Role)
|
|
class RoleAdmin(ImportExportModelAdmin):
|
|
list_display = ('name', 'permission_count')
|
|
search_fields = ('name',)
|
|
filter_horizontal = ('permissions',)
|
|
|
|
def permission_count(self, obj):
|
|
return obj.permissions.count()
|
|
|
|
permission_count.short_description = "权限数量"
|
|
|
|
|
|
@admin.register(Permission)
|
|
class PermissionAdmin(ImportExportModelAdmin):
|
|
list_display = ('resource', 'action', 'desc')
|
|
list_filter = ('resource', 'action')
|
|
search_fields = ('resource', 'desc')
|
|
ordering = ('resource', 'action')
|