51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
|
|
|
|
from .models import CustomerProfile, User, VendorProfile
|
|
|
|
|
|
@admin.register(User)
|
|
class UserAdmin(DjangoUserAdmin):
|
|
ordering = ("email",)
|
|
list_display = ("email", "first_name", "last_name", "is_vendor", "is_customer", "is_staff")
|
|
search_fields = ("email", "first_name", "last_name", "phone_number")
|
|
list_filter = ("is_vendor", "is_customer", "is_staff", "is_superuser", "is_active")
|
|
|
|
fieldsets = (
|
|
(None, {"fields": ("email", "password")}),
|
|
("Personal info", {"fields": ("first_name", "last_name", "phone_number")}),
|
|
(
|
|
"Roles",
|
|
{"fields": ("is_vendor", "is_customer")},
|
|
),
|
|
(
|
|
"Permissions",
|
|
{"fields": ("is_active", "is_staff", "is_superuser", "groups", "user_permissions")},
|
|
),
|
|
("Important dates", {"fields": ("last_login", "date_joined")}),
|
|
)
|
|
add_fieldsets = (
|
|
(
|
|
None,
|
|
{
|
|
"classes": ("wide",),
|
|
"fields": ("email", "password1", "password2", "is_vendor", "is_customer"),
|
|
},
|
|
),
|
|
)
|
|
|
|
|
|
@admin.register(VendorProfile)
|
|
class VendorProfileAdmin(admin.ModelAdmin):
|
|
list_display = ("business_name", "user", "slug", "city", "country", "updated_at")
|
|
search_fields = ("business_name", "user__email", "contact_email")
|
|
list_filter = ("country", "state")
|
|
readonly_fields = ("created_at", "updated_at")
|
|
|
|
|
|
@admin.register(CustomerProfile)
|
|
class CustomerProfileAdmin(admin.ModelAdmin):
|
|
list_display = ("user", "preferred_contact_method", "updated_at")
|
|
search_fields = ("user__email", "emergency_contact_name")
|
|
readonly_fields = ("created_at", "updated_at")
|