Paul Martin
2016-04-30 a502d96a860456ec5e8c96761db70f7cabb74751
src/main/java/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -21,6 +21,7 @@
import java.io.InputStreamReader;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.Component;
@@ -28,17 +29,16 @@
import org.apache.wicket.markup.html.basic.Label;
import org.eclipse.jgit.lib.Constants;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.models.Menu.ParameterMenuItem;
import com.gitblit.models.NavLink;
import com.gitblit.models.NavLink.DropDownPageMenuNavLink;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.CacheControl;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.PageRegistration;
import com.gitblit.wicket.CacheControl.LastModified;
import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.RepositoriesPanel;
@@ -63,9 +63,9 @@
   private void setup(PageParameters params) {
      setupPage("", "");
      // check to see if we should display a login message
      boolean authenticateView = GitBlit.getBoolean(Keys.web.authenticateViewPages, true);
      boolean authenticateView = app().settings().getBoolean(Keys.web.authenticateViewPages, true);
      if (authenticateView && !GitBlitWebSession.get().isLoggedIn()) {
         String messageSource = GitBlit.getString(Keys.web.loginMessage, "gitblit");
         String messageSource = app().settings().getString(Keys.web.loginMessage, "gitblit");
         String message = readMarkdown(messageSource, "login.mkd");
         Component repositoriesMessage = new Label("repositoriesMessage", message);
         add(repositoriesMessage.setEscapeModelStrings(false));
@@ -74,13 +74,23 @@
      }
      // Load the markdown welcome message
      String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit");
      String messageSource = app().settings().getString(Keys.web.repositoriesMessage, "gitblit");
      String message = readMarkdown(messageSource, "welcome.mkd");
      Component repositoriesMessage = new Label("repositoriesMessage", message)
            .setEscapeModelStrings(false).setVisible(message.length() > 0);
      add(repositoriesMessage);
      // conditionally include personal repositories in this page
      List<RepositoryModel> repositories = getRepositories(params);
      if (!app().settings().getBoolean(Keys.web.includePersonalRepositories, true)) {
         Iterator<RepositoryModel> itr = repositories.iterator();
         while (itr.hasNext()) {
            RepositoryModel rm = itr.next();
            if (rm.isPersonalRepository()) {
               itr.remove();
            }
         }
      }
      RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", showAdmin,
            true, repositories, true, getAccessRestrictions());
@@ -93,10 +103,10 @@
   }
   @Override
   protected void addDropDownMenus(List<PageRegistration> pages) {
   protected void addDropDownMenus(List<NavLink> navLinks) {
      PageParameters params = getPageParameters();
      DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters",
      DropDownPageMenuNavLink menu = new DropDownPageMenuNavLink("gb.filters",
            RepositoriesPage.class);
      // preserve time filter option on repository choices
      menu.menuItems.addAll(getRepositoryFilterItems(params));
@@ -106,10 +116,10 @@
      if (menu.menuItems.size() > 0) {
         // Reset Filter
         menu.menuItems.add(new DropDownMenuItem(getString("gb.reset"), null, null));
         menu.menuItems.add(new ParameterMenuItem(getString("gb.reset")));
      }
      pages.add(menu);
      navLinks.add(menu);
   }
   private String readMarkdown(String messageSource, String resource) {
@@ -120,7 +130,7 @@
      } else {
         // Read user-supplied message
         if (!StringUtils.isEmpty(messageSource)) {
            File file = GitBlit.getFileOrFolder(messageSource);
            File file = app().runtime().getFileOrFolder(messageSource);
            if (file.exists()) {
               try {
                  FileInputStream fis = new FileInputStream(file);
@@ -151,7 +161,7 @@
      if (!StringUtils.isEmpty(lc)) {
         if (!StringUtils.isEmpty(cc)) {
            files.add(base + "_" + lc + "-" + cc + ext);
            files.add(base + "_" + lc + "_" + cc + ext);
            files.add(base + "_" + lc + "_" + cc.toUpperCase() + ext);
         }
         files.add(base + "_" + lc + ext);
      }
@@ -180,7 +190,7 @@
               } catch (Exception e) {
               }
            }
         }
         }
      }
      return MessageFormat.format(getString("gb.failedToReadMessage"), file);
   }