@@ -44,16 +44,16 @@ from rhodecode.model.db import User
log = logging.getLogger(__name__)
class SettingsController(BaseRepoController):
@LoginRequired()
@HasRepoPermissionAllDecorator('repository.admin')
def __before__(self):
super(SettingsController, self).__before__()
def index(self, repo_name):
repo_model = RepoModel()
c.repo_info = repo = repo_model.get_by_repo_name(repo_name)
if not repo:
h.flash(_('%s repository is not mapped to db perhaps'
' it was created or renamed from the file system'
@@ -90,12 +90,13 @@ class SettingsController(BaseRepoControl
render('settings/repo_settings.html'),
defaults=defaults,
encoding="UTF-8",
force_defaults=False
)
def update(self, repo_name):
changed_name = repo_name
_form = RepoSettingsForm(edit=True, old_data={'repo_name':repo_name})()
try:
form_result = _form.to_python(dict(request.POST))
@@ -121,13 +122,13 @@ class SettingsController(BaseRepoControl
h.flash(_('error occurred during update of repository %s') \
% repo_name, category='error')
return redirect(url('repo_settings_home', repo_name=changed_name))
def delete(self, repo_name):
"""DELETE /repos/repo_name: Delete an existing item"""
# Forms posted to this method should contain a hidden field:
# <input type="hidden" name="_method" value="DELETE" />
# Or using helpers:
# h.form(url('repo_settings_delete', repo_name=ID),
@@ -153,12 +154,13 @@ class SettingsController(BaseRepoControl
except Exception:
h.flash(_('An error occurred during deletion of %s') % repo_name,
category='error')
return redirect(url('home'))
@HasRepoPermissionAllDecorator('repository.read')
def fork(self, repo_name):
@@ -168,13 +170,13 @@ class SettingsController(BaseRepoControl
return render('settings/repo_fork.html')
def fork_create(self, repo_name):
c.repo_info = repo_model.get_by_repo_name(repo_name)
_form = RepoForkForm(old_data={'repo_type':c.repo_info.repo_type})()
form_result = {}
@@ -230,14 +230,14 @@
%if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
%if h.HasPermissionAll('hg.admin')('access settings on repository'):
<li>${h.link_to(_('settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
%else:
<li>${h.link_to(_('settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
%endif
<li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
<li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
%if h.HasPermissionAll('hg.admin')('access admin main page'):
<li>
${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
<%def name="admin_menu()">
Status change: