changeset 1825:9e53425ca824

backporting fix for issue #298 conflicting-e-mail-addresses-for-ldap
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 04 Jan 2012 03:59:52 +0200
parents 6b318706f712
children 6f8f1ab20b7d
files rhodecode/model/db.py
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/db.py	Wed Jan 04 03:12:30 2012 +0200
+++ b/rhodecode/model/db.py	Wed Jan 04 03:59:52 2012 +0200
@@ -270,7 +270,7 @@
     admin = Column("admin", Boolean(), nullable=True, unique=None, default=False)
     name = Column("name", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     lastname = Column("lastname", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
-    email = Column("email", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
+    _email = Column("email", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     last_login = Column("last_login", DateTime(timezone=False), nullable=True, unique=None, default=None)
     ldap_dn = Column("ldap_dn", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     api_key = Column("api_key", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
@@ -284,6 +284,18 @@
 
     group_member = relationship('UsersGroupMember', cascade='all')
 
+    @hybrid_property
+    def email(self):
+        return self._email
+
+    @email.setter
+    def email(self, val):
+        self._email = val.lower() if val else None
+
+    @property
+    def full_name(self):
+        return '%s %s' % (self.name, self.lastname)
+
     @property
     def full_contact(self):
         return '%s %s <%s>' % (self.name, self.lastname, self.email)