# HG changeset patch # User Marcin Kuzminski # Date 1359404086 -3600 # Node ID 8f3cc21d83e6958577d267f2983da64fba11d29e # Parent 23c816fd6afb79f02cfc08d09f2b2bb44ea8a19c fixes issue #739 Delete/Edit repositories should only point to admin links if the user is an super admin. diff -r 23c816fd6afb -r 8f3cc21d83e6 rhodecode/controllers/admin/repos.py --- 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) diff -r 23c816fd6afb -r 8f3cc21d83e6 rhodecode/model/repo.py --- 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) diff -r 23c816fd6afb -r 8f3cc21d83e6 rhodecode/templates/data_table/_dt_elements.html --- 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 @@
gravatar
-<%def name="repo_actions(repo_name)"> +<%def name="repo_actions(repo_name, super_user=True)">
- - ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} - + %if super_user: + + ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} + + %else: + + ${h.submit('edit_%s' % repo_name,_('edit'),class_="edit_icon action_button")} + + %endif
- ${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