From 7cd88ddbd93b115aeda76b87b1c99f9afa4aaaef Mon Sep 17 00:00:00 2001 From: Lukasz Jader <ljaderdev@gmail.com> Date: Sat, 14 Jul 2012 08:01:51 -0400 Subject: [PATCH] Fix some typos in polish translation --- src/com/gitblit/GitFilter.java | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/GitFilter.java b/src/com/gitblit/GitFilter.java index 83e7ac8..4ae5b6c 100644 --- a/src/com/gitblit/GitFilter.java +++ b/src/com/gitblit/GitFilter.java @@ -75,20 +75,49 @@ return gitReceivePack; } else if (suffix.contains("?service=git-upload-pack")) { return gitUploadPack; + } else { + return gitUploadPack; } } return null; + } + + /** + * Determine if the repository can receive pushes. + * + * @param repository + * @param action + * @return true if the action may be performed + */ + @Override + protected boolean isActionAllowed(RepositoryModel repository, String action) { + if (action.equals(gitReceivePack)) { + // Push request + if (!repository.isBare) { + logger.warn("Gitblit does not allow pushes to repositories with a working copy"); + return false; + } + } + return true; } /** * Determine if the repository requires authentication. * * @param repository + * @param action * @return true if authentication required */ @Override - protected boolean requiresAuthentication(RepositoryModel repository) { - return repository.accessRestriction.atLeast(AccessRestrictionType.PUSH); + protected boolean requiresAuthentication(RepositoryModel repository, String action) { + if (gitUploadPack.equals(action)) { + // send to client + return repository.accessRestriction.atLeast(AccessRestrictionType.CLONE); + } else if (gitReceivePack.equals(action)) { + // receive from client + return repository.accessRestriction.atLeast(AccessRestrictionType.PUSH); + } + return false; } /** @@ -105,10 +134,10 @@ if (!GitBlit.getBoolean(Keys.git.enableGitServlet, true)) { // Git Servlet disabled return false; - } - boolean readOnly = repository.isFrozen; + } + boolean readOnly = repository.isFrozen; if (readOnly || repository.accessRestriction.atLeast(AccessRestrictionType.PUSH)) { - boolean authorizedUser = user.canAccessRepository(repository.name); + boolean authorizedUser = user.canAccessRepository(repository); if (action.equals(gitReceivePack)) { // Push request if (!readOnly && authorizedUser) { -- Gitblit v1.9.1