diff rhodecode/controllers/api/api.py @ 2151:12ceeda33339 beta

#404 API extensions for showing permission for users - added permissions to get_user function - added last_login to get_user and get_users function - modified custom JSON encoder to handle non standard python types, like set, OrderedDict, datetime, date
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 21 Mar 2012 21:00:55 +0200
parents ee45677c4edc
children dc2584ba5fbc 347b00545b60
line wrap: on
line diff
--- a/rhodecode/controllers/api/api.py	Wed Mar 21 19:19:22 2012 +0200
+++ b/rhodecode/controllers/api/api.py	Wed Mar 21 21:00:55 2012 +0200
@@ -30,18 +30,16 @@
 
 from rhodecode.controllers.api import JSONRPCController, JSONRPCError
 from rhodecode.lib.auth import HasPermissionAllDecorator, \
-    HasPermissionAnyDecorator, PasswordGenerator
+    HasPermissionAnyDecorator, PasswordGenerator, AuthUser
 
 from rhodecode.model.meta import Session
 from rhodecode.model.scm import ScmModel
-from rhodecode.model.db import User, UsersGroup, RepoGroup, Repository
+from rhodecode.model.db import User, UsersGroup, Repository
 from rhodecode.model.repo import RepoModel
 from rhodecode.model.user import UserModel
 from rhodecode.model.users_group import UsersGroupModel
-from rhodecode.model.repos_group import ReposGroupModel
 from rhodecode.lib.utils import map_groups
 
-
 log = logging.getLogger(__name__)
 
 
@@ -101,7 +99,9 @@
             email=user.email,
             active=user.active,
             admin=user.admin,
-            ldap_dn=user.ldap_dn
+            ldap_dn=user.ldap_dn,
+            last_login=user.last_login,
+            permissions=AuthUser(user_id=user.user_id).permissions
         )
 
     @HasPermissionAllDecorator('hg.admin')
@@ -123,7 +123,8 @@
                     email=user.email,
                     active=user.active,
                     admin=user.admin,
-                    ldap_dn=user.ldap_dn
+                    ldap_dn=user.ldap_dn,
+                    last_login=user.last_login,
                 )
             )
         return result