| | |
| | | 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;
|
| | |
| | | import com.gitblit.Keys;
|
| | | import com.gitblit.utils.MarkdownUtils;
|
| | | 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;
|
| | |
|
| | | public class RepositoriesPage extends BasePage {
|
| | | public class RepositoriesPage extends RootPage {
|
| | |
|
| | | public RepositoriesPage() {
|
| | | super();
|
| | | setupPage("", "");
|
| | |
|
| | | final boolean showAdmin;
|
| | | if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) {
|
| | | boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
|
| | | showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin();
|
| | | // authentication requires state and session
|
| | | setStatelessHint(false);
|
| | | } else {
|
| | | showAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
|
| | | if (GitBlit.getBoolean(Keys.web.authenticateViewPages, false)) {
|
| | | // authentication requires state and session
|
| | | setStatelessHint(false);
|
| | | } else {
|
| | | // no authentication required, no state and no session required
|
| | | setStatelessHint(true);
|
| | | }
|
| | | }
|
| | |
|
| | | // display an error message cached from a redirect
|
| | | 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));
|
| | | }
|
| | | }
|
| | | super(); |
| | |
|
| | | // Load the markdown welcome message
|
| | | String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit");
|
| | |
| | | Component repositoriesMessage = new Label("repositoriesMessage", message)
|
| | | .setEscapeModelStrings(false);
|
| | | add(repositoriesMessage);
|
| | | 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);
|
| | | add(new RepositoriesPanel("repositoriesPanel", showAdmin, null, getAccessRestrictions())); |
| | | }
|
| | | }
|