In anticipation of adding about a dozen more features flags to support
work for LGB, PIN_ENABLED and PROCOINS_ENABLED have been moved to the
FEATURES dict in const.py. More generally looking to create a unified
interface for logically-related constants, perhaps to support e.g.
later moving these settings from hardcoded constants to data.
seed-db.sql in a8fe49f232 was changed to no longer have a System
user to support the notifications rework. The default IDs in const.py
were updated to reflect this. However, CT/WPD/LGB had user IDs from
the pre-rework SQL yet were using default IDs. The constants were
updated to reflect the state on prod.
Strangely, LGB has no user id #2. I have no idea why, but the
constants accurately reflect this fact.
Original work started for WPD and LGB, who wish to restrict flags
visibility in the UI based on admin_level. To support this change and
upcoming changes, `const.PERMS: string -> int` was created.
Potentially targetting a future design where Permissions is a proper
business object integrated with the User model; however, for now just
looking toward getting admin_level magic numbers centralized.
This commit applies PERMS to: create_hole, flags visibility in UI,
flag removal in UI & backend. Flag visibility in Comment & Submission
json_raw methods is unaffected to avoid needing a user object to
build the JSON.