- Add password reset form to single-page profile
- Add profile photo form to single-page profile
- Add button to import photo from GitHub
- Add preferences form to single-page profile
- Add tests for unauthenticated/authenticated users
- Add tests that forms are present
- Add tests that the forms submit, without changing other data
Part of #343. The news' notifications module was also changed to the user
preferences is honored when sending news emails.
Also exclude migrations from the black check.
- Add a display_name field to the User model
- Implement get_display_name property to return display_name, full name, or a single name, depending on the available information
- Add tests for the get_display_name property
Reduces the duplicates by a lot. Some still remain, mostly related to differences in spelling (Jeff versus Jeffrey) or differences in diacritical marks.