Files
thrillwiki_django_no_react/memory-bank/workflows/moderation.md

924 B

Updated Moderation Workflow with django-pghistory

Submission Lifecycle

  1. Change Proposal
    • Creates pending pghistory event with metadata:
      pghistory.track(
          pghistory.Snapshot('submission.pending'),
          status='pending'
      )
      
  2. Approval Process
    • Merges event into main history:
      event.pgh_label = 'approved_change'
      event.pgh_context['approver'] = request.user
      
  3. Rejection Handling
    • Preserves event with rejection context:
      event.pgh_label = 'rejected_change'
      event.pgh_context['reason'] = rejection_reason
      

Moderation Admin Integration

# moderation/admin.py
@admin.register(pghistory.models.Event)
class HistoryAdmin(admin.ModelAdmin):
    list_display = ('pgh_label', 'pgh_created_at', 'content_object')
    readonly_fields = ('pgh_data', 'pgh_context')