Mercurial > kallithea
changeset 8553:c19e720cbb21
permissions: move hg.create.repository knowledge to AvailableRepoGroupChoices - it already knows hg.admin
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 12 Apr 2020 01:07:32 +0200 |
parents | d79de6c61359 |
children | 2ce710e81e61 |
files | kallithea/controllers/admin/repo_groups.py kallithea/controllers/admin/repos.py kallithea/controllers/forks.py kallithea/model/scm.py |
diffstat | 4 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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]
--- 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)
--- 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()
--- 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):