From 3a7e0a8da5b1aa6b63b15f49df223b1e7796bfd3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 12 Jun 2013 17:23:03 -0400 Subject: [PATCH] Differentiate dashboard page link for authenticated vs. anonymous users --- src/main/java/com/gitblit/GitBlit.java | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index c5616d9..c538ace 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -239,6 +239,26 @@ } /** + * Determine if this Gitblit instance is actively serving git repositories + * or if it is merely a repository viewer. + * + * @return true if Gitblit is serving repositories + */ + public static boolean isServingRepositories() { + return getBoolean(Keys.git.enableGitServlet, true) || (getInteger(Keys.git.daemonPort, 0) > 0); + } + + /** + * Determine if this Gitblit instance is actively serving git repositories + * or if it is merely a repository viewer. + * + * @return true if Gitblit is serving repositories + */ + public static boolean isSendingMail() { + return self().mailExecutor.isReady(); + } + + /** * Returns the preferred timezone for the Gitblit instance. * * @return a timezone @@ -291,6 +311,19 @@ */ public static int getInteger(String key, int defaultValue) { return self().settings.getInteger(key, defaultValue); + } + + /** + * Returns the integer list for the specified key. If the key does not + * exist or the value for the key can not be interpreted as an integer, an + * empty list is returned. + * + * @see IStoredSettings.getIntegers(String key) + * @param key + * @return key value or defaultValue + */ + public static List<Integer> getIntegers(String key) { + return self().settings.getIntegers(key); } /** @@ -1906,6 +1939,8 @@ Constants.CONFIG_GITBLIT, null, "mailingList"))); model.indexedBranches = new ArrayList<String>(Arrays.asList(config.getStringList( Constants.CONFIG_GITBLIT, null, "indexBranch"))); + model.metricAuthorExclusions = new ArrayList<String>(Arrays.asList(config.getStringList( + Constants.CONFIG_GITBLIT, null, "metricAuthorExclusions"))); // Custom defined properties model.customFields = new LinkedHashMap<String, String>(); @@ -2432,6 +2467,7 @@ updateList(config, "postReceiveScript", repository.postReceiveScripts); updateList(config, "mailingList", repository.mailingLists); updateList(config, "indexBranch", repository.indexedBranches); + updateList(config, "metricAuthorExclusions", repository.metricAuthorExclusions); // User Defined Properties if (repository.customFields != null) { @@ -2973,7 +3009,9 @@ if (repository != null) { for (String teamname : userService.getTeamnamesForRepositoryRole(repository.name)) { TeamModel team = userService.getTeamModel(teamname); - scripts.addAll(team.preReceiveScripts); + if (!ArrayUtils.isEmpty(team.preReceiveScripts)) { + scripts.addAll(team.preReceiveScripts); + } } } return new ArrayList<String>(scripts); @@ -3023,7 +3061,9 @@ if (repository != null) { for (String teamname : userService.getTeamnamesForRepositoryRole(repository.name)) { TeamModel team = userService.getTeamModel(teamname); - scripts.addAll(team.postReceiveScripts); + if (!ArrayUtils.isEmpty(team.postReceiveScripts)) { + scripts.addAll(team.postReceiveScripts); + } } } return new ArrayList<String>(scripts); -- Gitblit v1.9.1