jdabtieu/CTFOJ

[FEATURE] Problem types

jdabtieu opened this issue · 0 comments

Is your feature request related to a problem? Please describe.

Sometimes there are really old problems on the site that are either too low-quality or unsolvable. However, people who did solve them should still get recognition and it's also bad to permanently delete content.

Describe the solution you'd like

The current 'draft' flag on problems should be renamed to 'status', as an enum

0: PUBLISHED
1: DRAFT
2: ARCHIVED

This way, we can set problems as archived, so that they appear separately and with a warning/whatever that it's archived and may not be solvable anymore.

  • add archived problems page
  • add link to it from problem page
  • change create problem template
  • add archive problem path
  • add banner warning on archived pages
  • python changes
  • hijack draft/undraft routes to also allow changing archival status