Mercurial > kallithea
changeset 2727:5899fe08f063 beta
Forbid adding files and editing from web interface while repo is locked
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 22 Aug 2012 00:40:24 +0200 |
parents | aa17c7a1b8a5 |
children | 6341084b7a2f |
files | rhodecode/controllers/files.py |
diffstat | 1 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/files.py Wed Aug 22 00:30:02 2012 +0200 +++ b/rhodecode/controllers/files.py Wed Aug 22 00:40:24 2012 +0200 @@ -234,6 +234,15 @@ @LoginRequired() @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') def edit(self, repo_name, revision, f_path): + repo = Repository.get_by_repo_name(repo_name) + if repo.enable_locking and repo.locked[0]: + h.flash(_('This repository is has been locked by %s on %s') + % (h.person_by_id(repo.locked[0]), + h.fmt_date(h.time_to_datetime(repo.locked[1]))), + 'warning') + return redirect(h.url('files_home', + repo_name=repo_name, revision='tip')) + r_post = request.POST c.cs = self.__get_cs_or_redirect(revision, repo_name) @@ -284,6 +293,16 @@ @LoginRequired() @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') def add(self, repo_name, revision, f_path): + + repo = Repository.get_by_repo_name(repo_name) + if repo.enable_locking and repo.locked[0]: + h.flash(_('This repository is has been locked by %s on %s') + % (h.person_by_id(repo.locked[0]), + h.fmt_date(h.time_to_datetime(repo.locked[1]))), + 'warning') + return redirect(h.url('files_home', + repo_name=repo_name, revision='tip')) + r_post = request.POST c.cs = self.__get_cs_or_redirect(revision, repo_name, redirect_after=False)