Adds dialog allowing for the creation of a default regatta leaderboard after regatta creation

This commit is contained in:
Jan Broß committed 2015-09-28 11:26:47 +02:00
1 parent 8085e2a853
commit 7591fc27ee
6 files changed
+88

No files matched your search

@@ -0,0 +1,35 @@
package com.sap.sailing.gwt.ui.adminconsole;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Panel;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sse.gwt.client.ErrorReporter;
public abstract class AbstractOkCancelDialog extends AbstractCancelableDialog {
protected Button okButton;
public AbstractOkCancelDialog(SailingServiceAsync sailingService, StringMessages stringMessages,
ErrorReporter errorReporter) {
super(sailingService, stringMessages, errorReporter);
}
protected void addButtons(Panel buttonPanel) {
super.addButtons(buttonPanel);
okButton = new Button(stringMessages.ok());
okButton.setTitle(stringMessages.canOnlyBeEditedBeforeStartingTracking());
okButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
ok();
}
});
buttonPanel.add(okButton);
}
protected abstract void ok();
}
@@ -0,0 +1,41 @@
package com.sap.sailing.gwt.ui.adminconsole;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.domain.common.RegattaIdentifier;
import com.sap.sailing.domain.common.RegattaName;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
import com.sap.sse.gwt.client.ErrorReporter;
public class CreateDefaultRegattaLeaderboardDialog extends AbstractOkCancelDialog{
private RegattaDTO regatta;
public CreateDefaultRegattaLeaderboardDialog(SailingServiceAsync sailingService, StringMessages stringMessages,
ErrorReporter errorReporter, RegattaDTO regatta) {
super(sailingService, stringMessages, errorReporter);
this.regatta = regatta;
setupUi();
}
@Override
protected void ok() {
RegattaIdentifier regattaIdentifier = new RegattaName(regatta.getName());
sailingService.createRegattaLeaderboard(regattaIdentifier, regatta.getName(), new int[]{},
new AsyncCallback<StrippedLeaderboardDTO>() {
@Override
public void onFailure(Throwable t) {
errorReporter.reportError("Error trying to create default regatta leaderboard for " + regatta.getName()
+ ": " + t.getMessage());
}
@Override
public void onSuccess(StrippedLeaderboardDTO result) {
hide();
}
});
}
}
@@ -156,12 +156,21 @@ public class RegattaManagementPanel extends SimplePanel implements RegattasDispl
@Override
public void ok(RegattaDTO newRegatta) {
createNewRegatta(newRegatta);
openCreateDefaultRegattaLeaderboardDialog(newRegatta);
}
});
dialog.ensureDebugId("RegattaCreateDialog");
dialog.show();
}
private void openCreateDefaultRegattaLeaderboardDialog(final RegattaDTO newRegatta){
CreateDefaultRegattaLeaderboardDialog dialog = new CreateDefaultRegattaLeaderboardDialog(sailingService, stringMessages, errorReporter, newRegatta);
dialog.ensureDebugId("CreateDefaultRegattaLeaderboardDialog");
dialog.setText(stringMessages.createDefaultRegattaLeaderboard());
dialog.setTitle(stringMessages.createDefaultRegattaLeaderboard());
dialog.show();
}
private void createNewRegatta(final RegattaDTO newRegatta) {
LinkedHashMap<String, SeriesCreationParametersDTO> seriesStructure = new LinkedHashMap<String, SeriesCreationParametersDTO>();
for (SeriesDTO seriesDTO : newRegatta.series) {
@@ -1387,4 +1387,5 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String tabbedResultsPresenter();
String polarResultsPresenter();
String dataMiningRetrieval();
String createDefaultRegattaLeaderboard();
}
@@ -427,6 +427,7 @@ scoringSchemeLowPointWithEliminationsAndRoundsWinnerGets07Description=A variant
scoringSystem=Scoring system
createFlexibleLeaderboard=Create flexible leaderboard
createRegattaLeaderboard=Create regatta leaderboard
createDefaultRegattaLeaderboard=Create default regatta leaderboard
editFlexibleLeaderboard=Edit flexible leaderboard
editRegattaLeaderboard=Edit regatta leaderboard
defaultRegatta=Default regatta
@@ -428,6 +428,7 @@ scoringSchemeLowPointWithEliminationsAndRoundsWinnerGets07Description=Eine Varia
scoringSystem=Bepunktungssystem
createFlexibleLeaderboard=Flexible Rangliste anlegen
createRegattaLeaderboard=Rangliste für Regatta anlegen
createDefaultRegattaLeaderboard=Standard-Rangliste für Regatta anlegen
editFlexibleLeaderboard=Flexible Rangliste ändern
editRegattaLeaderboard=Rangliste für Regatta ändern
defaultRegatta=Regatta automatisch wählen/anlegen