# HG changeset patch # User Mads Kiilerich # Date 1586646452 -7200 # Node ID c19e720cbb21f41aef9404012bd74a5b4fafb6d1 # Parent d79de6c61359c5c4efdc5afcc6f0d04a9074d8cd permissions: move hg.create.repository knowledge to AvailableRepoGroupChoices - it already knows hg.admin diff -r d79de6c61359 -r c19e720cbb21 kallithea/controllers/admin/repo_groups.py --- a/kallithea/controllers/admin/repo_groups.py Sun Apr 12 01:35:05 2020 +0200 +++ b/kallithea/controllers/admin/repo_groups.py Sun Apr 12 01:07:32 2020 +0200 @@ -63,7 +63,7 @@ exclude is used for not moving group to itself TODO: also exclude descendants Note: only admin can create top level groups """ - repo_groups = AvailableRepoGroupChoices([], 'admin', extras) + repo_groups = AvailableRepoGroupChoices('admin', extras) exclude_group_ids = set(rg.group_id for rg in exclude) c.repo_groups = [rg for rg in repo_groups if rg[0] not in exclude_group_ids] diff -r d79de6c61359 -r c19e720cbb21 kallithea/controllers/admin/repos.py --- a/kallithea/controllers/admin/repos.py Sun Apr 12 01:35:05 2020 +0200 +++ b/kallithea/controllers/admin/repos.py Sun Apr 12 01:07:32 2020 +0200 @@ -76,14 +76,13 @@ return repo_obj def __load_defaults(self, repo=None): - top_perms = ['hg.create.repository'] if HasPermissionAny('hg.create.write_on_repogroup.true')(): repo_group_perm_level = 'write' else: repo_group_perm_level = 'admin' extras = [] if repo is None else [repo.group] - c.repo_groups = AvailableRepoGroupChoices(top_perms, repo_group_perm_level, extras) + c.repo_groups = AvailableRepoGroupChoices(repo_group_perm_level, extras) c.landing_revs_choices, c.landing_revs = ScmModel().get_repo_landing_revs(repo) diff -r d79de6c61359 -r c19e720cbb21 kallithea/controllers/forks.py --- a/kallithea/controllers/forks.py Sun Apr 12 01:35:05 2020 +0200 +++ b/kallithea/controllers/forks.py Sun Apr 12 01:07:32 2020 +0200 @@ -58,7 +58,7 @@ repo_group_perm_level = 'write' else: repo_group_perm_level = 'admin' - c.repo_groups = AvailableRepoGroupChoices(['hg.create.repository'], repo_group_perm_level) + c.repo_groups = AvailableRepoGroupChoices(repo_group_perm_level) c.landing_revs_choices, c.landing_revs = ScmModel().get_repo_landing_revs() diff -r d79de6c61359 -r c19e720cbb21 kallithea/model/scm.py --- a/kallithea/model/scm.py Sun Apr 12 01:35:05 2020 +0200 +++ b/kallithea/model/scm.py Sun Apr 12 01:07:32 2020 +0200 @@ -748,7 +748,7 @@ log.debug('skipping writing hook file') -def AvailableRepoGroupChoices(top_perms, repo_group_perm_level, extras=()): +def AvailableRepoGroupChoices(repo_group_perm_level, extras=()): """Return group_id,string tuples with choices for all the repo groups where the user has the necessary permissions. @@ -759,7 +759,7 @@ groups.append(None) else: groups = list(RepoGroupList(groups, perm_level=repo_group_perm_level)) - if top_perms and HasPermissionAny(*top_perms)('available repo groups'): + if HasPermissionAny('hg.create.repository')('available repo groups'): groups.append(None) for extra in extras: if not any(rg == extra for rg in groups):