diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-01-24 20:01:09 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-01-24 20:01:09 +0200 |
commit | 52eb180ea858d7a507e9ebe0306d7f6b1480d74e (patch) | |
tree | c90d65180df3676fc114b98e6e68a3156373bd8a | |
parent | c809f0b263078efecba1c0d73bb7faa6d71a9f9e (diff) |
fixes missing email attribute. Bug introduced after applying setters and getter for sqlalchemy
-rwxr-xr-x | rhodecode/model/db.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py index d7aa6b17..d9369b29 100755 --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -54,6 +54,7 @@ log = logging.getLogger(__name__) # BASE CLASSES #============================================================================== + class ModelSerializer(json.JSONEncoder): """ Simple Serializer for JSON, @@ -84,6 +85,7 @@ class ModelSerializer(json.JSONEncoder): else: return json.JSONEncoder.default(self, obj) + class BaseModel(object): """Base Model for all classess @@ -101,6 +103,10 @@ class BaseModel(object): 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 @@ class User(Base, BaseModel): 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: |