Feature/remove user/soft removal (#1691)
Original PR
- #1691
Description
This implement a full process to allow user's to remove their account automatically. It includes:
- A new 'account view'
- A 'deletion account' section in it
- A delete confirmation pop-up with some verification
- An email confirmation message with a deletion link
- An email with a summary and details about the removed user
- The deletion of the user's personal attribute (or its anonymization)
- An email to the removed user to confirm its removal
- A modification on the login mechanism to not allow removed user's credentials
Issues this PR resolves
A checklist for hand testing
-
Create a new user -
Complete its profile with as much information as possible -
Create an organization -
Create a competition -
Create a Queue -
Add a submission -
Make the competition and the submission public -
Log out and log in with another user -
Take a look at the new user profile -
Log out and log in with the new user's account -
Delete the account using the account view -
Check your email (or the message in the console) -
Click on the given link -
Check that admins received an email with information on the user's deletion -
Check the the deleted user's got a confirmation email -
Try to log in with the deleted user's account. And fail -
Log in as another user -
Check that the competition and submissions of the removed user are still here but without personal data -
Take a look at the removed user's profile and check that no personal information is displayed
Checklist
-
Code review by me -
Hand tested by me -
I'm proud of my work -
Code review by reviewer -
Hand tested by reviewer -
CircleCi tests are passing -
Ready to merge