From df9fe517efea219490bf26061dbef9384d3c5736 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Wed, 10 Jul 2019 22:40:06 +0200 Subject: 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. --- postgresqleu/util/fields.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 postgresqleu/util/fields.py (limited to 'postgresqleu/util/fields.py') diff --git a/postgresqleu/util/fields.py b/postgresqleu/util/fields.py new file mode 100644 index 00000000..b1ed1190 --- /dev/null +++ b/postgresqleu/util/fields.py @@ -0,0 +1,9 @@ +from django.db import models + + +class LowercaseEmailField(models.EmailField): + def get_prep_value(self, value): + value = super(models.EmailField, self).get_prep_value(value) + if value is not None: + value = value.lower() + return value -- cgit v1.2.3