sadasda
This commit is contained in:
@@ -7,6 +7,8 @@ from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
||||
from unfold.admin import ModelAdmin, TabularInline
|
||||
from igny8_core.admin.base import AccountAdminMixin
|
||||
from .models import User, Account, Plan, Subscription, Site, Sector, SiteUserAccess, Industry, IndustrySector, SeedKeyword, PasswordResetToken
|
||||
from import_export.admin import ExportMixin
|
||||
from import_export import resources
|
||||
|
||||
|
||||
class AccountAdminForm(forms.ModelForm):
|
||||
@@ -143,8 +145,18 @@ class PlanAdmin(ModelAdmin):
|
||||
)
|
||||
|
||||
|
||||
class AccountResource(resources.ModelResource):
|
||||
"""Resource class for exporting Accounts"""
|
||||
class Meta:
|
||||
model = Account
|
||||
fields = ('id', 'name', 'slug', 'owner__email', 'plan__name', 'status',
|
||||
'credits', 'billing_country', 'created_at', 'updated_at')
|
||||
export_order = fields
|
||||
|
||||
|
||||
@admin.register(Account)
|
||||
class AccountAdmin(AccountAdminMixin, ModelAdmin):
|
||||
class AccountAdmin(ExportMixin, AccountAdminMixin, ModelAdmin):
|
||||
resource_class = AccountResource
|
||||
form = AccountAdminForm
|
||||
list_display = ['name', 'slug', 'owner', 'plan', 'status', 'health_indicator', 'credits', 'created_at']
|
||||
list_filter = ['status', 'plan']
|
||||
@@ -352,8 +364,18 @@ class SectorInline(TabularInline):
|
||||
get_clusters_count.short_description = 'Clusters'
|
||||
|
||||
|
||||
class SiteResource(resources.ModelResource):
|
||||
"""Resource class for exporting Sites"""
|
||||
class Meta:
|
||||
model = Site
|
||||
fields = ('id', 'name', 'slug', 'account__name', 'industry__name', 'domain',
|
||||
'status', 'is_active', 'site_type', 'hosting_type', 'created_at')
|
||||
export_order = fields
|
||||
|
||||
|
||||
@admin.register(Site)
|
||||
class SiteAdmin(AccountAdminMixin, ModelAdmin):
|
||||
class SiteAdmin(ExportMixin, AccountAdminMixin, ModelAdmin):
|
||||
resource_class = SiteResource
|
||||
list_display = ['name', 'slug', 'account', 'industry', 'domain', 'status', 'is_active', 'get_api_key_status', 'get_sectors_count']
|
||||
list_filter = ['status', 'is_active', 'account', 'industry', 'hosting_type']
|
||||
search_fields = ['name', 'slug', 'domain', 'industry__name']
|
||||
@@ -542,12 +564,22 @@ class SeedKeywordAdmin(ModelAdmin):
|
||||
return request.user.is_superuser or (hasattr(request.user, 'is_developer') and request.user.is_developer())
|
||||
|
||||
|
||||
class UserResource(resources.ModelResource):
|
||||
"""Resource class for exporting Users"""
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'email', 'username', 'account__name', 'role',
|
||||
'is_active', 'is_staff', 'created_at', 'last_login')
|
||||
export_order = fields
|
||||
|
||||
|
||||
@admin.register(User)
|
||||
class UserAdmin(BaseUserAdmin, ModelAdmin):
|
||||
class UserAdmin(ExportMixin, BaseUserAdmin, ModelAdmin):
|
||||
"""
|
||||
User admin using both Django's BaseUserAdmin (for user-specific functionality)
|
||||
and Unfold's ModelAdmin (for modern UI and styling including popups)
|
||||
"""
|
||||
resource_class = UserResource
|
||||
list_display = ['email', 'username', 'account', 'role', 'is_active', 'is_staff', 'created_at']
|
||||
list_filter = ['role', 'account', 'is_active', 'is_staff']
|
||||
search_fields = ['email', 'username']
|
||||
|
||||
Reference in New Issue
Block a user