aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/user.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2012-07-25 00:38:05 +0200
committerMarcin Kuzminski <marcin@python-works.com>2012-07-25 00:38:05 +0200
commitfd7ee08eefdf7085f5da1411c61be8f622d7e38c (patch)
tree012e4aaa66666ff5a4eb693c3479096034d95e8d /rhodecode/model/user.py
parent3318ff17146fbf46b62412b8f376893d5e610116 (diff)
fixed api issue with changing username during update_user
--HG-- branch : beta
Diffstat (limited to 'rhodecode/model/user.py')
-rw-r--r--rhodecode/model/user.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py
index d9c98bea..8b5e3297 100644
--- a/rhodecode/model/user.py
+++ b/rhodecode/model/user.py
@@ -278,6 +278,28 @@ class UserModel(BaseModel):
log.error(traceback.format_exc())
raise
+ def update_user(self, user, **kwargs):
+ from rhodecode.lib.auth import get_crypt_password
+ try:
+ user = self._get_user(user)
+ if user.username == 'default':
+ raise DefaultUserException(
+ _("You can't Edit this user since it's"
+ " crucial for entire application")
+ )
+
+ for k, v in kwargs.items():
+ if k == 'password' and v:
+ v = get_crypt_password(v)
+ user.api_key = generate_api_key(user.username)
+
+ setattr(user, k, v)
+ self.sa.add(user)
+ return user
+ except:
+ log.error(traceback.format_exc())
+ raise
+
def update_my_account(self, user_id, form_data):
from rhodecode.lib.auth import get_crypt_password
try: