From fc948cacef9c9b8c0a1e84cbc082ca67cd5f68d9 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 14 Apr 2011 18:29:10 -0400
Subject: [PATCH] Authenticate the webapp against the same realm as the git servlet.

---
 src/com/gitblit/wicket/panels/RefsPanel.java |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/RefsPanel.java b/src/com/gitblit/wicket/panels/RefsPanel.java
index 5dec57f..9f92891 100644
--- a/src/com/gitblit/wicket/panels/RefsPanel.java
+++ b/src/com/gitblit/wicket/panels/RefsPanel.java
@@ -6,35 +6,34 @@
 import java.util.Map;
 
 import org.apache.wicket.Component;
-import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.data.DataView;
 import org.apache.wicket.markup.repeater.data.ListDataProvider;
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
 
-import com.gitblit.utils.JGitUtils;
+import com.gitblit.wicket.LinkPanel;
 import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.pages.CommitPage;
+import com.gitblit.wicket.pages.LogPage;
+import com.gitblit.wicket.pages.TagPage;
 
 
 public class RefsPanel extends Panel {
 
 	private static final long serialVersionUID = 1L;
 
-	public RefsPanel(String id, Repository r, RevCommit c) {
-		this(id, c, JGitUtils.getAllRefs(r));
-	}
-	
-	public RefsPanel(String id, RevCommit c, Map<ObjectId, List<String>> refs) {
+	public RefsPanel(String id, final String repositoryName, RevCommit c, Map<ObjectId, List<String>> refs) {
 		super(id);
 		List<String> refNames = refs.get(c.getId());
 		if (refNames == null) {
 			refNames = new ArrayList<String>();
 		}
 		Collections.sort(refNames);
+//		refNames.remove(Constants.HEAD);
+		
 		ListDataProvider<String> refsDp = new ListDataProvider<String>(refNames);
 		DataView<String> refsView = new DataView<String>("ref", refsDp) {
 			private static final long serialVersionUID = 1L;
@@ -43,19 +42,20 @@
 				Component c = null;
 				if (entry.startsWith(Constants.R_HEADS)) {
 					// local head
-					c = new Label("refName", entry.substring(Constants.R_HEADS.length()));
-					WicketUtils.setCssClass(c, "head");
+					c = new LinkPanel("refName", null, entry.substring(Constants.R_HEADS.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+					WicketUtils.setCssClass(c, "headRef");
 				} else if (entry.startsWith(Constants.R_REMOTES)) {
 					// remote head
-					c = new Label("refName", entry.substring(Constants.R_REMOTES.length()));
-					WicketUtils.setCssClass(c, "ref");
+					c = new LinkPanel("refName", null, entry.substring(Constants.R_REMOTES.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+					WicketUtils.setCssClass(c, "remoteRef");
 				} else if (entry.startsWith(Constants.R_TAGS)) {
 					// tag
-					c = new Label("refName", entry.substring(Constants.R_TAGS.length()));
-					WicketUtils.setCssClass(c, "tag");
+					c = new LinkPanel("refName", null, entry.substring(Constants.R_TAGS.length()), TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+					WicketUtils.setCssClass(c, "tagRef");
 				} else {
 					// other
-					c = new Label("refName", entry);					
+					c = new LinkPanel("refName", null, entry, CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+					WicketUtils.setCssClass(c, "otherRef");
 				}
 				WicketUtils.setHtmlTitle(c, entry);
 				item.add(c);

--
Gitblit v1.9.1