This MR bring email validation to debexpo.
The workflow is similar to the password reset:
- Request the change from the profile page
- Open the token link sent to the new email
- Validate the change
However, django password reset helpers had to be adapted to an email update. In order to do so, two classes have been extended:
-
EmailChangeConfirmViewfrom django'sPasswordResetConfirmView -
EmailChangeTokenGeneratorfrom django'sPasswordResetTokenGenerator
The changes ensure a token is invalidated when the email changes in DB and cannot be used with another email.
I've updated the testing env at https://debexpo.debian.net to run this branch. (Note: email are not sent on this env but stored in /home/lyknode/projects/debian/repo/lyknode-guest/debexpo/mbox)
Other than that, tests and translation have been updated as usual.
Closes #83 (closed).