comparison rhodecode/model/repos_group.py @ 2631:f597cfb492f9 beta

Added quick links for editing permissions for users from permission overview
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 18 Jul 2012 22:07:46 +0200
parents 40b3a54391f9
children 9bce679a3f49
comparison
equal deleted inserted replaced
2630:f79320e47e99 2631:f597cfb492f9
43 43
44 def __get_users_group(self, users_group): 44 def __get_users_group(self, users_group):
45 return self._get_instance(UsersGroup, users_group, 45 return self._get_instance(UsersGroup, users_group,
46 callback=UsersGroup.get_by_group_name) 46 callback=UsersGroup.get_by_group_name)
47 47
48 def __get_repos_group(self, repos_group): 48 def _get_repos_group(self, repos_group):
49 return self._get_instance(RepoGroup, repos_group, 49 return self._get_instance(RepoGroup, repos_group,
50 callback=RepoGroup.get_by_group_name) 50 callback=RepoGroup.get_by_group_name)
51 51
52 @LazyProperty 52 @LazyProperty
53 def repos_path(self): 53 def repos_path(self):
131 131
132 def create(self, group_name, group_description, parent=None, just_db=False): 132 def create(self, group_name, group_description, parent=None, just_db=False):
133 try: 133 try:
134 new_repos_group = RepoGroup() 134 new_repos_group = RepoGroup()
135 new_repos_group.group_description = group_description 135 new_repos_group.group_description = group_description
136 new_repos_group.parent_group = self.__get_repos_group(parent) 136 new_repos_group.parent_group = self._get_repos_group(parent)
137 new_repos_group.group_name = new_repos_group.get_new_name(group_name) 137 new_repos_group.group_name = new_repos_group.get_new_name(group_name)
138 138
139 self.sa.add(new_repos_group) 139 self.sa.add(new_repos_group)
140 self._create_default_perms(new_repos_group) 140 self._create_default_perms(new_repos_group)
141 141
200 except: 200 except:
201 log.error(traceback.format_exc()) 201 log.error(traceback.format_exc())
202 raise 202 raise
203 203
204 def delete(self, repos_group): 204 def delete(self, repos_group):
205 repos_group = self.__get_repos_group(repos_group) 205 repos_group = self._get_repos_group(repos_group)
206 try: 206 try:
207 self.sa.delete(repos_group) 207 self.sa.delete(repos_group)
208 self.__delete_group(repos_group) 208 self.__delete_group(repos_group)
209 except: 209 except:
210 log.exception('Error removing repos_group %s' % repos_group) 210 log.exception('Error removing repos_group %s' % repos_group)
219 or repositories_group name 219 or repositories_group name
220 :param user: Instance of User, user_id or username 220 :param user: Instance of User, user_id or username
221 :param perm: Instance of Permission, or permission_name 221 :param perm: Instance of Permission, or permission_name
222 """ 222 """
223 223
224 repos_group = self.__get_repos_group(repos_group) 224 repos_group = self._get_repos_group(repos_group)
225 user = self._get_user(user) 225 user = self._get_user(user)
226 permission = self._get_perm(perm) 226 permission = self._get_perm(perm)
227 227
228 # check if we have that permission already 228 # check if we have that permission already
229 obj = self.sa.query(UserRepoGroupToPerm)\ 229 obj = self.sa.query(UserRepoGroupToPerm)\
245 :param repos_group: Instance of ReposGroup, repositories_group_id, 245 :param repos_group: Instance of ReposGroup, repositories_group_id,
246 or repositories_group name 246 or repositories_group name
247 :param user: Instance of User, user_id or username 247 :param user: Instance of User, user_id or username
248 """ 248 """
249 249
250 repos_group = self.__get_repos_group(repos_group) 250 repos_group = self._get_repos_group(repos_group)
251 user = self._get_user(user) 251 user = self._get_user(user)
252 252
253 obj = self.sa.query(UserRepoGroupToPerm)\ 253 obj = self.sa.query(UserRepoGroupToPerm)\
254 .filter(UserRepoGroupToPerm.user == user)\ 254 .filter(UserRepoGroupToPerm.user == user)\
255 .filter(UserRepoGroupToPerm.group == repos_group)\ 255 .filter(UserRepoGroupToPerm.group == repos_group)\
265 or repositories_group name 265 or repositories_group name
266 :param group_name: Instance of UserGroup, users_group_id, 266 :param group_name: Instance of UserGroup, users_group_id,
267 or users group name 267 or users group name
268 :param perm: Instance of Permission, or permission_name 268 :param perm: Instance of Permission, or permission_name
269 """ 269 """
270 repos_group = self.__get_repos_group(repos_group) 270 repos_group = self._get_repos_group(repos_group)
271 group_name = self.__get_users_group(group_name) 271 group_name = self.__get_users_group(group_name)
272 permission = self._get_perm(perm) 272 permission = self._get_perm(perm)
273 273
274 # check if we have that permission already 274 # check if we have that permission already
275 obj = self.sa.query(UsersGroupRepoGroupToPerm)\ 275 obj = self.sa.query(UsersGroupRepoGroupToPerm)\
293 :param repos_group: Instance of ReposGroup, repositories_group_id, 293 :param repos_group: Instance of ReposGroup, repositories_group_id,
294 or repositories_group name 294 or repositories_group name
295 :param group_name: Instance of UserGroup, users_group_id, 295 :param group_name: Instance of UserGroup, users_group_id,
296 or users group name 296 or users group name
297 """ 297 """
298 repos_group = self.__get_repos_group(repos_group) 298 repos_group = self._get_repos_group(repos_group)
299 group_name = self.__get_users_group(group_name) 299 group_name = self.__get_users_group(group_name)
300 300
301 obj = self.sa.query(UsersGroupRepoGroupToPerm)\ 301 obj = self.sa.query(UsersGroupRepoGroupToPerm)\
302 .filter(UsersGroupRepoGroupToPerm.group == repos_group)\ 302 .filter(UsersGroupRepoGroupToPerm.group == repos_group)\
303 .filter(UsersGroupRepoGroupToPerm.users_group == group_name)\ 303 .filter(UsersGroupRepoGroupToPerm.users_group == group_name)\