Skip to content

[Enhancement] Reason taxonomy management for reports #290

Description

@techifydev1

Summary

Implement a centralized reason taxonomy management system for reports that provides a canonical list of report reasons with grouped categories, editable options, and a shared constants module for consistency across the application.

Current State

  • No centralized management for report reasons
  • Report dialogs may have inconsistent labeling across different parts of the application
  • Difficult to maintain and update report reason categories

What We Want

  1. Grouped report reason categories (harassment, copyright, misinformation, spam, other)
  2. Descriptions for each category
  3. Ability to create, edit, and merge reasons
  4. Historical data preservation when reasons are merged (redirects keep data queryable)
  5. Ordering controls for managing reason display sequence
  6. Shared constants module in lib/ directory
  7. Single source of truth consumed by both learner-facing and admin report dialogs

Technical Context

  • Implement shared constants module in lib/ directory
  • Ensure both learner-facing report dialogs and admin interfaces consume identical labels from the same source
  • When merging reasons, implement redirects to maintain historical data queryability

Acceptance Criteria

  • Grouped report categories implemented (harassment, copyright, misinformation, spam, other)
  • Category descriptions added
  • Create/edit functionality for report reasons
  • Merge functionality with historical data preservation
  • Ordering controls implemented
  • Shared constants module created in lib/
  • All report dialogs consume from single source of truth
  • Historical data remains queryable after merges

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions