Platform Admin Guide¶
Overview¶
Platform administrators (is_staff / is_superuser) manage Nigall via Django admin, module-specific admin review queues, subscription overrides, and environment configuration—not routine event hosting.
Purpose¶
Provide Nigall staff with approval workflows, compliance oversight, and system-level controls.
Who should use it¶
- Nigall internal support and ops
- Compliance reviewers
- DevOps configuring production
Benefits¶
- Admin approval for modules with
approval_type=admin - Full model access via
/admin/ - Subscription and tool bypass for support reproduction
Navigation path¶
| Area | Path |
|---|---|
| Django admin | /admin/ |
| Exhibitor admin review | /exhibitors/admin/review/ |
| Vendor admin review | /vendors/admin/review/ |
| Sponsor admin review | /sponsors/admin/review/ |
| Speaker review list | /speakers/review/ |
| User admin | /admin/users/customuser/ |
| Event admin | /admin/events/event/ |
| Social publishing (Excel plans) | /social-publishing/ |
Prerequisites¶
is_staff=Trueminimum; superuser for destructive admin- Documented internal access policy
- Separate staff accounts (not shared with customers)
Step-by-step — Process admin approval queue¶
- Module configured with
*_approval_type=adminon event. - Applicant submits (exhibitor, vendor, sponsor, etc.).
- Staff opens
/exhibitors/admin/review/(or equivalent). - Review application → approve/reject with notes.
- Applicant notified via email workflow.
[SCREENSHOT: Admin review queue]
Step-by-step — Support user plan issue¶
- Locate user in
/admin/users/customuser/. - Verify
subscription_planandsubscription_billing_cycle. - Cross-check Stripe dashboard.
- Adjust plan if comp granted; document reason.
Field descriptions¶
| Flag | Effect |
|---|---|
is_staff |
Tools hub bypass; admin review access |
is_superuser |
All admin permissions |
approval_type=admin |
Routes applications to staff queue |
Business rules¶
| Rule | Detail |
|---|---|
| Staff tool bypass | user_has_tool_access returns true for staff |
| Admin queues | Per-module admin_review_list views |
| Customer data | Access only for support tickets |
| Superuser | Required for some destructive model ops |
Validation rules¶
N/A — operational procedures.
User permissions¶
| Role | Admin site | Review queues |
|---|---|---|
| Customer | ❌ | ❌ |
| Staff | ✅ limited | ✅ |
| Superuser | ✅ full | ✅ |
Workflow¶
flowchart LR
App[Application submitted] --> Queue{approval_type admin?}
Queue -->|Yes| Staff[Staff review]
Queue -->|No| Organizer[Organizer review]
Staff --> Decision[Approve/Reject]
Examples¶
Exhibitor compliance: Enterprise expo requires Nigall sign-off before booth payment.
Support: Temporarily upgrade user plan in admin for reproduction.
Best practices¶
- Use individual staff accounts with MFA
- Log support actions in ticket system
- Never share staff credentials with customers
Tips¶
- Event search in admin by
event_tag - Bulk actions on user plans sparingly
Common mistakes¶
| Mistake | Result | Fix |
|---|---|---|
| Staff hosts customer events | Data blur | Separate accounts |
| Skip webhook monitoring | Payment desync | Alert on /payments/webhook/ |
FAQs¶
Who approves speakers?
Organizer by default; staff if speaker_approval_type=admin.
Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| Queue empty | Wrong approval_type | Check event settings |
| Admin 403 | Not staff | Grant is_staff |
Related features¶
Screenshot placeholders¶
[SCREENSHOT: Django admin event list][SCREENSHOT: Exhibitor admin application review]
Administrator notes¶
Environment checklist¶
| Variable | Purpose |
|---|---|
| Stripe keys | Payments |
| EMAIL / Resend / SES | Transactional email |
| SMS_PROVIDER | Optional SMS (vendors) |
| USE_S3 | Media storage |
| ALLOWED_HOSTS | Production domains |
Developer/API notes¶
Staff may use Django shell for one-off fixes — always audit.
Webhook replay from Stripe dashboard for failed fulfillments.
See also: Organization & Users