Mercurial > kallithea
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: