From 064857d7b2a7e1a0c205dbecf7b5f147221898a2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 13 Nov 2013 17:47:25 -0500
Subject: [PATCH] Remove docs indicator

---
 src/main/java/com/gitblit/wicket/pages/RepositoryPage.java |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
index afbed86..d0d801e 100644
--- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -37,7 +37,6 @@
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.request.target.basic.RedirectRequestTarget;
 import org.eclipse.jgit.diff.DiffEntry.ChangeType;
 import org.eclipse.jgit.lib.PersonIdent;
@@ -75,7 +74,7 @@
 
 public abstract class RepositoryPage extends RootPage {
 
-	private final Logger logger = LoggerFactory.getLogger(getClass());
+	protected final Logger logger = LoggerFactory.getLogger(getClass());
 
 	private final String PARAM_STAR = "star";
 
@@ -204,7 +203,7 @@
 
 		// conditional links
 		// per-repository extra page links
-		if (model.showReadme || model.useDocs) {
+		if (model.useDocs) {
 			pages.put("docs", new PageRegistration("gb.docs", DocsPage.class, params, true));
 		}
 		if (JGitUtils.getPagesBranch(r) != null) {
@@ -399,6 +398,30 @@
 		return commit;
 	}
 
+	protected String getBestCommitId(RevCommit commit) {
+		String head = null;
+		try {
+			head = r.resolve(getRepositoryModel().HEAD).getName();
+		} catch (Exception e) {
+		}
+
+		String id = commit.getName();
+		if (!StringUtils.isEmpty(head) && head.equals(id)) {
+			// match default branch
+			return Repository.shortenRefName(getRepositoryModel().HEAD);
+		}
+
+		// find first branch match
+		for (RefModel ref : JGitUtils.getLocalBranches(r, false, -1)) {
+			if (ref.getObjectId().getName().equals(id)) {
+				return ref.getName();
+			}
+		}
+
+		// return sha
+		return id;
+	}
+
 	protected Map<String, SubmoduleModel> getSubmodules(RevCommit commit) {
 		if (submodules == null) {
 			submodules = new HashMap<String, SubmoduleModel>();
@@ -482,12 +505,17 @@
 		add(new RefsPanel("refsPanel", repositoryName, c, JGitUtils.getAllRefs(r, getRepositoryModel().showRemoteBranches)));
 	}
 
-	protected void addFullText(String wicketId, String text, boolean substituteRegex) {
-		String html = StringUtils.escapeForHtml(text, false);
-		if (substituteRegex) {
-			html = GitBlit.self().processCommitMessage(repositoryName, html);
-		} else {
-			html = StringUtils.breakLinesForHtml(html);
+	protected void addFullText(String wicketId, String text) {
+		RepositoryModel model = getRepositoryModel();
+		String content = GitBlit.self().processCommitMessage(model, text);
+		String html;
+		switch (model.commitMessageRenderer) {
+		case MARKDOWN:
+			html = MessageFormat.format("<div class='commit_message'>{0}</div>", content);
+			break;
+		default:
+			html = MessageFormat.format("<pre class='commit_message'>{0}</pre>", content);
+			break;
 		}
 		add(new Label(wicketId, html).setEscapeModelStrings(false));
 	}
@@ -649,9 +677,7 @@
 			String searchString = searchBoxModel.getObject();
 			if (StringUtils.isEmpty(searchString)) {
 				// redirect to self to avoid wicket page update bug
-				PageParameters params = RepositoryPage.this.getPageParameters();
-				String relativeUrl = urlFor(RepositoryPage.this.getClass(), params).toString();
-				String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
+				String absoluteUrl = getCanonicalUrl();
 				getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
 				return;
 			}
@@ -673,8 +699,7 @@
 			// use an absolute url to workaround Wicket-Tomcat problems with
 			// mounted url parameters (issue-111)
 			PageParameters params = WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType);
-			String relativeUrl = urlFor(searchPageClass, params).toString();
-			String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
+			String absoluteUrl = getCanonicalUrl(searchPageClass, params);
 			getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
 		}
 	}

--
Gitblit v1.9.1