Mercurial > kallithea
diff rhodecode/controllers/admin/permissions.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 | 91c442a489bb |
children | 63e58ef80ef1 d3200c58764e |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/permissions.py Wed Aug 08 23:30:55 2012 +0200 +++ b/rhodecode/controllers/admin/permissions.py Fri Aug 10 03:09:36 2012 +0200 @@ -71,6 +71,15 @@ self.create_choices = [('hg.create.none', _('Disabled')), ('hg.create.repository', _('Enabled'))] + self.fork_choices = [('hg.fork.none', _('Disabled')), + ('hg.fork.repository', _('Enabled'))] + + # set the global template variables + c.perms_choices = self.perms_choices + c.register_choices = self.register_choices + c.create_choices = self.create_choices + c.fork_choices = self.fork_choices + def index(self, format='html'): """GET /permissions: All items in the collection""" # url('permissions') @@ -96,7 +105,8 @@ _form = DefaultPermissionsForm([x[0] for x in self.perms_choices], [x[0] for x in self.register_choices], - [x[0] for x in self.create_choices])() + [x[0] for x in self.create_choices], + [x[0] for x in self.fork_choices])() try: form_result = _form.to_python(dict(request.POST)) @@ -107,9 +117,6 @@ category='success') except formencode.Invalid, errors: - c.perms_choices = self.perms_choices - c.register_choices = self.register_choices - c.create_choices = self.create_choices defaults = errors.value return htmlfill.render( @@ -141,10 +148,8 @@ def edit(self, id, format='html'): """GET /permissions/id/edit: Form to edit an existing item""" #url('edit_permission', id=ID) - c.perms_choices = self.perms_choices - c.register_choices = self.register_choices - c.create_choices = self.create_choices + #this form can only edit default user permissions if id == 'default': default_user = User.get_by_username('default') defaults = {'_method': 'put', @@ -160,10 +165,14 @@ if p.permission.permission_name.startswith('hg.create.'): defaults['default_create'] = p.permission.permission_name + if p.permission.permission_name.startswith('hg.fork.'): + defaults['default_fork'] = p.permission.permission_name + return htmlfill.render( - render('admin/permissions/permissions.html'), - defaults=defaults, - encoding="UTF-8", - force_defaults=True,) + render('admin/permissions/permissions.html'), + defaults=defaults, + encoding="UTF-8", + force_defaults=True, + ) else: return redirect(url('admin_home'))