52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin
|
|
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
|
|
from .models import CustomUser
|
|
|
|
|
|
class CustomUserCreationForm(UserCreationForm):
|
|
class Meta:
|
|
model = CustomUser
|
|
fields = ('username', 'email', 'first_name', 'last_name', 'organizacion', 'profile_picture', 'password1', 'password2')
|
|
|
|
|
|
class CustomUserChangeForm(UserChangeForm):
|
|
class Meta:
|
|
model = CustomUser
|
|
fields = ('username', 'email', 'first_name', 'last_name', 'organizacion', 'profile_picture')
|
|
|
|
|
|
class CustomUserAdmin(UserAdmin):
|
|
add_form = CustomUserCreationForm
|
|
form = CustomUserChangeForm
|
|
model = CustomUser
|
|
|
|
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff', 'is_active', 'is_importador', 'organizacion')
|
|
list_filter = ('is_staff', 'is_active', 'organizacion')
|
|
search_fields = ('username', 'email', 'first_name', 'last_name')
|
|
ordering = ('username',)
|
|
|
|
# Fieldsets para editar un usuario
|
|
fieldsets = (
|
|
(None, {'fields': ('username', 'password')}),
|
|
('Información personal', {'fields': ('first_name', 'last_name', 'email', 'organizacion', 'profile_picture', 'is_importador', 'rfc')}),
|
|
('Permisos', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
|
|
('Fechas importantes', {'fields': ('last_login', 'date_joined')}),
|
|
)
|
|
|
|
# Fieldsets para crear un nuevo usuario
|
|
add_fieldsets = (
|
|
(None, {
|
|
'classes': ('wide',),
|
|
'fields': (
|
|
'username', 'email', 'first_name', 'last_name',
|
|
'organizacion', 'profile_picture',
|
|
'password1', 'password2',
|
|
'is_staff', 'is_active', 'is_importador'
|
|
)
|
|
}),
|
|
)
|
|
|
|
|
|
admin.site.register(CustomUser, CustomUserAdmin)
|