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

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=True minimum; superuser for destructive admin
  • Documented internal access policy
  • Separate staff accounts (not shared with customers)

Step-by-step — Process admin approval queue

  1. Module configured with *_approval_type=admin on event.
  2. Applicant submits (exhibitor, vendor, sponsor, etc.).
  3. Staff opens /exhibitors/admin/review/ (or equivalent).
  4. Review application → approve/reject with notes.
  5. Applicant notified via email workflow.

[SCREENSHOT: Admin review queue]


Step-by-step — Support user plan issue

  1. Locate user in /admin/users/customuser/.
  2. Verify subscription_plan and subscription_billing_cycle.
  3. Cross-check Stripe dashboard.
  4. 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

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