Admins should be able to really delete projects, not just soft-delete. (Here's all the things we can do, possibly break out into separate tickets)
- create admin page with a textarea in which project names or urls can be entered, whitespace separated.
ProjectRegistrationProvider should have a method to parse the (nbhd,project) out of each URL, so that custom sites urls can be parsed specially if needed.
- to actually do the removal, SF can contribute our
forge-classic/scripts/purge-project logic. Just need to do a little refactoring:
find_project_by_unix_name usage, it should work with a (nbhd,project) or such
- probably good to make it a
ScriptTask so it can be run that way too
- forge-classic script should call the new script
- fire an event so other custom hooks can do things upon project deletion if needed
- /nf/admin/new_projects already builds a list of project names at the bottom of the page as you click the checkboxes. Enhance that list of names to link over to to the project deletion form.
- include a text box for "reason". Log it to disk, and include in the event parameters.
- have a checkbox for "Disable all project members". It should disable all users that are admins or devs of the project. And add a user audit log comment, noting the related project and the "reason" given.
- document it in administration.rst