Mercurial > public > src > rhodecode
diff pylons_app/model/user_model.py @ 401:5cd6616b8673
routes python 2.5 compatible
added my account settings,
some changes to routes mappers for settings to more custom ones
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 28 Jul 2010 01:44:39 +0200 |
parents | 98abf8953b87 |
children | 10e8a95477a8 3ed2d46a2ca7 |
line wrap: on
line diff
--- a/pylons_app/model/user_model.py Tue Jul 27 15:57:21 2010 +0200 +++ b/pylons_app/model/user_model.py Wed Jul 28 01:44:39 2010 +0200 @@ -68,9 +68,9 @@ self.sa.rollback() raise - def update(self, id, form_data): + def update(self, uid, form_data): try: - new_user = self.sa.query(User).get(id) + new_user = self.sa.query(User).get(uid) if new_user.username == 'default': raise DefaultUserException( _("You can't Edit this user since it's" @@ -87,7 +87,28 @@ log.error(e) self.sa.rollback() raise - + + def update_my_account(self, uid, form_data): + try: + new_user = self.sa.query(User).get(uid) + if new_user.username == 'default': + raise DefaultUserException( + _("You can't Edit this user since it's" + " crucial for entire application")) + for k, v in form_data.items(): + if k == 'new_password' and v != '': + new_user.password = v + else: + if k not in ['admin', 'active']: + setattr(new_user, k, v) + + self.sa.add(new_user) + self.sa.commit() + except Exception as e: + log.error(e) + self.sa.rollback() + raise + def delete(self, id): try: