diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatCertificatesPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatCertificatesPanel.java new file mode 100644 index 00000000000..604ee4df5e7 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatCertificatesPanel.java @@ -0,0 +1,19 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sse.gwt.client.controls.busyindicator.BusyDisplay; + +public class BoatCertificatesPanel extends SimulationPanel implements BusyDisplay{ + + public BoatCertificatesPanel(StringMessages stringMessages) { + super(stringMessages); + // TODO Auto-generated constructor stub + } + + @Override + public void setBusy(boolean isBusy) { + // TODO Auto-generated method stub + + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CertificateAssignmentDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CertificateAssignmentDialog.java new file mode 100644 index 00000000000..d5553dcdf52 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CertificateAssignmentDialog.java @@ -0,0 +1,54 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.List; + +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; +import com.sap.sailing.gwt.ui.client.SailingServiceAsync; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sse.gwt.client.ErrorReporter; +import com.sap.sse.gwt.client.dialog.DataEntryDialog; +import com.sap.sse.security.ui.client.UserService; + +public class CertificateAssignmentDialog extends DataEntryDialog> { + private final SailingServiceAsync sailingService; + private final UserService userService; + private final StringMessages stringMessages; + private final ErrorReporter errorReporter; + private final String leaderboardName; + + protected static class CompetitorsValidator implements Validator> { + public CompetitorsValidator() { + super(); + } + + @Override + public String getErrorMessage(List valueToValidate) { + return null; + } + } + + public CertificateAssignmentDialog(final SailingServiceAsync sailingService, final UserService userService, String leaderboardName, final StringMessages stringMessages, + final ErrorReporter errorReporter, DialogCallback> callback) { + super(stringMessages.actionEditCompetitors(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorsValidator(), callback); + this.sailingService = sailingService; + this.userService = userService; + this.stringMessages = stringMessages; + this.errorReporter = errorReporter; + this.leaderboardName = leaderboardName; + } + + @Override + protected List getResult() { + return null; + } + + @Override + protected Widget getAdditionalWidget() { + BoatCertificatesPanel result = new BoatCertificatesPanel(stringMessages); + //BoatPanel result = new BoatPanel(sailingService, userService, stringMessages, errorReporter); + //CompetitorPanel result = new CompetitorPanel(sailingService, userService, leaderboardName, stringMessages, errorReporter); + + return result; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaListComposite.java index 2fcc21660fb..d8e3494109c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaListComposite.java @@ -30,6 +30,7 @@ import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.SelectionChangeEvent; import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.RegattaName; +import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO; import com.sap.sailing.domain.common.security.SecuredDomainType; import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.RegattasDisplayer; @@ -268,9 +269,20 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer stringMessages); actionsColumn.addAction(RegattaConfigImagesBarCell.ACTION_CHANGE_ACL, DefaultActions.CHANGE_ACL, configACL::openDialog); + actionsColumn.addAction(RegattaConfigImagesBarCell.ACTION_CERTIFICATES_UPDATE, regattaDTO -> { + CertificateAssignmentDialog certificateAssignmentDialog = new CertificateAssignmentDialog(sailingService, userService, + regattaDTO.getName(), stringMessages, errorReporter, + new DialogCallback>() { + @Override + public void cancel() { + } - // TODO add here functionality to action button - actionsColumn.addAction(RegattaConfigImagesBarCell.ACTION_CERTIFICATES_UPDATE, null); + @Override + public void ok(final List result) { + } + }); + certificateAssignmentDialog.show(); + }); table.addColumn(regattaSelectionCheckboxColumn, regattaSelectionCheckboxColumn.getHeader()); table.addColumn(regattaNameColumn, stringMessages.regattaName());