From dc5902cd00df8529137a717fec9e855ee7685da7 Mon Sep 17 00:00:00 2001 From: Steffen Jacobs Date: Tue, 30 Jul 2019 18:22:09 +0200 Subject: [PATCH] Bug 5092: added filter checkbox to Competitor tables --- .../ui/adminconsole/CompactCompetitorTableWrapper.java | 6 +++++- .../gwt/ui/adminconsole/CompetitorTableWrapper.java | 1 + .../ui/adminconsole/CompetitorToBoatMappingsDialog.java | 9 ++++++--- .../adminconsole/CompetitorToBoatMappingsViewPanel.java | 7 +++++-- .../gwt/ui/adminconsole/LeaderboardConfigPanel.java | 3 ++- .../adminconsole/ShowCompetitorToBoatMappingsDialog.java | 5 +++-- .../SmartphoneTrackingEventManagementPanel.java | 4 ++-- 7 files changed, 24 insertions(+), 11 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java index a2bdd211038..942c6cb1aaa 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompactCompetitorTableWrapper.java @@ -28,6 +28,8 @@ import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.celltable.EntityIdentityComparator; import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel; import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel; +import com.sap.sse.security.shared.HasPermissions.DefaultActions; +import com.sap.sse.security.ui.client.UserService; /** * A compact filterable competitor table. The data model is managed by the {@link #getFilterField() filter field}. In @@ -44,7 +46,7 @@ public class CompactCompetitorTableWrapper boatsForCompetitors; public CompactCompetitorTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter, - boolean multiSelection, boolean enablePager) { + boolean multiSelection, boolean enablePager, UserService userService) { super(sailingService, stringMessages, errorReporter, multiSelection, enablePager, new EntityIdentityComparator() { @Override @@ -148,6 +150,8 @@ public class CompactCompetitorTableWrapper userService.hasPermission(comp, DefaultActions.UPDATE)); + registerSelectionModelOnNewDataProvider(filterField.getAllListDataProvider()); mainPanel.insert(filterField, 0); table.addColumnSortHandler(competitorColumnListHandler); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java index ee2270f901e..9beb76bdd7a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorTableWrapper.java @@ -321,6 +321,7 @@ public class CompetitorTableWrapper userService.hasPermission(comp, DefaultActions.UPDATE)); registerSelectionModelOnNewDataProvider(filterField.getAllListDataProvider()); // CompetitorTableEditFeatures diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java index c50a16c26d5..da729623038 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsDialog.java @@ -22,12 +22,13 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.common.Util; import com.sap.sse.gwt.client.ErrorReporter; -import com.sap.sse.gwt.client.celltable.ImagesBarColumn; import com.sap.sse.gwt.client.Notification; import com.sap.sse.gwt.client.Notification.NotificationType; +import com.sap.sse.gwt.client.celltable.ImagesBarColumn; import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel; import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel; import com.sap.sse.gwt.client.dialog.DataEntryDialog; +import com.sap.sse.security.ui.client.UserService; /** * Allows an administrator to map a list of given competitors to boats for a race. @@ -60,11 +61,13 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog competitorsAndBoats, DialogCallback> callback) { + final ErrorReporter errorReporter, String leaderboardName, Map competitorsAndBoats, + DialogCallback> callback, UserService userService) { super(stringMessages.actionEditCompetitorToBoatAssignments(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorToBoatMappingValidator(), callback); this.stringMessages = stringMessages; this.competitorToBoatMappings = new HashMap<>(competitorsAndBoats); - this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); + this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, + /* multiSelection */ false, /* enablePager */ true, userService); this.boatTable = new CompactBoatTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); ImagesBarColumn competitorActionColumn = new ImagesBarColumn<>(new CompactCompetitorConfigImagesBarCell(stringMessages)); competitorActionColumn.setFieldUpdater(new FieldUpdater() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java index 07a2c90348a..1de886e2b12 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/CompetitorToBoatMappingsViewPanel.java @@ -16,6 +16,7 @@ import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.async.MarkedAsyncCallback; import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel; import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel; +import com.sap.sse.security.ui.client.UserService; /** * Allows an administrator to view the boats assigned to the competitors of a race. @@ -36,7 +37,8 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { private final RefreshableSelectionModel refreshableCompetitorSelectionModel; public CompetitorToBoatMappingsViewPanel(final SailingServiceAsync sailingService, final StringMessages stringMessages, - final ErrorReporter errorReporter, final String leaderboardName, final String raceColumnName, final String fleetName) { + final ErrorReporter errorReporter, final String leaderboardName, final String raceColumnName, + final String fleetName, UserService userService) { super(); this.sailingService = sailingService; this.stringMessages = stringMessages; @@ -44,7 +46,8 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel { this.raceColumnName = raceColumnName; this.fleetName = fleetName; this.errorReporter = errorReporter; - this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); + this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, + /* multiSelection */ false, /* enablePager */ true, userService); this.boatTable = new CompactBoatTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true); refreshableCompetitorSelectionModel = competitorTable.getSelectionModel(); refreshableCompetitorSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 1cf3f9ab334..52e4c1447c8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -652,7 +652,8 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel final String raceName = LeaderboardNameConstants.DEFAULT_FLEET_NAME.equals(fleetName) ? raceColumnName : raceColumnName + ", " + fleetName; ShowCompetitorToBoatMappingsDialog dialog = new ShowCompetitorToBoatMappingsDialog(sailingService, - stringMessages, errorReporter, selectedLeaderboardName, raceColumnName, fleetName, raceName); + stringMessages, errorReporter, selectedLeaderboardName, raceColumnName, fleetName, raceName, + userService); dialog.center(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ShowCompetitorToBoatMappingsDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ShowCompetitorToBoatMappingsDialog.java index 78319335b3b..cbdd1d94c17 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ShowCompetitorToBoatMappingsDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/ShowCompetitorToBoatMappingsDialog.java @@ -9,11 +9,12 @@ import com.google.gwt.user.client.ui.VerticalPanel; 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.security.ui.client.UserService; public class ShowCompetitorToBoatMappingsDialog extends DialogBox { public ShowCompetitorToBoatMappingsDialog(final SailingServiceAsync sailingService, final StringMessages stringMessages, final ErrorReporter errorReporter, String leaderboardName, final String raceColumnName, final String fleetName, - String raceName) { + String raceName, UserService userService) { super(); setText(stringMessages.actionShowCompetitorToBoatAssignments()); setAnimationEnabled(true); @@ -26,7 +27,7 @@ public class ShowCompetitorToBoatMappingsDialog extends DialogBox { }); VerticalPanel vPanel = new VerticalPanel(); CompetitorToBoatMappingsViewPanel competitorPanel = new CompetitorToBoatMappingsViewPanel(sailingService, - stringMessages, errorReporter, leaderboardName, raceColumnName, fleetName); + stringMessages, errorReporter, leaderboardName, raceColumnName, fleetName, userService); vPanel.add(new Label(stringMessages.race() + ": " + raceName)); vPanel.add(competitorPanel); vPanel.add(okButton); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java index 52c18c66cca..72f7b0b1a76 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java @@ -451,7 +451,7 @@ public class SmartphoneTrackingEventManagementPanel @Override public void cancel() { } - }).show(); + }, userService).show(); } @Override @@ -935,7 +935,7 @@ public class SmartphoneTrackingEventManagementPanel final String raceName = LeaderboardNameConstants.DEFAULT_FLEET_NAME.equals(fleetName) ? raceColumnName : raceColumnName + ", " + fleetName; ShowCompetitorToBoatMappingsDialog dialog = new ShowCompetitorToBoatMappingsDialog(sailingService, stringMessages, errorReporter, selectedLeaderboardName, raceColumnName, fleetName, - raceName); + raceName, userService); dialog.center(); }