changeset 1947:a1b8bd86c488

fixes missing email attribute. Bug introduced after applying setters and getter for sqlalchemy
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 24 Jan 2012 20:01:09 +0200
parents bab80d1436fb
children 1ce36a5f2305
files rhodecode/model/db.py
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/db.py	Sun Jan 22 21:22:43 2012 +0200
+++ b/rhodecode/model/db.py	Tue Jan 24 20:01:09 2012 +0200
@@ -54,6 +54,7 @@
 # BASE CLASSES
 #==============================================================================
 
+
 class ModelSerializer(json.JSONEncoder):
     """
     Simple Serializer for JSON,
@@ -84,6 +85,7 @@
         else:
             return json.JSONEncoder.default(self, obj)
 
+
 class BaseModel(object):
     """Base Model for all classess
 
@@ -101,6 +103,10 @@
         d = {}
         for k in self._get_keys():
             d[k] = getattr(self, k)
+
+        # also use __json__() if present to get additional fields
+        for k, val in getattr(self, '__json__', lambda: {})().iteritems():
+            d[k] = val
         return d
 
     def get_appstruct(self):
@@ -315,6 +321,9 @@
         except:
             return self.__class__.__name__
 
+    def __json__(self):
+        return {'email': self.email}
+
     @classmethod
     def get_by_username(cls, username, case_insensitive=False):
         if case_insensitive: