From 264ba908941414ea5e750524b2472f7ad0670563 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 02 May 2013 21:37:58 -0400
Subject: [PATCH] Improved the repository url panel and show git daemon url, appropriately
---
src/main/java/com/gitblit/wicket/pages/SummaryPage.java | 34 +++++++++++++++++++++++++++-------
1 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
index d68add0..863974b 100644
--- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -42,6 +42,7 @@
import org.wicketstuff.googlecharts.MarkerType;
import org.wicketstuff.googlecharts.ShapeMarker;
+import com.gitblit.Constants.AccessPermission;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
@@ -56,9 +57,9 @@
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.BranchesPanel;
+import com.gitblit.wicket.panels.DetailedRepositoryUrlPanel;
import com.gitblit.wicket.panels.LinkPanel;
import com.gitblit.wicket.panels.LogPanel;
-import com.gitblit.wicket.panels.RepositoryUrlPanel;
import com.gitblit.wicket.panels.TagsPanel;
public class SummaryPage extends RepositoryPage {
@@ -73,8 +74,11 @@
int numberRefs = GitBlit.getInteger(Keys.web.summaryRefsCount, 5);
Repository r = getRepository();
- RepositoryModel model = getRepositoryModel();
+ final RepositoryModel model = getRepositoryModel();
UserModel user = GitBlitWebSession.get().getUser();
+ if (user == null) {
+ user = UserModel.ANONYMOUS;
+ }
List<Metric> metrics = null;
Metric metricsTotal = null;
@@ -124,7 +128,9 @@
List<String> repositoryUrls = new ArrayList<String>();
- if (GitBlit.getBoolean(Keys.git.enableGitServlet, true)) {
+ AccessPermission accessPermission = null;
+ if (GitBlit.getBoolean(Keys.git.enableGitServlet, true)) {
+ accessPermission = user.getRepositoryPermission(model).permission;
AccessRestrictionType accessRestriction = getRepositoryModel().accessRestriction;
switch (accessRestriction) {
case NONE:
@@ -150,13 +156,27 @@
} else {
add(WicketUtils.newClearPixel("accessRestrictionIcon").setVisible(false));
}
- repositoryUrls.addAll(GitBlit.self().getOtherCloneUrls(repositoryName, user == null ? "" : user.username));
+ repositoryUrls.addAll(GitBlit.self().getOtherCloneUrls(repositoryName, UserModel.ANONYMOUS.equals(user) ? "" : user.username));
String primaryUrl = ArrayUtils.isEmpty(repositoryUrls) ? "" : repositoryUrls.remove(0);
- add(new RepositoryUrlPanel("repositoryCloneUrl", primaryUrl));
+ add(new DetailedRepositoryUrlPanel("repositoryPrimaryUrl", getLocalizer(), this, model.name, primaryUrl, accessPermission));
- add(new Label("otherUrls", StringUtils.flattenStrings(repositoryUrls, "<br/>"))
- .setEscapeModelStrings(false));
+ Component gitDaemonUrlPanel = createGitDaemonUrlPanel("repositoryGitDaemonUrl", user, model);
+ if (!StringUtils.isEmpty(primaryUrl) && gitDaemonUrlPanel instanceof DetailedRepositoryUrlPanel) {
+ WicketUtils.setCssStyle(gitDaemonUrlPanel, "padding-top: 10px");
+ }
+ add(gitDaemonUrlPanel);
+
+ ListDataProvider<String> urls = new ListDataProvider<String>(repositoryUrls);
+ DataView<String> otherUrlsView = new DataView<String>("otherUrls", urls) {
+ private static final long serialVersionUID = 1L;
+
+ public void populateItem(final Item<String> item) {
+ final String url = item.getModelObject();
+ item.add(new DetailedRepositoryUrlPanel("otherUrl", getLocalizer(), this, model.name, url));
+ }
+ };
+ add(otherUrlsView);
add(new LogPanel("commitsPanel", repositoryName, getRepositoryModel().HEAD, r, numberCommits, 0, getRepositoryModel().showRemoteBranches));
add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty());
--
Gitblit v1.9.1