django: users accounts including registering, activating, changing profile info, password reset.
This MR relates to #47 (closed).
It re-implements the user account logic for debexpo using django framework.
It includes:
- Registering an account
- Sending an activation link to validate user's email
- Login
- Password reset
- A user profile page, with some info and a password change feature
- Logout
- A new CI for detecting missing db migration
It does not include:
- GPG logic. The GPG stuff will be handled by a separate app (named
keyring?) and will be part of a following MR - The
statusof an account (Developer, Maintainer, Contributor). Given the size of this MR, I prefer to implement that in a following MR. - The experimental code for the user profile. For the same reason as above.
- A SQL script to convert previous DB schema to the new one. This is my next piece of work to test existing accounts on mentors.d.n.
The following functional changes have been made:
- Password is set upon account validation and not on registering. This is plan so we can make use of the password reset feature provided by django.
The following backend changes have been made:
- Email is now using django email backend. This allow easier maintenance, development and testing.
Good luck,
Edited by Baptiste Beauplat