Files
igny8/DJANGO_ADMIN_ACTIONS_QUICK_REFERENCE.md

512 lines
11 KiB
Markdown

# Django Admin Bulk Actions - Quick Reference Guide
## Overview
This guide provides a quick reference for all bulk actions implemented across 39 Django admin models in the IGNY8 platform.
---
## Common Action Patterns
### 1. Status Toggle Actions
**Pattern**: `bulk_activate` / `bulk_deactivate`
**Models**: Account, Plan, Site, Sector, Clusters, ContentTaxonomy, CreditPackage, AIPrompt, IntegrationSettings, AuthorProfile, Strategy, and more
**Usage**:
1. Select records in admin list view
2. Choose "Activate/Deactivate selected" from actions dropdown
3. Click "Go"
4. Confirmation message shows count of updated records
### 2. Soft Delete Actions
**Pattern**: `bulk_soft_delete`
**Models**: Account, Content, Keywords, Tasks, Site, Sector, Clusters, ContentIdeas, Images, Industry, IndustrySector, SeedKeyword, Subscription, User
**Usage**:
1. Select records to delete
2. Choose "Soft delete selected" action
3. Records marked as deleted, not removed from database
4. Preserves data for audit trails
### 3. Import/Export Operations
**Export Only**: 21 models (logs, payment methods, deployment records, etc.)
**Import & Export**: 18 models (content, ideas, keywords, plans, etc.)
**Usage**:
- **Export**: Click "Export" button → Select format (CSV/XLSX) → Download
- **Import**: Click "Import" button → Upload file → Preview → Confirm
### 4. Form-Based Actions
**Pattern**: Actions requiring user input via intermediate form
**Examples**:
- `bulk_add_credits` / `bulk_subtract_credits` (Account)
- `bulk_assign_cluster` (ContentIdeas)
- `bulk_assign_to_user` (Tasks)
- `bulk_upgrade_plan` (Subscription)
- `bulk_update_frequency` (AutomationConfig)
**Usage**:
1. Select records
2. Choose action from dropdown
3. Fill in form on intermediate page
4. Click "Apply" to execute
---
## Model-Specific Actions Guide
### Account Management
#### Account
- **Bulk add credits** (Form: amount to add)
- **Bulk subtract credits** (Form: amount to remove)
- **Bulk activate accounts**
- **Bulk suspend accounts**
- **Bulk soft delete**
**Use Cases**:
- Credit adjustments for promotions
- Account suspension for policy violations
- Account activation after verification
#### User
- **Bulk activate users**
- **Bulk deactivate users**
- **Bulk assign to group** (Form: select group)
- **Bulk reset password**
- **Bulk verify email**
- **Bulk soft delete**
**Use Cases**:
- Team member management
- Role assignments via groups
- Password resets for security
#### Plan & Subscription
**Plan**:
- Bulk activate/deactivate
- Bulk clone plans
**Subscription**:
- Bulk activate/cancel
- Bulk renew (extends expiry)
- Bulk upgrade plan (Form: select new plan)
- Bulk soft delete
**Use Cases**:
- Plan modifications
- Subscription renewals
- Plan upgrades for customers
---
### Content Management
#### Content
- **Bulk publish to WordPress**
- **Bulk mark as published**
- **Bulk mark as draft**
- **Bulk add taxonomy** (Form: multi-select taxonomies)
- **Bulk soft delete**
**Use Cases**:
- Content publishing workflow
- Status management
- Taxonomy assignments
#### Tasks
- **Bulk assign to user** (Form: select user)
- **Bulk mark as completed**
- **Bulk mark as in progress**
- **Bulk cancel tasks**
- **Bulk soft delete**
**Use Cases**:
- Task distribution to writers
- Workflow state management
- Task cleanup
#### Images
- **Bulk approve/reject**
- **Bulk mark as featured**
- **Bulk unmark as featured**
- **Bulk soft delete**
**Use Cases**:
- Image moderation
- Featured image management
---
### Planning & SEO
#### Keywords
- **Bulk mark as reviewed**
- **Bulk approve keywords**
- **Bulk reject keywords**
- **Bulk soft delete**
**Use Cases**:
- Keyword research review
- SEO strategy approval
#### Clusters
- **Bulk activate/deactivate**
- **Bulk soft delete**
**Use Cases**:
- Content cluster management
- Topic organization
#### ContentIdeas
- **Bulk approve/reject**
- **Bulk assign cluster** (Form: select cluster)
- **Bulk update content type** (Form: select type)
- **Bulk update priority** (Form: select priority)
- **Bulk soft delete**
**Use Cases**:
- Content pipeline management
- Editorial planning
- Priority adjustments
---
### Taxonomy & Organization
#### ContentTaxonomy
- **Bulk activate**
- **Bulk merge taxonomies** (Form: select target, handles relations)
**Use Cases**:
- Taxonomy consolidation
- Category management
#### ContentAttribute
- **Bulk activate**
- **Bulk update attribute type** (Form: select type)
**Use Cases**:
- Attribute management
- Schema updates
#### ContentTaxonomyRelation
- **Bulk delete relations**
- **Bulk reassign taxonomy** (Form: select new taxonomy)
**Use Cases**:
- Relationship cleanup
- Taxonomy reassignment
#### ContentClusterMap
- **Bulk delete maps**
- **Bulk update role** (Form: pillar/supporting/related)
- **Bulk reassign cluster** (Form: select cluster)
**Use Cases**:
- Content structure management
- Cluster reorganization
---
### Billing & Finance
#### Invoice
- **Bulk mark as paid**
- **Bulk mark as pending**
- **Bulk mark as cancelled**
- **Bulk send reminders**
- **Bulk apply late fee**
**Use Cases**:
- Payment processing
- Invoice management
- Collections workflow
#### Payment
- **Bulk mark as verified**
- **Bulk mark as failed**
- **Bulk refund** (updates status)
**Use Cases**:
- Payment reconciliation
- Refund processing
#### CreditUsageLog
- **Bulk delete old logs** (>90 days)
**Use Cases**:
- Database cleanup
- Log maintenance
#### CreditPackage
- **Bulk activate/deactivate**
**Use Cases**:
- Package availability management
#### AccountPaymentMethod
- **Bulk enable/disable**
- **Bulk set as default** (Form: respects account-level uniqueness)
- **Bulk delete methods**
**Use Cases**:
- Payment method management
- Default method updates
#### PlanLimitUsage
- **Bulk reset usage**
- **Bulk delete old records** (>90 days)
**Use Cases**:
- Usage tracking reset
- Data cleanup
---
### Publishing & Integration
#### PublishingRecord
- **Bulk retry failed**
- **Bulk cancel pending**
- **Bulk mark as published**
**Use Cases**:
- Publishing workflow
- Error recovery
#### DeploymentRecord
- **Bulk rollback**
- **Bulk mark as successful**
- **Bulk retry failed**
**Use Cases**:
- Deployment management
- Error recovery
#### SiteIntegration
- **Bulk activate/deactivate**
- **Bulk test connection**
- **Bulk refresh tokens**
**Use Cases**:
- Integration management
- Connection testing
- Token maintenance
#### SyncEvent
- **Bulk mark as processed**
- **Bulk delete old events** (>30 days)
**Use Cases**:
- Event processing
- Log cleanup
---
### Automation
#### AutomationConfig
- **Bulk activate/deactivate**
- **Bulk update frequency** (Form: select frequency)
- **Bulk update delays** (Form: enter delay values)
**Use Cases**:
- Automation scheduling
- Workflow configuration
#### AutomationRun
- **Bulk mark as completed**
- **Bulk retry failed**
- **Bulk delete old runs** (>90 days)
**Use Cases**:
- Run status management
- Error recovery
- Cleanup
---
### AI & System Configuration
#### AITaskLog
- **Bulk delete old logs** (>90 days)
- **Bulk mark as reviewed**
**Use Cases**:
- Log maintenance
- Review tracking
#### AIPrompt
- **Bulk activate/deactivate**
- **Bulk reset to default values**
**Use Cases**:
- Prompt management
- Configuration reset
#### IntegrationSettings
- **Bulk activate/deactivate**
- **Bulk test connection**
**Use Cases**:
- Integration setup
- Connection validation
#### AuthorProfile
- **Bulk activate/deactivate**
- **Bulk clone profiles**
**Use Cases**:
- Profile management
- Profile duplication
#### Strategy
- **Bulk activate/deactivate**
- **Bulk clone strategies**
**Use Cases**:
- Strategy management
- Strategy templates
#### OptimizationTask
- **Bulk mark as completed/failed**
- **Bulk retry failed tasks**
**Use Cases**:
- Optimization workflow
- Error recovery
---
### Site & Sector Management
#### Site
- **Bulk activate/deactivate**
- **Bulk update settings** (Form: JSON settings)
- **Bulk soft delete**
**Use Cases**:
- Site management
- Configuration updates
#### Sector
- **Bulk activate/deactivate**
- **Bulk soft delete**
**Use Cases**:
- Sector management
- Multi-tenant organization
#### Industry & IndustrySector
- **Bulk activate/deactivate**
- **Bulk soft delete**
**Use Cases**:
- Industry taxonomy management
- Sector organization
#### SeedKeyword
- **Bulk approve/reject**
- **Bulk assign to sector** (Form: select sector)
- **Bulk soft delete**
**Use Cases**:
- Seed keyword management
- Sector assignments
---
## Best Practices
### Selection
1. Use filters and search before bulk actions
2. Preview selected records count
3. Test with small batches first
### Form Actions
1. Read help text carefully
2. Validate input before applying
3. Cannot undo after confirmation
### Export/Import
1. Export before major changes (backup)
2. Test imports on staging first
3. Review preview before confirming import
### Soft Delete
1. Prefer soft delete over hard delete
2. Maintains audit trails
3. Can be recovered if needed
### Performance
1. Batch operations work efficiently up to 10,000 records
2. For larger operations, consider database-level operations
3. Monitor query performance with Django Debug Toolbar
---
## Troubleshooting
### Action Not Appearing
- Check user permissions
- Verify model admin registration
- Clear browser cache
### Import Failures
- Verify file format (CSV/XLSX)
- Check field mappings
- Ensure required fields present
- Validate data types
### Form Validation Errors
- Review error messages
- Check required fields
- Verify foreign key references exist
### Performance Issues
- Reduce batch size
- Add database indexes
- Use `.select_related()` for foreign keys
- Consider background task queue for large operations
---
## Security Notes
1. **Permissions**: All actions respect Django's built-in permissions system
2. **Account Isolation**: Multi-tenant actions automatically filter by account
3. **CSRF Protection**: All forms include CSRF tokens
4. **Audit Logging**: Consider enabling Django admin log for all actions
5. **Soft Deletes**: Preserve data integrity and compliance requirements
---
## Quick Action Shortcuts
### Most Used Actions
1. **Content Publishing**: Content → Bulk publish to WordPress
2. **Credit Management**: Account → Bulk add credits
3. **Task Assignment**: Tasks → Bulk assign to user
4. **Invoice Processing**: Invoice → Bulk mark as paid
5. **Automation Control**: AutomationConfig → Bulk activate/deactivate
### Maintenance Actions
1. **Log Cleanup**: AITaskLog/CreditUsageLog → Delete old logs
2. **Event Cleanup**: SyncEvent → Delete old events
3. **Run Cleanup**: AutomationRun → Delete old runs
4. **Usage Reset**: PlanLimitUsage → Bulk reset usage
### Emergency Actions
1. **Account Suspension**: Account → Bulk suspend accounts
2. **Task Cancellation**: Tasks → Bulk cancel tasks
3. **Publishing Rollback**: DeploymentRecord → Bulk rollback
4. **Integration Disable**: SiteIntegration → Bulk deactivate
---
*Last Updated: 2025*
*IGNY8 Platform - Django Admin Operations Guide*