diff options
| author | Magnus Hagander | 2019-07-10 20:40:06 +0000 |
|---|---|---|
| committer | Magnus Hagander | 2019-07-10 20:40:06 +0000 |
| commit | df9fe517efea219490bf26061dbef9384d3c5736 (patch) | |
| tree | f95118896f6eca92ae22987790e8abf1aa6afca1 /postgresqleu/confreg/models.py | |
| parent | 44eb63bd041ceed2af9ec499ee80da813a620942 (diff) | |
Ensure email addresses are lowercase throughout
At least all email addresses being input by end users should be
confverted to lowercase to avoid duplicates.
Update existing users, registrations and election candidates to be
lowercase, and add constraints to them
For things like conference contract addresses that are only set by
superusers, we skip the constraints part and let the user take some more
responsibility.
Diffstat (limited to 'postgresqleu/confreg/models.py')
| -rw-r--r-- | postgresqleu/confreg/models.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/postgresqleu/confreg/models.py b/postgresqleu/confreg/models.py index 19b21011..22a1c3da 100644 --- a/postgresqleu/confreg/models.py +++ b/postgresqleu/confreg/models.py @@ -15,6 +15,8 @@ from postgresqleu.util.validators import validate_lowercase, validate_urlname from postgresqleu.util.validators import TwitterValidator from postgresqleu.util.validators import PictureUrlValidator from postgresqleu.util.forms import ChoiceArrayField +from postgresqleu.util.fields import LowercaseEmailField + from postgresqleu.confreg.dbimage import SpeakerImageStorage @@ -138,9 +140,9 @@ class Conference(models.Model): promopicurl = models.URLField(blank=True, null=False, verbose_name="URL to promo picture", validators=[PictureUrlValidator(aspect=2.3)]) promotext = models.TextField(null=False, blank=True, max_length=1000, verbose_name="Promotion text") timediff = models.IntegerField(null=False, blank=False, default=0) - contactaddr = models.EmailField(blank=False, null=False, verbose_name="Contact address") - sponsoraddr = models.EmailField(blank=False, null=False, verbose_name="Sponsor address") - notifyaddr = models.EmailField(blank=False, null=False, verbose_name="Notification address") + contactaddr = LowercaseEmailField(blank=False, null=False, verbose_name="Contact address") + sponsoraddr = LowercaseEmailField(blank=False, null=False, verbose_name="Sponsor address") + notifyaddr = LowercaseEmailField(blank=False, null=False, verbose_name="Notification address") notifyregs = models.BooleanField(blank=False, null=False, default=False, verbose_name="Notify about registrations") active = models.BooleanField(blank=False, null=False, default=False, verbose_name="Registration open") callforpapersopen = models.BooleanField(blank=False, null=False, default=False, verbose_name="Call for papers open") @@ -481,7 +483,7 @@ class ConferenceRegistration(models.Model): registrator = models.ForeignKey(User, null=False, blank=False, related_name="registrator", on_delete=models.CASCADE) firstname = models.CharField(max_length=100, null=False, blank=False, verbose_name="First name") lastname = models.CharField(max_length=100, null=False, blank=False, verbose_name="Last name") - email = models.EmailField(null=False, blank=False, verbose_name="E-mail address") + email = LowercaseEmailField(null=False, blank=False, verbose_name="E-mail address") company = models.CharField(max_length=100, null=False, blank=True, verbose_name="Company") address = models.TextField(max_length=200, null=False, blank=True, verbose_name="Address") country = models.ForeignKey(Country, null=True, blank=True, verbose_name="Country", on_delete=models.CASCADE) |
