James Moger
2013-06-24 f59874809d61baf25244756cb280beaeecc33e96
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", MyDashboardPage.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,13 +515,17 @@
         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()));
         }
         add(new Label("displayName", user.getDisplayName()));
         add(new BookmarkablePageLink<Void>("newRepository",
               EditRepositoryPage.class).setVisible(user.canAdmin() || user.canCreate()));
         add(new BookmarkablePageLink<Void>("myProfile", 
               UserPage.class, WicketUtils.newUsernameParameter(user.username)));