From 831469ba89ea8bca3bfbd1d662dbdd2c9f233798 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 12 Sep 2011 15:37:55 -0400 Subject: [PATCH] Largely completed, uber-cool federation feature. --- src/com/gitblit/wicket/pages/RepositoriesPage.java | 35 ++++++++++++++++++++++++++++++++++- 1 files changed, 34 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index 053bee0..619d42e 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -19,6 +19,7 @@ import java.io.FileReader; import java.io.InputStream; import java.io.InputStreamReader; +import java.text.MessageFormat; import org.apache.wicket.Component; import org.apache.wicket.markup.html.basic.Label; @@ -30,6 +31,9 @@ import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.panels.FederationProposalsPanel; +import com.gitblit.wicket.panels.FederationRegistrationsPanel; +import com.gitblit.wicket.panels.FederationTokensPanel; import com.gitblit.wicket.panels.RepositoriesPanel; import com.gitblit.wicket.panels.UsersPanel; @@ -60,6 +64,14 @@ String cachedMessage = GitBlitWebSession.get().clearErrorMessage(); if (!StringUtils.isEmpty(cachedMessage)) { error(cachedMessage); + } else if (showAdmin) { + int pendingProposals = GitBlit.self().getPendingFederationProposals().size(); + if (pendingProposals == 1) { + info("There is 1 federation proposal awaiting review."); + } else if (pendingProposals > 1) { + info(MessageFormat.format("There are {0} federation proposals awaiting review.", + pendingProposals)); + } } // Load the markdown welcome message @@ -97,7 +109,28 @@ Component repositoriesMessage = new Label("repositoriesMessage", message) .setEscapeModelStrings(false); add(repositoriesMessage); - add(new RepositoriesPanel("repositoriesPanel", showAdmin, getAccessRestrictions())); + add(new RepositoriesPanel("repositoriesPanel", showAdmin, null, getAccessRestrictions())); add(new UsersPanel("usersPanel", showAdmin).setVisible(showAdmin)); + boolean showFederation = showAdmin && GitBlit.canFederate(); + add(new FederationTokensPanel("federationTokensPanel", showFederation) + .setVisible(showFederation)); + FederationProposalsPanel proposalsPanel = new FederationProposalsPanel( + "federationProposalsPanel"); + if (showFederation) { + proposalsPanel.hideIfEmpty(); + } else { + proposalsPanel.setVisible(false); + } + + boolean showRegistrations = GitBlit.getBoolean(Keys.web.showFederationRegistrations, false); + FederationRegistrationsPanel registrationsPanel = new FederationRegistrationsPanel( + "federationRegistrationsPanel"); + if (showAdmin || showRegistrations) { + registrationsPanel.hideIfEmpty(); + } else { + registrationsPanel.setVisible(false); + } + add(proposalsPanel); + add(registrationsPanel); } } -- Gitblit v1.9.1