From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 25 Feb 2013 08:40:30 -0500 Subject: [PATCH] Merge pull request #75 from thefake/master --- src/com/gitblit/wicket/pages/SendProposalPage.java | 53 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 39 insertions(+), 14 deletions(-) diff --git a/src/com/gitblit/wicket/pages/SendProposalPage.java b/src/com/gitblit/wicket/pages/SendProposalPage.java index ea91f1b..fc5f95b 100644 --- a/src/com/gitblit/wicket/pages/SendProposalPage.java +++ b/src/com/gitblit/wicket/pages/SendProposalPage.java @@ -26,6 +26,7 @@ import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.model.CompoundPropertyModel; +import com.gitblit.Constants.FederationProposalResult; import com.gitblit.GitBlit; import com.gitblit.models.FederationProposal; import com.gitblit.models.RepositoryModel; @@ -36,7 +37,7 @@ import com.gitblit.wicket.panels.RepositoriesPanel; @RequiresAdminRole -public class SendProposalPage extends BasePage { +public class SendProposalPage extends RootSubPage { public String myUrl; @@ -47,7 +48,7 @@ public SendProposalPage(PageParameters params) { super(params); - setupPage("", getString("gb.sendProposal")); + setupPage(getString("gb.sendProposal"), ""); setStatelessHint(true); final String token = WicketUtils.getToken(params); @@ -58,7 +59,7 @@ // temporary proposal FederationProposal proposal = GitBlit.self().createFederationProposal(myUrl, token); if (proposal == null) { - error("Could not create federation proposal!", true); + error(getString("gb.couldNotCreateFederationProposal"), true); } CompoundPropertyModel<SendProposalPage> model = new CompoundPropertyModel<SendProposalPage>( @@ -71,30 +72,54 @@ protected void onSubmit() { // confirm a repository name was entered if (StringUtils.isEmpty(myUrl)) { - error("Please enter your Gitblit url!"); + error(getString("gb.pleaseSetGitblitUrl")); return; } if (StringUtils.isEmpty(destinationUrl)) { - error("Please enter a destination url for your proposal!"); + error(getString("gb.pleaseSetDestinationUrl")); return; } - + // build new proposal FederationProposal proposal = GitBlit.self().createFederationProposal(myUrl, token); proposal.url = myUrl; proposal.message = message; try { - if (FederationUtils.propose(destinationUrl, proposal)) { - info(MessageFormat.format("Proposal successfully received by {0}.", destinationUrl)); + FederationProposalResult res = FederationUtils + .propose(destinationUrl, proposal); + switch (res) { + case ACCEPTED: + info(MessageFormat.format(getString("gb.proposalReceived"), + destinationUrl)); setResponsePage(RepositoriesPage.class); - } else { - error(MessageFormat.format("Sorry, {0} rejected your proposal.", destinationUrl)); + break; + case NO_POKE: + error(MessageFormat.format(getString("noGitblitFound"), + destinationUrl, myUrl)); + break; + case NO_PROPOSALS: + error(MessageFormat.format(getString("gb.noProposals"), + destinationUrl)); + break; + case FEDERATION_DISABLED: + error(MessageFormat + .format(getString("gb.noFederation"), + destinationUrl)); + break; + case MISSING_DATA: + error(MessageFormat.format(getString("gb.proposalFailed"), + destinationUrl)); + break; + case ERROR: + error(MessageFormat.format(getString("gb.proposalError"), + destinationUrl)); + break; } } catch (Exception e) { if (!StringUtils.isEmpty(e.getMessage())) { error(e.getMessage()); } else { - error("Failed to send proposal!"); + error(getString("gb.failedToSendProposal")); } } } @@ -111,7 +136,7 @@ @Override public void onSubmit() { - setResponsePage(RepositoriesPage.class); + setResponsePage(FederationPage.class); } }; cancel.setDefaultFormProcessing(false); @@ -120,8 +145,8 @@ List<RepositoryModel> repositories = new ArrayList<RepositoryModel>( proposal.repositories.values()); - RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositories", false, - repositories, getAccessRestrictions()); + RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", false, + false, repositories, false, getAccessRestrictions()); add(repositoriesPanel); } } -- Gitblit v1.9.1