Apply proper admin organization from remote commit 3283a83b

- Replace custom_groups with 12 logical groups from remote config
- Accounts & Tenancy: Account, User, Site, Sector, SiteUserAccess
- Global Resources: Industry, IndustrySector, SeedKeyword
- Plans and Billing: Plan, Subscription, Invoice, Payment, CreditPackage, etc
- Credits: AIModelConfig, CreditTransaction, CreditUsageLog, CreditCostConfig, PlanLimitUsage
- Content Planning: Keywords, Clusters, ContentIdeas
- Content Generation: Tasks, Content, Images
- Taxonomy & Organization: ContentTaxonomy, ContentTaxonomyRelation, etc
- Publishing & Integration: SiteIntegration, SyncEvent, PublishingRecord, etc
- AI & Automation: IntegrationSettings, GlobalModuleSettings, AIPrompt, Strategy, etc
- System Settings: ContentType, ContentTemplate, TaxonomyConfig, etc
- Django Admin: Group, Permission, PasswordResetToken, Session
- Tasks & Logging: AITaskLog, AuditLog, LogEntry, TaskResult, GroupResult

Properly organizes 60+ models in admin sidebar for better usability
This commit is contained in:
IGNY8 VPS (Salman)
2025-12-23 07:23:56 +00:00
parent 022a4ce537
commit 6971d416c3

View File

@@ -130,121 +130,111 @@ class Igny8AdminSite(UnfoldAdminSite):
# Define our custom groups with their models (using object_name)
# Organized by business function - Material icons configured in Unfold
custom_groups = {
'Accounts & Users': {
'Accounts & Tenancy': {
'models': [
('igny8_core_auth', 'Account'),
('igny8_core_auth', 'User'),
('igny8_core_auth', 'Site'),
('igny8_core_auth', 'Sector'),
('igny8_core_auth', 'SiteUserAccess'),
('igny8_core_auth', 'Plan'),
('igny8_core_auth', 'Subscription'),
('igny8_core_auth', 'PasswordResetToken'),
],
},
'Global Resources': {
'models': [
('igny8_core_auth', 'Industry'),
('igny8_core_auth', 'IndustrySector'),
('igny8_core_auth', 'SeedKeyword'),
],
},
'Billing & Tenancy': {
'Plans and Billing': {
'models': [
('igny8_core_auth', 'Plan'),
('igny8_core_auth', 'Subscription'),
('billing', 'Invoice'),
('billing', 'Payment'),
('billing', 'CreditTransaction'),
('billing', 'CreditUsageLog'),
('billing', 'CreditPackage'),
('billing', 'PaymentMethodConfig'),
('billing', 'AccountPaymentMethod'),
],
},
'Credits': {
'models': [
('billing', 'AIModelConfig'),
('billing', 'CreditTransaction'),
('billing', 'CreditUsageLog'),
('billing', 'CreditCostConfig'),
('billing', 'PlanLimitUsage'),
],
},
'Writer Module': {
'Content Planning': {
'models': [
('writer', 'Content'),
('writer', 'Tasks'),
('writer', 'Images'),
('writer', 'ContentTaxonomy'),
('writer', 'ContentAttribute'),
('writer', 'ContentTaxonomyRelation'),
('writer', 'ContentClusterMap'),
],
},
'Planner': {
'models': [
('planner', 'Clusters'),
('planner', 'Keywords'),
('planner', 'Clusters'),
('planner', 'ContentIdeas'),
],
},
'Publishing': {
'Content Generation': {
'models': [
('writer', 'Tasks'),
('writer', 'Content'),
('writer', 'Images'),
],
},
'Taxonomy & Organization': {
'models': [
('writer', 'ContentTaxonomy'),
('writer', 'ContentTaxonomyRelation'),
('writer', 'ContentClusterMap'),
('writer', 'ContentAttribute'),
],
},
'Publishing & Integration': {
'models': [
('integration', 'SiteIntegration'),
('integration', 'SyncEvent'),
('publishing', 'PublishingRecord'),
('system', 'PublishingChannel'),
('publishing', 'DeploymentRecord'),
],
},
'Optimization': {
'models': [
('optimization', 'OptimizationTask'),
],
},
'Automation': {
'AI & Automation': {
'models': [
('system', 'IntegrationSettings'),
('system', 'GlobalModuleSettings'),
('system', 'AIPrompt'),
('system', 'Strategy'),
('system', 'AuthorProfile'),
('system', 'APIKey'),
('system', 'WebhookConfig'),
('automation', 'AutomationConfig'),
('automation', 'AutomationRun'),
],
},
'Integration': {
'System Settings': {
'models': [
('integration', 'SiteIntegration'),
('integration', 'SyncEvent'),
],
},
'AI Framework': {
'models': [
('ai', 'AITaskLog'),
],
},
'System Configuration': {
'models': [
('system', 'AIPrompt'),
('system', 'Strategy'),
('system', 'AuthorProfile'),
('contenttypes', 'ContentType'),
('system', 'ContentTemplate'),
('system', 'TaxonomyConfig'),
('system', 'SystemSetting'),
('system', 'ContentTypeConfig'),
('system', 'PublishingChannel'),
('system', 'APIKey'),
('system', 'WebhookConfig'),
('system', 'NotificationConfig'),
('system', 'AuditLog'),
],
},
'Celery Results': {
'models': [
('django_celery_results', 'TaskResult'),
('django_celery_results', 'GroupResult'),
],
},
'Content Types': {
'models': [
('contenttypes', 'ContentType'),
],
},
'Administration': {
'models': [
('admin', 'LogEntry'),
],
},
'Authentication and Authorization': {
'Django Admin': {
'models': [
('auth', 'Group'),
('auth', 'Permission'),
('igny8_core_auth', 'PasswordResetToken'),
('sessions', 'Session'),
],
},
'Sessions': {
'Tasks & Logging': {
'models': [
('sessions', 'Session'),
('ai', 'AITaskLog'),
('system', 'AuditLog'),
('admin', 'LogEntry'),
('django_celery_results', 'TaskResult'),
('django_celery_results', 'GroupResult'),
],
},
}