diff options
author | James Moger <james.moger@gitblit.com> | 2014-05-09 07:57:14 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-05-09 09:55:19 -0400 |
commit | b4ed66fda03d83fd281ca9cbeae0a1c7785489e4 (patch) | |
tree | 32207b27740a422227a624665cfad60e1093d36b /src/main/java/com/gitblit/manager/RepositoryManager.java | |
parent | 99b43dffe86b635e97f625157083cee37ee921bf (diff) | |
download | gitblit-b4ed66fda03d83fd281ca9cbeae0a1c7785489e4.tar.gz gitblit-b4ed66fda03d83fd281ca9cbeae0a1c7785489e4.zip |
Move delete repository function into the edit page
Diffstat (limited to 'src/main/java/com/gitblit/manager/RepositoryManager.java')
-rw-r--r-- | src/main/java/com/gitblit/manager/RepositoryManager.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java index 7351eb97..c141f088 100644 --- a/src/main/java/com/gitblit/manager/RepositoryManager.java +++ b/src/main/java/com/gitblit/manager/RepositoryManager.java @@ -1533,6 +1533,17 @@ public class RepositoryManager implements IRepositoryManager { } /** + * Returns true if the repository can be deleted. + * + * @return true if the repository can be deleted + */ + @Override + public boolean canDelete(RepositoryModel repository) { + return settings.getBoolean(Keys.web.allowDeletingNonEmptyRepositories, true) + || !repository.hasCommits; + } + + /** * Deletes the repository from the file system and removes the repository * permission from all repository users. * @@ -1553,6 +1564,12 @@ public class RepositoryManager implements IRepositoryManager { */ @Override public boolean deleteRepository(String repositoryName) { + RepositoryModel repository = getRepositoryModel(repositoryName); + if (!canDelete(repository)) { + logger.warn("Attempt to delete {} rejected!", repositoryName); + return false; + } + try { close(repositoryName); // clear the repository cache |