# HG changeset patch # User Milka Kuzminski # Date 2021-03-24 15:52:47 # Node ID b7737b7b44919b8836b9a797b14400c3d94a18ee # Parent 2b36afd53d1d9e59da8fa9212ef0481aad1181f0 permissions: use constant for fork enable/disable diff --git a/rhodecode/api/views/repo_api.py b/rhodecode/api/views/repo_api.py --- a/rhodecode/api/views/repo_api.py +++ b/rhodecode/api/views/repo_api.py @@ -1212,7 +1212,7 @@ def fork_repo(request, apiuser, repoid, validate_repo_permissions(apiuser, repoid, repo, _perms) # check if the regular user has at least fork permissions as well - if not HasPermissionAnyApi('hg.fork.repository')(user=apiuser): + if not HasPermissionAnyApi(PermissionModel.FORKING_ENABLED)(user=apiuser): raise JSONRPCForbidden() # check if user can set owner parameter diff --git a/rhodecode/apps/repository/views/repo_forks.py b/rhodecode/apps/repository/views/repo_forks.py --- a/rhodecode/apps/repository/views/repo_forks.py +++ b/rhodecode/apps/repository/views/repo_forks.py @@ -165,7 +165,7 @@ class RepoForksView(RepoAppView, DataGri @LoginRequired() @NotAnonymous() - @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') + @HasPermissionAnyDecorator('hg.admin', PermissionModel.FORKING_ENABLED) @HasRepoPermissionAnyDecorator( 'repository.read', 'repository.write', 'repository.admin') def repo_fork_new(self): @@ -191,7 +191,7 @@ class RepoForksView(RepoAppView, DataGri @LoginRequired() @NotAnonymous() - @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') + @HasPermissionAnyDecorator('hg.admin', PermissionModel.FORKING_ENABLED) @HasRepoPermissionAnyDecorator( 'repository.read', 'repository.write', 'repository.admin') @CSRFRequired() diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -524,8 +524,10 @@ class PermissionCalculator(object): # In case we want to extend this list we should make sure # this is in sync with User.DEFAULT_USER_PERMISSIONS definitions + from rhodecode.model.permission import PermissionModel + _configurable = frozenset([ - 'hg.fork.none', 'hg.fork.repository', + PermissionModel.FORKING_DISABLED, PermissionModel.FORKING_ENABLED, 'hg.create.none', 'hg.create.repository', 'hg.usergroup.create.false', 'hg.usergroup.create.true', 'hg.repogroup.create.false', 'hg.repogroup.create.true', diff --git a/rhodecode/model/permission.py b/rhodecode/model/permission.py --- a/rhodecode/model/permission.py +++ b/rhodecode/model/permission.py @@ -41,6 +41,8 @@ class PermissionModel(BaseModel): """ Permissions model for RhodeCode """ + FORKING_DISABLED = 'hg.fork.none' + FORKING_ENABLED = 'hg.fork.repository' cls = Permission global_perms = { @@ -122,8 +124,8 @@ class PermissionModel(BaseModel): ('hg.repogroup.create.true', _('Enabled'))] c_obj.fork_choices = [ - ('hg.fork.none', _('Disabled')), - ('hg.fork.repository', _('Enabled'))] + (self.FORKING_DISABLED, _('Disabled')), + (self.FORKING_ENABLED, _('Enabled'))] c_obj.inherit_default_permission_choices = [ ('hg.inherit_default_perms.false', _('Disabled')),