##// END OF EJS Templates
fixes #333 mismatch of argument for get_repo API method...
marcink -
r1842:ea011e05 default
parent child Browse files
Show More
@@ -1,3 +1,30 b''
1 # -*- coding: utf-8 -*-
2 """
3 rhodecode.controllers.api
4 ~~~~~~~~~~~~~~~~~~~~~~~~~
5
6 API controller for RhodeCode
7
8 :created_on: Aug 20, 2011
9 :author: marcink
10 :copyright: (C) 2011-2012 Marcin Kuzminski <marcin@python-works.com>
11 :license: GPLv3, see COPYING for more details.
12 """
13 # This program is free software; you can redistribute it and/or
14 # modify it under the terms of the GNU General Public License
15 # as published by the Free Software Foundation; version 2
16 # of the License or (at your opinion) any later version of the license.
17 #
18 # This program is distributed in the hope that it will be useful,
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # GNU General Public License for more details.
22 #
23 # You should have received a copy of the GNU General Public License
24 # along with this program; if not, write to the Free Software
25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26 # MA 02110-1301, USA.
27
1 28 import traceback
2 29 import logging
3 30
@@ -15,6 +42,7 b' from rhodecode.model import users_group'
15 42 from rhodecode.model.repos_group import ReposGroupModel
16 43 from sqlalchemy.orm.exc import NoResultFound
17 44
45
18 46 log = logging.getLogger(__name__)
19 47
20 48
@@ -58,41 +86,47 b' class ApiController(JSONRPCController):'
58 86 """"
59 87 Get a user by username
60 88
61 :param apiuser
62 :param username
89 :param apiuser:
90 :param username:
63 91 """
64 92
65 93 user = User.get_by_username(username)
66 94 if not user:
67 95 return None
68 96
69 return dict(id=user.user_id,
70 username=user.username,
71 firstname=user.name,
72 lastname=user.lastname,
73 email=user.email,
74 active=user.active,
75 admin=user.admin,
76 ldap=user.ldap_dn)
97 return dict(
98 id=user.user_id,
99 username=user.username,
100 firstname=user.name,
101 lastname=user.lastname,
102 email=user.email,
103 active=user.active,
104 admin=user.admin,
105 ldap=user.ldap_dn
106 )
77 107
78 108 @HasPermissionAllDecorator('hg.admin')
79 109 def get_users(self, apiuser):
80 110 """"
81 111 Get all users
82 112
83 :param apiuser
113 :param apiuser:
84 114 """
85 115
86 116 result = []
87 117 for user in User.getAll():
88 result.append(dict(id=user.user_id,
89 username=user.username,
90 firstname=user.name,
91 lastname=user.lastname,
92 email=user.email,
93 active=user.active,
94 admin=user.admin,
95 ldap=user.ldap_dn))
118 result.append(
119 dict(
120 id=user.user_id,
121 username=user.username,
122 firstname=user.name,
123 lastname=user.lastname,
124 email=user.email,
125 active=user.active,
126 admin=user.admin,
127 ldap=user.ldap_dn
128 )
129 )
96 130 return result
97 131
98 132 @HasPermissionAllDecorator('hg.admin')
@@ -112,7 +146,7 b' class ApiController(JSONRPCController):'
112 146 :param ldap_dn:
113 147 """
114 148
115 if self.get_user(apiuser, username):
149 if User.get_by_username(username):
116 150 raise JSONRPCError("user %s already exist" % username)
117 151
118 152 try:
@@ -135,8 +169,8 b' class ApiController(JSONRPCController):'
135 169 """"
136 170 Get users group by name
137 171
138 :param apiuser
139 :param group_name
172 :param apiuser:
173 :param group_name:
140 174 """
141 175
142 176 users_group = UsersGroup.get_by_group_name(group_name)
@@ -165,7 +199,7 b' class ApiController(JSONRPCController):'
165 199 """"
166 200 Get all users groups
167 201
168 :param apiuser
202 :param apiuser:
169 203 """
170 204
171 205 result = []
@@ -239,7 +273,7 b' class ApiController(JSONRPCController):'
239 273 raise JSONRPCError('failed to create users group member')
240 274
241 275 @HasPermissionAnyDecorator('hg.admin')
242 def get_repo(self, apiuser, repo_name):
276 def get_repo(self, apiuser, name):
243 277 """"
244 278 Get repository by name
245 279
@@ -248,7 +282,7 b' class ApiController(JSONRPCController):'
248 282 """
249 283
250 284 try:
251 repo = Repository.get_by_repo_name(repo_name)
285 repo = Repository.get_by_repo_name(name)
252 286 except NoResultFound:
253 287 return None
254 288
@@ -256,30 +290,40 b' class ApiController(JSONRPCController):'
256 290 for user in repo.repo_to_perm:
257 291 perm = user.permission.permission_name
258 292 user = user.user
259 members.append(dict(type_="user",
260 id=user.user_id,
261 username=user.username,
262 firstname=user.name,
263 lastname=user.lastname,
264 email=user.email,
265 active=user.active,
266 admin=user.admin,
267 ldap=user.ldap_dn,
268 permission=perm))
293 members.append(
294 dict(
295 type_="user",
296 id=user.user_id,
297 username=user.username,
298 firstname=user.name,
299 lastname=user.lastname,
300 email=user.email,
301 active=user.active,
302 admin=user.admin,
303 ldap=user.ldap_dn,
304 permission=perm
305 )
306 )
269 307 for users_group in repo.users_group_to_perm:
270 308 perm = users_group.permission.permission_name
271 309 users_group = users_group.users_group
272 members.append(dict(type_="users_group",
273 id=users_group.users_group_id,
274 name=users_group.users_group_name,
275 active=users_group.users_group_active,
276 permission=perm))
310 members.append(
311 dict(
312 type_="users_group",
313 id=users_group.users_group_id,
314 name=users_group.users_group_name,
315 active=users_group.users_group_active,
316 permission=perm
317 )
318 )
277 319
278 return dict(id=repo.repo_id,
279 name=repo.repo_name,
280 type=repo.repo_type,
281 description=repo.description,
282 members=members)
320 return dict(
321 id=repo.repo_id,
322 name=repo.repo_name,
323 type=repo.repo_type,
324 description=repo.description,
325 members=members
326 )
283 327
284 328 @HasPermissionAnyDecorator('hg.admin')
285 329 def get_repos(self, apiuser):
@@ -291,10 +335,14 b' class ApiController(JSONRPCController):'
291 335
292 336 result = []
293 337 for repository in Repository.getAll():
294 result.append(dict(id=repository.repo_id,
295 name=repository.repo_name,
296 type=repository.repo_type,
297 description=repository.description))
338 result.append(
339 dict(
340 id=repository.repo_id,
341 name=repository.repo_name,
342 type=repository.repo_type,
343 description=repository.description
344 )
345 )
298 346 return result
299 347
300 348 @HasPermissionAnyDecorator('hg.admin', 'hg.create.repository')
General Comments 0
You need to be logged in to leave comments. Login now