Mercurial > kallithea
changeset 3865:100be6988bb0 beta
show admin menu and list for users who are admins of repos.
- this is consistent with user groups, repo groups displaying.
- fixes 403s after you actually delete a repository being it's admin
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 17 May 2013 21:33:24 +0200 |
parents | 1aefa8d864e4 |
children | 1fdec7e3aeb2 |
files | rhodecode/controllers/admin/repos.py rhodecode/lib/auth.py rhodecode/templates/base/base.html |
diffstat | 3 files changed, 13 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Fri May 17 21:12:54 2013 +0200 +++ b/rhodecode/controllers/admin/repos.py Fri May 17 21:33:24 2013 +0200 @@ -133,15 +133,14 @@ defaults['id_fork_of'] = db_repo.fork.repo_id if db_repo.fork else '' return defaults - @HasPermissionAllDecorator('hg.admin') def index(self, format='html'): """GET /repos: All items in the collection""" # url('repos') + repo_list = Repository.query()\ + .order_by(func.lower(Repository.repo_name))\ + .all() - c.repos_list = Repository.query()\ - .order_by(func.lower(Repository.repo_name))\ - .all() - + c.repos_list = RepoList(repo_list, perm_set=['repository.admin']) repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, admin=True, super_user_actions=True)
--- a/rhodecode/lib/auth.py Fri May 17 21:12:54 2013 +0200 +++ b/rhodecode/lib/auth.py Fri May 17 21:33:24 2013 +0200 @@ -403,7 +403,7 @@ return self.admin @property - def repos_admin(self): + def repositories_admin(self): """ Returns list of repositories you're an admin of """
--- a/rhodecode/templates/base/base.html Fri May 17 21:12:54 2013 +0200 +++ b/rhodecode/templates/base/base.html Fri May 17 21:33:24 2013 +0200 @@ -77,11 +77,14 @@ </ul> </%def> -<%def name="admin_menu_simple(repository_groups=None, user_groups=None)"> +<%def name="admin_menu_simple(repositories=None, repository_groups=None, user_groups=None)"> <ul> + %if repositories: + <li>${h.link_to(_('Repositories'),h.url('repos'),class_='repos')}</li> + %endif %if repository_groups: <li>${h.link_to(_('Repository groups'),h.url('repos_groups'),class_='repos_groups')}</li> - %endif: + %endif %if user_groups: <li>${h.link_to(_('User groups'),h.url('users_groups'),class_='groups')}</li> %endif @@ -311,12 +314,13 @@ </a> ${admin_menu()} </li> - % elif c.rhodecode_user.repository_groups_admin or c.rhodecode_user.user_groups_admin: + % elif c.rhodecode_user.repositories_admin or c.rhodecode_user.repository_groups_admin or c.rhodecode_user.user_groups_admin: <li ${is_current('admin')}> <a class="menu_link admin childs" title="${_('Admin')}"> ${_('Admin')} </a> - ${admin_menu_simple(c.rhodecode_user.repository_groups_admin, + ${admin_menu_simple(c.rhodecode_user.repositories_admin, + c.rhodecode_user.repository_groups_admin, c.rhodecode_user.user_groups_admin or h.HasPermissionAny('hg.usergroup.create.true')())} </li> % endif