# HG changeset patch # User Marcin Kuzminski # Date 1327428069 -7200 # Node ID a1b8bd86c48884c3e45c3312182196e51b4a3d85 # Parent bab80d1436fb91699eb912f372388df2c1fdba03 fixes missing email attribute. Bug introduced after applying setters and getter for sqlalchemy diff -r bab80d1436fb -r a1b8bd86c488 rhodecode/model/db.py --- 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: