comparison pylons_app/lib/auth.py @ 412:ca54622e39a1

Added separate create repository views for non administrative users. Fixed permission issue with private repos
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 01 Aug 2010 17:08:58 +0200
parents bd8b25ad058d
children 55377fdc1fc6
comparison
equal deleted inserted replaced
411:86a25ad59766 412:ca54622e39a1
138 .filter(Repo2Perm.user_id == sa.query(User).filter(User.username == 138 .filter(Repo2Perm.user_id == sa.query(User).filter(User.username ==
139 'default').one().user_id).all() 139 'default').one().user_id).all()
140 140
141 if user.is_admin: 141 if user.is_admin:
142 user.permissions['global'].add('hg.admin') 142 user.permissions['global'].add('hg.admin')
143 #admin have all rights full 143 #admin have all rights set to admin
144 for perm in default_perms: 144 for perm in default_perms:
145 p = 'repository.admin' 145 p = 'repository.admin'
146 user.permissions['repositories'][perm.Repo2Perm.repository.repo_name] = p 146 user.permissions['repositories'][perm.Repo2Perm.repository.repo_name] = p
147 147
148 else: 148 else:
149 user.permissions['global'].add('repository.create') 149 user.permissions['global'].add('repository.create')
150 for perm in default_perms: 150 for perm in default_perms:
151 if perm.Repository.private: 151 if perm.Repository.private and not perm.Repository.user_id == user.user_id:
152 #disable defaults for private repos, 152 #disable defaults for private repos,
153 p = 'repository.none' 153 p = 'repository.none'
154 elif perm.Repository.user_id == user.user_id: 154 elif perm.Repository.user_id == user.user_id:
155 #set admin if owner 155 #set admin if owner
156 p = 'repository.admin' 156 p = 'repository.admin'
184 if user.is_authenticated: 184 if user.is_authenticated:
185 user = fill_data(user) 185 user = fill_data(user)
186 user = fill_perms(user) 186 user = fill_perms(user)
187 session['hg_app_user'] = user 187 session['hg_app_user'] = user
188 session.save() 188 session.save()
189 print user.permissions
189 return user 190 return user
190 191
191 #=============================================================================== 192 #===============================================================================
192 # CHECK DECORATORS 193 # CHECK DECORATORS
193 #=============================================================================== 194 #===============================================================================