Mercurial > kallithea
changeset 3245:8f3cc21d83e6 beta
fixes issue #739 Delete/Edit repositories should only point to admin links if the user is an super admin.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 28 Jan 2013 21:14:46 +0100 |
parents | 23c816fd6afb |
children | b9ba0d4d3abf |
files | rhodecode/controllers/admin/repos.py rhodecode/model/repo.py rhodecode/templates/data_table/_dt_elements.html |
diffstat | 3 files changed, 24 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Mon Jan 28 20:52:57 2013 +0100 +++ b/rhodecode/controllers/admin/repos.py Mon Jan 28 21:14:46 2013 +0100 @@ -138,7 +138,8 @@ .all() repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, - admin=True) + admin=True, + super_user_actions=True) #json used to render the grid c.data = json.dumps(repos_data)
--- a/rhodecode/model/repo.py Mon Jan 28 20:52:57 2013 +0100 +++ b/rhodecode/model/repo.py Mon Jan 28 21:14:46 2013 +0100 @@ -143,7 +143,8 @@ kwargs.update(dict(_=_, h=h, c=c)) return tmpl.render(*args, **kwargs) - def get_repos_as_dict(self, repos_list=None, admin=False, perm_check=True): + def get_repos_as_dict(self, repos_list=None, admin=False, perm_check=True, + super_user_actions=False): _render = self._render_datatable def quick_menu(repo_name): @@ -175,7 +176,7 @@ return h.urlify_text(h.truncate(desc, 60)) def repo_actions(repo_name): - return _render('repo_actions', repo_name) + return _render('repo_actions', repo_name, super_user_actions) def owner_actions(user_id, username): return _render('user_name', user_id, username)
--- a/rhodecode/templates/data_table/_dt_elements.html Mon Jan 28 20:52:57 2013 +0100 +++ b/rhodecode/templates/data_table/_dt_elements.html Mon Jan 28 21:14:46 2013 +0100 @@ -110,17 +110,29 @@ <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(email, size)}"/> </div> </%def> -<%def name="repo_actions(repo_name)"> +<%def name="repo_actions(repo_name, super_user=True)"> <div> <div style="float:left"> - <a href="${h.url('repo_settings_home',repo_name=repo_name)}" title="${_('edit')}"> - ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} - </a> + %if super_user: + <a href="${h.url('edit_repo',repo_name=repo_name)}" title="${_('edit')}"> + ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} + </a> + %else: + <a href="${h.url('repo_settings_home',repo_name=repo_name)}" title="${_('edit')}"> + ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} + </a> + %endif </div> <div style="float:left"> - ${h.form(h.url('repo', repo_name=repo_name),method='delete')} - ${h.submit('remove_%s' % repo_name,_('delete'),class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")} - ${h.end_form()} + %if super_user: + ${h.form(h.url('repo', repo_name=repo_name),method='delete')} + ${h.submit('remove_%s' % repo_name,_('delete'),class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")} + ${h.end_form()} + %else: + ${h.form(h.url('repo_settings_delete', repo_name=repo_name),method='delete')} + ${h.submit('remove_%s' % repo_name,_('delete'),class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")} + ${h.end_form()} + %endif </div> </div> </%def>