From 143567439e9f4e579f50786b591292812fffc275 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 18 Jun 2013 21:56:32 -0400
Subject: [PATCH] Do not advertise refs/gitblit/* refs to non-admin accounts

---
 src/main/java/com/gitblit/wicket/pages/RootPage.java |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/RootPage.java b/src/main/java/com/gitblit/wicket/pages/RootPage.java
index 47fcc72..d21be36 100644
--- a/src/main/java/com/gitblit/wicket/pages/RootPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RootPage.java
@@ -27,6 +27,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Pattern;
 
@@ -118,8 +119,8 @@
 		// navigation links
 		List<PageRegistration> pages = new ArrayList<PageRegistration>();
 		if (!authenticateView || (authenticateView && GitBlitWebSession.get().isLoggedIn())) {
-//			pages.add(new PageRegistration("gb.home", HomePage.class,
-//					getRootPageParameters()));
+			pages.add(new PageRegistration(GitBlitWebSession.get().isLoggedIn() ? "gb.myDashboard" : "gb.dashboard", DashboardPage.class,
+					getRootPageParameters()));
 			pages.add(new PageRegistration("gb.repositories", RepositoriesPage.class,
 					getRootPageParameters()));
 			pages.add(new PageRegistration("gb.activity", ActivityPage.class, getRootPageParameters()));
@@ -178,7 +179,7 @@
 
 				// remove days back parameter if it is the default value
 				if (params.containsKey("db")
-						&& params.getInt("db") == GitBlit.getInteger(Keys.web.activityDuration, 14)) {
+						&& params.getInt("db") == GitBlit.getInteger(Keys.web.activityDuration, 7)) {
 					params.remove("db");
 				}
 				return params;
@@ -295,18 +296,32 @@
 
 	protected List<DropDownMenuItem> getTimeFilterItems(PageParameters params) {
 		// days back choices - additive parameters
-		int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 14);
+		int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
 		if (daysBack < 1) {
-			daysBack = 14;
+			daysBack = 7;
 		}
+		PageParameters clonedParams;;
+		if (params == null) {
+			clonedParams = new PageParameters();
+		} else {
+			clonedParams = new PageParameters(params);
+		}
+		
+		if (!clonedParams.containsKey("db")) {
+			clonedParams.put("db",  daysBack);
+		}
+		
 		List<DropDownMenuItem> items = new ArrayList<DropDownMenuItem>();
-		Set<Integer> choicesSet = new HashSet<Integer>(Arrays.asList(daysBack, 14, 28, 60, 90, 180));
+		Set<Integer> choicesSet = new TreeSet<Integer>(GitBlit.getIntegers(Keys.web.activityDurationChoices));
+		if (choicesSet.isEmpty()) {
+			 choicesSet.addAll(Arrays.asList(7, 14, 28, 60, 90, 180));
+		}
 		List<Integer> choices = new ArrayList<Integer>(choicesSet);
 		Collections.sort(choices);
 		String lastDaysPattern = getString("gb.lastNDays");
 		for (Integer db : choices) {
 			String txt = MessageFormat.format(lastDaysPattern, db);
-			items.add(new DropDownMenuItem(txt, "db", db.toString(), params));
+			items.add(new DropDownMenuItem(txt, "db", db.toString(), clonedParams));
 		}
 		items.add(new DropDownMenuItem());
 		return items;
@@ -500,7 +515,8 @@
 			boolean standardLogin = session.authenticationType.isStandard();
 
 			if (GitBlit.getBoolean(Keys.web.allowGravatar, true)) {
-				add(new GravatarImage("username", user.getDisplayName(), user.emailAddress, "navbarGravatar", 20, false));
+				add(new GravatarImage("username", user.getDisplayName(),
+						user.emailAddress, "navbarGravatar", 20, false, false));
 			} else {
 				add(new Label("username", user.getDisplayName()));
 			}

--
Gitblit v1.9.1