Files
hossein-por-shop/backend/account/admin.py
T
2025-02-02 03:13:46 +03:30

73 lines
2.2 KiB
Python

from django.contrib import admin
from .models import *
from unfold.admin import ModelAdmin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from import_export.admin import ImportExportModelAdmin
from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm
from unfold.contrib.forms.widgets import ArrayWidget, WysiwygWidget
from django.contrib.postgres.fields import ArrayField
from django.contrib.auth.models import Group
from unfold.forms import AdminPasswordChangeForm
@admin.register(User)
class UserAdmin(BaseUserAdmin, ModelAdmin, ImportExportModelAdmin):
filter_horizontal = []
ordering = []
list_filter = []
search_fields = ['phone', 'first_name', 'last_name', ]
list_display = ['phone', 'email', 'is_superuser']
readonly_fields = []
exclude = ('otp_hash', 'otp_expiry', 'is_active', 'is_staff', 'password', 'last_login')
import_form_class = ImportForm
export_form_class = ExportForm
change_password_form = AdminPasswordChangeForm
fieldsets = (
('Personal info', {'fields': ('first_name', 'last_name', 'profile_photo')}),
('contact', {'fields': ('phone', 'email')}),
)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('phone', 'password1', 'password2'),
}),
)
compressed_fields = True
warn_unsaved_form = True
formfield_overrides = {
ArrayField: {
"widget": ArrayWidget,
}
}
admin.site.unregister(Group)
from django.contrib import admin
from rest_framework_simplejwt.token_blacklist.models import BlacklistedToken, OutstandingToken
# Unregister the BlacklistedToken and OutstandingToken models
admin.site.unregister(BlacklistedToken)
admin.site.unregister(OutstandingToken)
@admin.register(UserAddressModel)
class AddressAdmin(ModelAdmin, ImportExportModelAdmin):
import_form_class = ImportForm
export_form_class = ExportForm
compressed_fields = True
warn_unsaved_form = True
formfield_overrides = {
models.TextField: {
"widget": WysiwygWidget,
},
ArrayField: {
"widget": ArrayWidget,
}
}