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