Mercurial > kallithea
comparison 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 |
comparison
equal
deleted
inserted
replaced
2150:a8c9c0094ddf | 2151:12ceeda33339 |
---|---|
28 import traceback | 28 import traceback |
29 import logging | 29 import logging |
30 | 30 |
31 from rhodecode.controllers.api import JSONRPCController, JSONRPCError | 31 from rhodecode.controllers.api import JSONRPCController, JSONRPCError |
32 from rhodecode.lib.auth import HasPermissionAllDecorator, \ | 32 from rhodecode.lib.auth import HasPermissionAllDecorator, \ |
33 HasPermissionAnyDecorator, PasswordGenerator | 33 HasPermissionAnyDecorator, PasswordGenerator, AuthUser |
34 | 34 |
35 from rhodecode.model.meta import Session | 35 from rhodecode.model.meta import Session |
36 from rhodecode.model.scm import ScmModel | 36 from rhodecode.model.scm import ScmModel |
37 from rhodecode.model.db import User, UsersGroup, RepoGroup, Repository | 37 from rhodecode.model.db import User, UsersGroup, Repository |
38 from rhodecode.model.repo import RepoModel | 38 from rhodecode.model.repo import RepoModel |
39 from rhodecode.model.user import UserModel | 39 from rhodecode.model.user import UserModel |
40 from rhodecode.model.users_group import UsersGroupModel | 40 from rhodecode.model.users_group import UsersGroupModel |
41 from rhodecode.model.repos_group import ReposGroupModel | |
42 from rhodecode.lib.utils import map_groups | 41 from rhodecode.lib.utils import map_groups |
43 | |
44 | 42 |
45 log = logging.getLogger(__name__) | 43 log = logging.getLogger(__name__) |
46 | 44 |
47 | 45 |
48 class ApiController(JSONRPCController): | 46 class ApiController(JSONRPCController): |
99 firstname=user.name, | 97 firstname=user.name, |
100 lastname=user.lastname, | 98 lastname=user.lastname, |
101 email=user.email, | 99 email=user.email, |
102 active=user.active, | 100 active=user.active, |
103 admin=user.admin, | 101 admin=user.admin, |
104 ldap_dn=user.ldap_dn | 102 ldap_dn=user.ldap_dn, |
103 last_login=user.last_login, | |
104 permissions=AuthUser(user_id=user.user_id).permissions | |
105 ) | 105 ) |
106 | 106 |
107 @HasPermissionAllDecorator('hg.admin') | 107 @HasPermissionAllDecorator('hg.admin') |
108 def get_users(self, apiuser): | 108 def get_users(self, apiuser): |
109 """" | 109 """" |
121 firstname=user.name, | 121 firstname=user.name, |
122 lastname=user.lastname, | 122 lastname=user.lastname, |
123 email=user.email, | 123 email=user.email, |
124 active=user.active, | 124 active=user.active, |
125 admin=user.admin, | 125 admin=user.admin, |
126 ldap_dn=user.ldap_dn | 126 ldap_dn=user.ldap_dn, |
127 last_login=user.last_login, | |
127 ) | 128 ) |
128 ) | 129 ) |
129 return result | 130 return result |
130 | 131 |
131 @HasPermissionAllDecorator('hg.admin') | 132 @HasPermissionAllDecorator('hg.admin') |