Mercurial > kallithea
comparison rhodecode/model/user.py @ 1729:da8ee2ef7f6d beta
implements #236 forking copy permission option
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 26 Nov 2011 18:51:16 +0200 |
parents | 07e56179633e |
children | 31e6eb2fb4b2 |
comparison
equal
deleted
inserted
replaced
1728:07e56179633e | 1729:da8ee2ef7f6d |
---|---|
374 #================================================================== | 374 #================================================================== |
375 # set default permissions | 375 # set default permissions |
376 #================================================================== | 376 #================================================================== |
377 uid = user.user_id | 377 uid = user.user_id |
378 | 378 |
379 #default global | 379 # default global |
380 default_global_perms = self.sa.query(UserToPerm)\ | 380 default_global_perms = self.sa.query(UserToPerm)\ |
381 .filter(UserToPerm.user_id == default_user_id) | 381 .filter(UserToPerm.user_id == default_user_id) |
382 | 382 |
383 for perm in default_global_perms: | 383 for perm in default_global_perms: |
384 user.permissions['global'].add(perm.permission.permission_name) | 384 user.permissions['global'].add(perm.permission.permission_name) |
385 | 385 |
386 #default for repositories | 386 # default for repositories |
387 for perm in default_perms: | 387 for perm in default_perms: |
388 if perm.Repository.private and not (perm.Repository.user_id == | 388 if perm.Repository.private and not (perm.Repository.user_id == |
389 uid): | 389 uid): |
390 #disable defaults for private repos, | 390 # disable defaults for private repos, |
391 p = 'repository.none' | 391 p = 'repository.none' |
392 elif perm.Repository.user_id == uid: | 392 elif perm.Repository.user_id == uid: |
393 #set admin if owner | 393 # set admin if owner |
394 p = 'repository.admin' | 394 p = 'repository.admin' |
395 else: | 395 else: |
396 p = perm.Permission.permission_name | 396 p = perm.Permission.permission_name |
397 | 397 |
398 user.permissions['repositories'][perm.UserRepoToPerm. | 398 user.permissions['repositories'][perm.UserRepoToPerm. |
400 | 400 |
401 #================================================================== | 401 #================================================================== |
402 # overwrite default with user permissions if any | 402 # overwrite default with user permissions if any |
403 #================================================================== | 403 #================================================================== |
404 | 404 |
405 #user global | 405 # user global |
406 user_perms = self.sa.query(UserToPerm)\ | 406 user_perms = self.sa.query(UserToPerm)\ |
407 .options(joinedload(UserToPerm.permission))\ | 407 .options(joinedload(UserToPerm.permission))\ |
408 .filter(UserToPerm.user_id == uid).all() | 408 .filter(UserToPerm.user_id == uid).all() |
409 | 409 |
410 for perm in user_perms: | 410 for perm in user_perms: |
411 user.permissions['global'].add(perm.permission. | 411 user.permissions['global'].add(perm.permission.permission_name) |
412 permission_name) | 412 |
413 | 413 # user repositories |
414 #user repositories | |
415 user_repo_perms = self.sa.query(UserRepoToPerm, Permission, | 414 user_repo_perms = self.sa.query(UserRepoToPerm, Permission, |
416 Repository)\ | 415 Repository)\ |
417 .join((Repository, UserRepoToPerm.repository_id == | 416 .join((Repository, UserRepoToPerm.repository_id == |
418 Repository.repo_id))\ | 417 Repository.repo_id))\ |
419 .join((Permission, UserRepoToPerm.permission_id == | 418 .join((Permission, UserRepoToPerm.permission_id == |