Mercurial > kallithea
comparison rhodecode/model/repos_group.py @ 2432:d3ac7491a5c8 codereview
Share common getter functions in base model, and remove duplicated functions from other models
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 09 Jun 2012 20:23:48 +0200 |
parents | 8ecfed1d8f8b |
children | 4419551b2915 |
comparison
equal
deleted
inserted
replaced
2431:60dfc369df1d | 2432:d3ac7491a5c8 |
---|---|
37 log = logging.getLogger(__name__) | 37 log = logging.getLogger(__name__) |
38 | 38 |
39 | 39 |
40 class ReposGroupModel(BaseModel): | 40 class ReposGroupModel(BaseModel): |
41 | 41 |
42 def __get_user(self, user): | |
43 return self._get_instance(User, user, callback=User.get_by_username) | |
44 | |
45 def __get_users_group(self, users_group): | 42 def __get_users_group(self, users_group): |
46 return self._get_instance(UsersGroup, users_group, | 43 return self._get_instance(UsersGroup, users_group, |
47 callback=UsersGroup.get_by_group_name) | 44 callback=UsersGroup.get_by_group_name) |
48 | 45 |
49 def __get_repos_group(self, repos_group): | 46 def __get_repos_group(self, repos_group): |
50 return self._get_instance(RepoGroup, repos_group, | 47 return self._get_instance(RepoGroup, repos_group, |
51 callback=RepoGroup.get_by_group_name) | 48 callback=RepoGroup.get_by_group_name) |
52 | |
53 def __get_perm(self, permission): | |
54 return self._get_instance(Permission, permission, | |
55 callback=Permission.get_by_key) | |
56 | 49 |
57 @LazyProperty | 50 @LazyProperty |
58 def repos_path(self): | 51 def repos_path(self): |
59 """ | 52 """ |
60 Get's the repositories root path from database | 53 Get's the repositories root path from database |
225 :param user: Instance of User, user_id or username | 218 :param user: Instance of User, user_id or username |
226 :param perm: Instance of Permission, or permission_name | 219 :param perm: Instance of Permission, or permission_name |
227 """ | 220 """ |
228 | 221 |
229 repos_group = self.__get_repos_group(repos_group) | 222 repos_group = self.__get_repos_group(repos_group) |
230 user = self.__get_user(user) | 223 user = self._get_user(user) |
231 permission = self.__get_perm(perm) | 224 permission = self._get_perm(perm) |
232 | 225 |
233 # check if we have that permission already | 226 # check if we have that permission already |
234 obj = self.sa.query(UserRepoGroupToPerm)\ | 227 obj = self.sa.query(UserRepoGroupToPerm)\ |
235 .filter(UserRepoGroupToPerm.user == user)\ | 228 .filter(UserRepoGroupToPerm.user == user)\ |
236 .filter(UserRepoGroupToPerm.group == repos_group)\ | 229 .filter(UserRepoGroupToPerm.group == repos_group)\ |
251 or repositories_group name | 244 or repositories_group name |
252 :param user: Instance of User, user_id or username | 245 :param user: Instance of User, user_id or username |
253 """ | 246 """ |
254 | 247 |
255 repos_group = self.__get_repos_group(repos_group) | 248 repos_group = self.__get_repos_group(repos_group) |
256 user = self.__get_user(user) | 249 user = self._get_user(user) |
257 | 250 |
258 obj = self.sa.query(UserRepoGroupToPerm)\ | 251 obj = self.sa.query(UserRepoGroupToPerm)\ |
259 .filter(UserRepoGroupToPerm.user == user)\ | 252 .filter(UserRepoGroupToPerm.user == user)\ |
260 .filter(UserRepoGroupToPerm.group == repos_group)\ | 253 .filter(UserRepoGroupToPerm.group == repos_group)\ |
261 .one() | 254 .one() |
272 or users group name | 265 or users group name |
273 :param perm: Instance of Permission, or permission_name | 266 :param perm: Instance of Permission, or permission_name |
274 """ | 267 """ |
275 repos_group = self.__get_repos_group(repos_group) | 268 repos_group = self.__get_repos_group(repos_group) |
276 group_name = self.__get_users_group(group_name) | 269 group_name = self.__get_users_group(group_name) |
277 permission = self.__get_perm(perm) | 270 permission = self._get_perm(perm) |
278 | 271 |
279 # check if we have that permission already | 272 # check if we have that permission already |
280 obj = self.sa.query(UsersGroupRepoGroupToPerm)\ | 273 obj = self.sa.query(UsersGroupRepoGroupToPerm)\ |
281 .filter(UsersGroupRepoGroupToPerm.group == repos_group)\ | 274 .filter(UsersGroupRepoGroupToPerm.group == repos_group)\ |
282 .filter(UsersGroupRepoGroupToPerm.users_group == group_name)\ | 275 .filter(UsersGroupRepoGroupToPerm.users_group == group_name)\ |