Mercurial > kallithea
comparison rhodecode/model/permission.py @ 2709:d2d35cf2b351 beta
RhodeCode now has a option to explicitly set forking permissions. ref #508
- changed the way permissons on users groups behave. Now explicit set on user
is more important than permission set on users group
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 10 Aug 2012 03:09:36 +0200 |
parents | 17893d61792a |
children | 63e58ef80ef1 091e99b29fd4 |
comparison
equal
deleted
inserted
replaced
2708:9bce679a3f49 | 2709:d2d35cf2b351 |
---|---|
75 perm_user = self.sa.query(User)\ | 75 perm_user = self.sa.query(User)\ |
76 .filter(User.username == | 76 .filter(User.username == |
77 form_result['perm_user_name']).scalar() | 77 form_result['perm_user_name']).scalar() |
78 u2p = self.sa.query(UserToPerm).filter(UserToPerm.user == | 78 u2p = self.sa.query(UserToPerm).filter(UserToPerm.user == |
79 perm_user).all() | 79 perm_user).all() |
80 if len(u2p) != 3: | 80 if len(u2p) != 4: |
81 raise Exception('Defined: %s should be 3 permissions for default' | 81 raise Exception('Defined: %s should be 4 permissions for default' |
82 ' user. This should not happen please verify' | 82 ' user. This should not happen please verify' |
83 ' your database' % len(u2p)) | 83 ' your database' % len(u2p)) |
84 | 84 |
85 try: | 85 try: |
86 # stage 1 change defaults | 86 # stage 1 change defaults |
96 self.sa.add(p) | 96 self.sa.add(p) |
97 | 97 |
98 elif p.permission.permission_name.startswith('hg.create.'): | 98 elif p.permission.permission_name.startswith('hg.create.'): |
99 p.permission = self.get_permission_by_name( | 99 p.permission = self.get_permission_by_name( |
100 form_result['default_create']) | 100 form_result['default_create']) |
101 self.sa.add(p) | |
102 | |
103 elif p.permission.permission_name.startswith('hg.fork.'): | |
104 p.permission = self.get_permission_by_name( | |
105 form_result['default_fork']) | |
101 self.sa.add(p) | 106 self.sa.add(p) |
102 | 107 |
103 _def_name = form_result['default_perm'].split('repository.')[-1] | 108 _def_name = form_result['default_perm'].split('repository.')[-1] |
104 #stage 2 update all default permissions for repos if checked | 109 #stage 2 update all default permissions for repos if checked |
105 if form_result['overwrite_default'] == True: | 110 if form_result['overwrite_default'] == True: |