mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 22:30:56 +00:00
Bug 3612 - Suggest to set the course editor to "By Marks"
Change-Id: Ia6167978f8f66f764ea951769d1a012161a33f90
This commit is contained in:
1 parent
1736124733
commit
f101a014e0
4 files changed
+79
-18
No files matched your search
+70
-16
@@ -12,13 +12,18 @@ import com.google.gwt.core.shared.GWT;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.CaptionPanel;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.user.client.ui.ToggleButton;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
@@ -558,28 +563,77 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
|
||||
private void updateRegattaConfigDesignerModeToByMarks(final String regattaName) {
|
||||
final RegattaDTO regatta = getRegattaByName(regattaName);
|
||||
if (regatta != null) {
|
||||
DeviceConfigurationDTO.RegattaConfigurationDTO configuration = regatta.configuration;
|
||||
DeviceConfigurationDTO.RegattaConfigurationDTO configuration = regatta.configuration;
|
||||
if (configuration == null) {
|
||||
configuration = new DeviceConfigurationDTO.RegattaConfigurationDTO();
|
||||
configuration.defaultCourseDesignerMode = CourseDesignerMode.BY_MARKS;
|
||||
} //TODO: Show message if regatta has configuration with design mode not equal "By marks"
|
||||
|
||||
final RegattaIdentifier regattaIdentifier = new RegattaName(regatta.getName());
|
||||
sailingService.updateRegatta(regattaIdentifier, regatta.startDate, regatta.endDate, regatta.defaultCourseAreaUuid,
|
||||
configuration, regatta.useStartTimeInference, new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update regatta " + regattaName + ": "
|
||||
+ caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
}
|
||||
}));
|
||||
updateRegattaConfiguration(regatta, configuration);
|
||||
} else {
|
||||
if (configuration.defaultCourseDesignerMode == CourseDesignerMode.BY_MARKS) {
|
||||
return;
|
||||
}
|
||||
DialogBox dialogBox = createOverrideConfigurationDialog(regatta, configuration);
|
||||
dialogBox.center();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private DialogBox createOverrideConfigurationDialog(final RegattaDTO regatta,
|
||||
final DeviceConfigurationDTO.RegattaConfigurationDTO configuration) {
|
||||
final DialogBox dialogBox = new DialogBox(true, true);
|
||||
dialogBox.setText(stringMessages.allRacesHaveDenoted());
|
||||
|
||||
VerticalPanel contentPanel = new VerticalPanel();
|
||||
contentPanel.add(new HTML(new SafeHtmlBuilder()
|
||||
.appendEscapedLines(stringMessages.warningOverrideRegattaConfigurationCourseDesignerToByMarks())
|
||||
.toSafeHtml()));
|
||||
|
||||
HorizontalPanel buttonPanel = new HorizontalPanel();
|
||||
buttonPanel.setSpacing(5);
|
||||
contentPanel.add(buttonPanel);
|
||||
|
||||
Button yesButton = new Button(stringMessages.yes());
|
||||
yesButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
configuration.defaultCourseDesignerMode = CourseDesignerMode.BY_MARKS;
|
||||
updateRegattaConfiguration(regatta, configuration);
|
||||
dialogBox.hide();
|
||||
}
|
||||
});
|
||||
buttonPanel.add(yesButton);
|
||||
|
||||
Button noButton = new Button(stringMessages.no(), new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
dialogBox.hide();
|
||||
}
|
||||
});
|
||||
buttonPanel.add(noButton);
|
||||
|
||||
dialogBox.setWidget(contentPanel);
|
||||
return dialogBox;
|
||||
}
|
||||
|
||||
private void updateRegattaConfiguration(final RegattaDTO regatta,
|
||||
DeviceConfigurationDTO.RegattaConfigurationDTO configuration) {
|
||||
final RegattaIdentifier regattaIdentifier = new RegattaName(regatta.getName());
|
||||
sailingService.updateRegatta(regattaIdentifier, regatta.startDate, regatta.endDate,
|
||||
regatta.defaultCourseAreaUuid, configuration, regatta.useStartTimeInference,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(
|
||||
"Error trying to update regatta " + regatta.getName() + ": " + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
Window.alert(stringMessages.notificationRegattaConfigurationUpdatedUsingByMarks());
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void denoteForRaceLogTracking(final RaceColumnDTO raceColumn, final FleetDTO fleet) {
|
||||
final StrippedLeaderboardDTO leaderboard = getSelectedLeaderboard();
|
||||
sailingService.denoteForRaceLogTracking(leaderboard.name, raceColumn.getName(), fleet.getName(), new AsyncCallback<Void>() {
|
||||
|
||||
+3
@@ -1635,4 +1635,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
|
||||
String favoriteBoatClasses();
|
||||
String notificationAboutNewResults();
|
||||
String notificationAboutUpcomingRaces();
|
||||
String notificationRegattaConfigurationUpdatedUsingByMarks();
|
||||
String warningOverrideRegattaConfigurationCourseDesignerToByMarks();
|
||||
String allRacesHaveDenoted();
|
||||
}
|
||||
+4
-1
@@ -1607,4 +1607,7 @@ watchLive=Watch live
|
||||
raceAnalysis=Race analysis
|
||||
startAnalysis=Start analysis
|
||||
winningLanes=Winning lanes
|
||||
maximumNumberOfDiscards=Maximum number of discards
|
||||
maximumNumberOfDiscards=Maximum number of discards
|
||||
notificationRegattaConfigurationUpdatedUsingByMarks=Active regatta configuration was set, using the "By Marks" course designer.
|
||||
warningOverrideRegattaConfigurationCourseDesignerToByMarks=Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"?
|
||||
allRacesHaveDenoted=All races have denoted for racelog tracking.
|
||||
+2
-1
@@ -1592,4 +1592,5 @@ watchLive=Live mitverfolgen
|
||||
raceAnalysis=Renn-Analyse
|
||||
startAnalysis=Start-Analyse
|
||||
winningLanes=Sieger-Kurse
|
||||
maximumNumberOfDiscards=Maximale Anzahl von Streichern
|
||||
maximumNumberOfDiscards=Maximale Anzahl von Streichern
|
||||
warningOverrideRegattaConfigurationCourseDesignerToByMarks=Aktive Regattakonfiguration existiert bereits, verwendet aber den falschenKursdesigner.\nKursdesigner auf "By Marks" umstellen?
|
||||
Reference in new issue
Block a user