Mercurial > kallithea
diff rhodecode/model/permission.py @ 3052:d3200c58764e beta
implemented #663 Admin/permission: specify default repogroup perms
- added migration that adds new default permission for groups
- merged with patch from Vincent Caron
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 30 Nov 2012 00:59:49 +0100 |
parents | 091e99b29fd4 |
children | a5f0bc867edc 9e76876a0690 |
line wrap: on
line diff
--- a/rhodecode/model/permission.py Fri Nov 30 00:19:20 2012 +0100 +++ b/rhodecode/model/permission.py Fri Nov 30 00:59:49 2012 +0100 @@ -78,16 +78,21 @@ u2p = self.sa.query(UserToPerm).filter(UserToPerm.user == perm_user).all() if len(u2p) != len(User.DEFAULT_PERMISSIONS): - raise Exception('Defined: %s should be 4 permissions for default' + raise Exception('Defined: %s should be %s permissions for default' ' user. This should not happen please verify' - ' your database' % len(u2p)) + ' your database' % (len(u2p), len(User.DEFAULT_PERMISSIONS))) try: # stage 1 change defaults for p in u2p: if p.permission.permission_name.startswith('repository.'): p.permission = self.get_permission_by_name( - form_result['default_perm']) + form_result['default_repo_perm']) + self.sa.add(p) + + elif p.permission.permission_name.startswith('group.'): + p.permission = self.get_permission_by_name( + form_result['default_group_perm']) self.sa.add(p) elif p.permission.permission_name.startswith('hg.register.'): @@ -105,9 +110,9 @@ form_result['default_fork']) self.sa.add(p) - _def_name = form_result['default_perm'].split('repository.')[-1] #stage 2 update all default permissions for repos if checked - if form_result['overwrite_default'] == True: + if form_result['overwrite_default_repo'] == True: + _def_name = form_result['default_repo_perm'].split('repository.')[-1] _def = self.get_permission_by_name('repository.' + _def_name) # repos for r2p in self.sa.query(UserRepoToPerm)\ @@ -115,6 +120,9 @@ .all(): r2p.permission = _def self.sa.add(r2p) + + if form_result['overwrite_default_group'] == True: + _def_name = form_result['default_group_perm'].split('group.')[-1] # groups _def = self.get_permission_by_name('group.' + _def_name) for g2p in self.sa.query(UserRepoGroupToPerm)\