# HG changeset patch # User Marcin Kuzminski # Date 2011-02-16 11:18:18 # Node ID 97ed582ea86e301a42965aa0556fe44c1bb6b861 # Parent 520d27f40b51e58668eca9f2ce0500b657331548 permission fixes for forking diff --git a/rhodecode/controllers/settings.py b/rhodecode/controllers/settings.py --- a/rhodecode/controllers/settings.py +++ b/rhodecode/controllers/settings.py @@ -37,7 +37,7 @@ from pylons.i18n.translation import _ import rhodecode.lib.helpers as h from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator, \ - NotAnonymous + HasRepoPermissionAnyDecorator, NotAnonymous from rhodecode.lib.base import BaseRepoController, render from rhodecode.lib.utils import invalidate_cache, action_logger @@ -161,7 +161,8 @@ class SettingsController(BaseRepoControl return redirect(url('home')) @NotAnonymous() - @HasRepoPermissionAllDecorator('repository.read') + @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', + 'repository.admin') def fork(self, repo_name): repo_model = RepoModel() c.repo_info = repo = repo_model.get_by_repo_name(repo_name) @@ -177,7 +178,8 @@ class SettingsController(BaseRepoControl return render('settings/repo_fork.html') @NotAnonymous() - @HasRepoPermissionAllDecorator('repository.read') + @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', + 'repository.admin') def fork_create(self, repo_name): repo_model = RepoModel() c.repo_info = repo_model.get_by_repo_name(repo_name)