From 6c5511020457c39961d069071ac60f7140ec724f Mon Sep 17 00:00:00 2001 From: Lukasz Jader <ljaderdev@gmail.com> Date: Wed, 19 Sep 2012 16:24:10 -0400 Subject: [PATCH] Update polish translation of EmptyRepositoryPage --- src/com/gitblit/GitFilter.java | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/com/gitblit/GitFilter.java b/src/com/gitblit/GitFilter.java index e76fd76..8ce4d3a 100644 --- a/src/com/gitblit/GitFilter.java +++ b/src/com/gitblit/GitFilter.java @@ -32,12 +32,29 @@ */ public class GitFilter extends AccessRestrictionFilter { - protected final String gitReceivePack = "/git-receive-pack"; + protected static final String gitReceivePack = "/git-receive-pack"; - protected final String gitUploadPack = "/git-upload-pack"; + protected static final String gitUploadPack = "/git-upload-pack"; - protected final String[] suffixes = { gitReceivePack, gitUploadPack, "/info/refs", "/HEAD", + protected static final String[] suffixes = { gitReceivePack, gitUploadPack, "/info/refs", "/HEAD", "/objects" }; + + /** + * Extract the repository name from the url. + * + * @param url + * @return repository name + */ + public static String getRepositoryName(String value) { + String repository = value; + // get the repository name from the url by finding a known url suffix + for (String urlSuffix : suffixes) { + if (repository.indexOf(urlSuffix) > -1) { + repository = repository.substring(0, repository.indexOf(urlSuffix)); + } + } + return repository; + } /** * Extract the repository name from the url. @@ -47,14 +64,7 @@ */ @Override protected String extractRepositoryName(String url) { - String repository = url; - // get the repository name from the url by finding a known url suffix - for (String urlSuffix : suffixes) { - if (repository.indexOf(urlSuffix) > -1) { - repository = repository.substring(0, repository.indexOf(urlSuffix)); - } - } - return repository; + return GitFilter.getRepositoryName(url); } /** @@ -91,11 +101,13 @@ */ @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; + if (!StringUtils.isEmpty(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; @@ -105,11 +117,19 @@ * 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; } /** -- Gitblit v1.9.1