Mercurial > kallithea
changeset 314:0d26d46bd370
protected againts changing default user.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 29 Jun 2010 20:36:09 +0200 |
parents | eb378708377e |
children | b00945765e7b |
files | pylons_app/model/user_model.py |
diffstat | 1 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/pylons_app/model/user_model.py Tue Jun 29 13:51:03 2010 +0200 +++ b/pylons_app/model/user_model.py Tue Jun 29 20:36:09 2010 +0200 @@ -26,9 +26,12 @@ from pylons_app.model.db import User from pylons_app.model.meta import Session +from pylons.i18n.translation import _ import logging log = logging.getLogger(__name__) +class DefaultUserException(Exception):pass + class UserModel(object): def __init__(self): @@ -53,6 +56,10 @@ def update(self, id, form_data): try: new_user = self.sa.query(User).get(id) + 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 != '': @@ -68,8 +75,15 @@ raise def delete(self, id): + try: - self.sa.delete(self.sa.query(User).get(id)) + + user = self.sa.query(User).get(id) + if user.username == 'default': + raise DefaultUserException( + _("You can't remove this user since it's" + " crucial for entire application")) + self.sa.delete(user) self.sa.commit() except Exception as e: log.error(e)