from django.contrib import admin
from django.contrib.auth import get_user_model
from .models import Product, ProductImage, Order, CartItem, Cart

# Get custom User model
User = get_user_model()

# =======================
# USER ADMIN
# =======================
class UserAdmin(admin.ModelAdmin):
    list_display = ("username", "role", "is_staff", "is_superuser")
    list_filter = ("role", "is_superuser")
    search_fields = ("username", "phone", "email")

    def has_module_permission(self, request):
        # Only superusers can see this in admin
        return request.user.is_superuser

    def has_view_permission(self, request, obj=None):
        return request.user.is_superuser

    def has_add_permission(self, request):
        return request.user.is_superuser

    def has_change_permission(self, request, obj=None):
        return request.user.is_superuser

    def has_delete_permission(self, request, obj=None):
        return request.user.is_superuser

# =======================
# REGISTER MODELS
# =======================
admin.site.register(User, UserAdmin)
admin.site.register(Product)
admin.site.register(ProductImage)
admin.site.register(Order)
admin.site.register(CartItem)
admin.site.register(Cart)