Handle username with @domain suffix
Steps to reproduce:
- Visit PSH login page
- Enter domain-less username ("user")
- Enter correct passphrase ("correct horse battery staple")
What should happen:
- User is logged in
What happens intead:
- Error message: "Enter a valid username. Must start with a letter, followed by letters and numbers. No punctuation or special characters."
Solution:
- UsernameValidator in purist/models.py is a simple RegexValidator. It should be updated to handle a
"@" + settings.SITE_DOMAIN
suffix. For example, normalize the username before validating.
Notes:
- Username-with-domain is our preferred form for usernames.