mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-20 12:45:35 +00:00
Merge branch 'main' into bug6129
This commit is contained in:
@@ -1,113 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.gwtplugins.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.gwtplugins.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.gwtplugins.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
|
||||
<booleanAttribute key="com.gwtplugins.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
|
||||
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.CLASSIC_DEVMODE_CODE_SERVER_PORT" value="9876"/>
|
||||
<listAttribute key="com.gwtplugins.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
|
||||
<listEntry value="com.sap.sailing.gwt.home.Home"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.gwtplugins.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" javaProject="com.sap.sailing.gwt.ui" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.googlecode.java-diff-utils/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.shared.android/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.annotations/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.shared.android/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.json.simple/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.geocoding/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.udpconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server.gateway.serialization.shared.android/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.filestorage/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.filestorage/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mongodb/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.replication/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.operationaltransformation/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server.gateway.serialization/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.simulator/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.simulator/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.tractrac.clientmodule/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mail/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.xrr.resultimport/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.resultimport/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.competitorimport/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.xrr.schema/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.freg.resultimport/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingreplayadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.igtimiadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.igtimiadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.provider/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.racelogtrackingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.racelogtrackingadapter/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.manage2sail/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.xrr.structureimport/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.news/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.polars.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.polars.datamining/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.polars.datamining/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.gwt.ui"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="com.sap.sse.common" type="1"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.github.branflake2267.gwt-maps-api/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.ajaxloader/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.gwtplugins.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-style PRETTY -incremental -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9876 -startupUrl /gwt/Home.html -startupUrl /gwt/AdminConsole.html -startupUrl /gwt/PairingList.html -startupUrl /gwt/LeaderboardEditing.html -startupUrl /gwt/Leaderboard.html -startupUrl /gwt/Spectator.html -startupUrl /gwt/EmbeddedMapAndWindChart -startupUrl /gwt/RaceBoard.html -startupUrl /gwt/RegattaOverview.html -startupUrl /gwt/DataMining.html -startupUrl /gwt/Simulator.html -startupUrl /gwt/VideoPopup.html -startupUrl /gwt/AutoPlay.html -startupUrl /gwt/YoutubePopup.html com.sap.sailing.gwt.home.Home com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.RaceBoard com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:+UseG1GC -XX:+UseStringDeduplication -Dgwt.watchFileChanges=false -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work"/>
|
||||
</launchConfiguration>
|
||||
@@ -10,6 +10,7 @@
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.gwtplugins.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.gwtplugins.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
<div class="{res.mediaCss.columns}">
|
||||
<div class="{res.mediaCss.small12} {style.pageTitle}">
|
||||
<ui:text from="{i18n.racesAndTracking}" />
|
||||
<h:HelpButton addStyleNames= "{style.help}" ui:field='HelpButton' description='Video Guide' url='https://support.sapsailing.com/hc/en-us/articles/7275243525148-Tracking-Race-Player-Overview' />
|
||||
<h:HelpButton addStyleNames= "{style.help}" ui:field='HelpButton' description='Video Guide' url='https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/tracking-race-player.md' />
|
||||
</div>
|
||||
<sp:filter.RacesByCompetitorTextBoxFilter addStyleNames="{res.mediaCss.small12} {style.filter}" ui:field="competitorFilterUi" />
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
});
|
||||
deviceManagementControlPanel.add(refreshConfigurationsButton);
|
||||
deviceManagementControlPanel.add(new HelpButton(HelpButtonResources.INSTANCE,
|
||||
stringMessages.videoGuide(), "https://support.sapsailing.com/hc/en-us/articles/360019799279-How-to-work-with-the-SAP-Sailing-Race-Manager-app"));
|
||||
stringMessages.videoGuide(), "https://wiki.sapsailing.com/wiki/howto/tutorials/sailingracemanager/sailing-race-guide.md"));
|
||||
mainPanel.add(deviceManagementControlPanel);
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Vypnout GPS
|
||||
turnGPSOn=Zapnout GPS
|
||||
powerOff=Vypnout zařízení
|
||||
calibrateIMU=Kalibrovat IMU
|
||||
sendFreestyleCommand=Odeslat freestyle příkaz
|
||||
sendCommandsTo=Odeslat příkazy do zařízení {0}
|
||||
sendCommandsToDescription=Zadáním jednotlivého příkazu a stisknutím „Odeslat“ ho odešlete do zařízení. Příkaz se odešle do zařízení „{0}“.
|
||||
send=Odeslat
|
||||
reallyTurnGPSOffForIgtimiDevice=Opravdu chcete vypnout GPS pro zařízení Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Opravdu chcete zapnout GPS pro zařízení Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=Opravdu chcete vypnout zařízení Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Opravdu spustit kalibraci na zařízení Igti
|
||||
errorCalibratingIgtimiDevice=Chyba při kalibraci zařízení Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Zařízení Igtimi {0} bylo úspěšně kalibrováno
|
||||
restart=Restart zařízení
|
||||
enableOverTheAirLog=Aktivovat bezdrátový přenos
|
||||
disableOverTheAirLog=Deaktivovat bezdrátový přenos
|
||||
desktop=Počítač
|
||||
mobile=Mobilní zařízení
|
||||
percentTargetBoatSpeed=Procento cílové rychlosti lodi
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Používejte opatrně! Můžete použít zást
|
||||
isCORSWildcard=Zástupný znak (*)
|
||||
corsAllowedOrigins=Povolené původy
|
||||
successfullyUpdatedCORSAllowedOrigins=Povolené původy CORS byly úspěšně aktualizovány
|
||||
commandLogOutput=Výstup protokolu příkazu
|
||||
errorLoadingLeaderboard=Chyba při načítání výsledkové tabule {0}: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Slå GPS fra
|
||||
turnGPSOn=Slå GPS til
|
||||
powerOff=Sluk for enheden
|
||||
calibrateIMU=Kalibrer IMU
|
||||
sendFreestyleCommand=Send freestyle-kommando
|
||||
sendCommandsTo=Send kommandoer til enhed {0}
|
||||
sendCommandsToDescription=Indtast en enkelt kommando, og tryk på "Send" for at sende den til enheden. Kommandoen sendes til enheden "{0}".
|
||||
send=Send
|
||||
reallyTurnGPSOffForIgtimiDevice=Er du sikker på, at du vil slå GPS fra for Igtimi-enhed {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Er du sikker på, at du vil slå GPS til for Igtimi-enhed {0}?
|
||||
reallyPowerOffIgtimiDevice=Er du sikker på, at du vil slukke for Igtimi-enheden {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Vil du udføre kalibrering af Igtimi-enhed {0
|
||||
errorCalibratingIgtimiDevice=Fejl ved kalibrering af Igtimi-enhed {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Igtimi-enhed {0} blev kalibreret
|
||||
restart=Genstart enhed
|
||||
enableOverTheAirLog=Aktiver over-the-air-log
|
||||
disableOverTheAirLog=Deaktiver over-the-air-log
|
||||
desktop=Desktop
|
||||
mobile=Mobil
|
||||
percentTargetBoatSpeed=Procent målbådhastighed
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Brug med forsigtighed. Du kan bruge et jokerte
|
||||
isCORSWildcard=Jokertegn (*)
|
||||
corsAllowedOrigins=Tilladte oprindelser
|
||||
successfullyUpdatedCORSAllowedOrigins=Tilladte oprindelser for CORS blev opdateret
|
||||
commandLogOutput=Logoutput for kommando
|
||||
errorLoadingLeaderboard=Fejl ved indlæsning af rangliste {0}: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Desactivar GPS
|
||||
turnGPSOn=Activar GPS
|
||||
powerOff=Apagar dispositivo
|
||||
calibrateIMU=Calibrar IMU
|
||||
sendFreestyleCommand=Enviar comando de estilo libre
|
||||
sendCommandsTo=Enviar comandos para el dispositivo {0}
|
||||
sendCommandsToDescription=Introduzca un comando individual y pulse "Enviar" para enviarlo al dispositivo. El comando se enviará al dispositivo "{0}".
|
||||
send=Enviar
|
||||
reallyTurnGPSOffForIgtimiDevice=¿Desea realmente desactivar el GPS para el dispositivo Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=¿Desea realmente activar el GPS para el dispositivo Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=¿Desea realmente desactivar el dispositivo Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=¿Desea realmente ejecutar el calibrado en el
|
||||
errorCalibratingIgtimiDevice=Error al calibrar el dispositivo Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Dispositivo Igtimi {0} calibrado correctamente
|
||||
restart=Reiniciar dispositivo
|
||||
enableOverTheAirLog=Activar el log Over-the-air
|
||||
disableOverTheAirLog=Desactivar el log Over-the-air
|
||||
desktop=Escritorio
|
||||
mobile=Móvil
|
||||
percentTargetBoatSpeed=Porcentaje de velocidad de embarcación objetivo
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Use con precaución. Puede utilizar un comodí
|
||||
isCORSWildcard=Comodín (*)
|
||||
corsAllowedOrigins=Orígenes permitidos
|
||||
successfullyUpdatedCORSAllowedOrigins=Orígenes permitidos CORS actualizados correctamente
|
||||
commandLogOutput=Salida de log de comandos
|
||||
errorLoadingLeaderboard=Error al cargar la tabla de clasificación {0}: {1}
|
||||
|
||||
+8
-1
@@ -2147,7 +2147,7 @@ tagCreated=({1}, création par {0})
|
||||
tagNoTagsFound=Aucune balise trouvée.
|
||||
tagAddTag=Ajouter une balise
|
||||
tagEditTag=Modifier une balise
|
||||
tagDeleteTag=Supprimer une balise
|
||||
tagDeleteTag=Supprimer la balise
|
||||
tagShareTag=Partager une balise
|
||||
tagAddTags=Ajouter des balises
|
||||
tagSavedSuccessfully=Balise correctement sauvegardée
|
||||
@@ -2530,6 +2530,10 @@ turnGPSOff=Désactiver le GPS
|
||||
turnGPSOn=Activer le GPS
|
||||
powerOff=Arrêter l''appareil
|
||||
calibrateIMU=Calibrer l''IMU
|
||||
sendFreestyleCommand=Envoyer une commande personnalisée
|
||||
sendCommandsTo=Envoyer des commandes à l''appareil {0}
|
||||
sendCommandsToDescription=Saisissez une commande unique et appuyez sur "Envoyer" pour l''envoyer à l''appareil. La commande sera envoyée à l''appareil "{0}".
|
||||
send=Envoyer
|
||||
reallyTurnGPSOffForIgtimiDevice=Voulez-vous vraiment désactiver le GPS pour l''appareil Igtimi {0} ?
|
||||
reallyTurnGPSOnForIgtimiDevice=Voulez-vous vraiment activer le GPS pour l''appareil Igtimi {0} ?
|
||||
reallyPowerOffIgtimiDevice=Voulez-vous vraiment arrêter l''appareil Igtimi {0} ?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Voulez-vous vraiment lancer le calibrage sur
|
||||
errorCalibratingIgtimiDevice=Erreur lors du calibrage de l''appareil Igtimi {0} : {1}
|
||||
successfullyCalibratedIgtimiDevice=Appareil Igtimi {0} calibré
|
||||
restart=Redémarrer l''appareil
|
||||
enableOverTheAirLog=Activer le journal over-the-air
|
||||
disableOverTheAirLog=Désactiver le journal over-the-air
|
||||
desktop=Bureau
|
||||
mobile=Mobile
|
||||
percentTargetBoatSpeed=Pourcentage de la vitesse cible du bateau
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Attention ! Vous pouvez utiliser un caractèr
|
||||
isCORSWildcard=Caractère générique (*)
|
||||
corsAllowedOrigins=Origines autorisées
|
||||
successfullyUpdatedCORSAllowedOrigins=Origines autorisées CORS mises à jour
|
||||
commandLogOutput=Édition du journal des commandes
|
||||
errorLoadingLeaderboard=Erreur lors du chargement du palmarès {0} : {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Disattiva GPS
|
||||
turnGPSOn=Attiva GPS
|
||||
powerOff=Spegni dispositivo
|
||||
calibrateIMU=Calibra la IMU
|
||||
sendFreestyleCommand=Invia comando freestyle
|
||||
sendCommandsTo=Invia comandi al dispositivo {0}
|
||||
sendCommandsToDescription=Inserire un comando singolo e premere "Invia" per inviarlo al dispositivo. Il comando verrà inviato al dispositivo "{0}".
|
||||
send=Invia
|
||||
reallyTurnGPSOffForIgtimiDevice=Confermare la disattivazione del GPS per il dispositivo Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Confermare l''attivazione del GPS per il dispositivo Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=Confermare di voler spegnere il dispositivo Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Confermare l''esecuzione della calibrazione s
|
||||
errorCalibratingIgtimiDevice=Errore di calibrazione del dispositivo Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Dispositivo Igtimi {0} calibrato correttamente
|
||||
restart=Riavvia dispositivo
|
||||
enableOverTheAirLog=Attiva registro senza connessione
|
||||
disableOverTheAirLog=Disattiva registro senza connessione
|
||||
desktop=Desktop
|
||||
mobile=Mobile
|
||||
percentTargetBoatSpeed=Velocità target della barca in percentuale
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Usare con prudenza. È possibile utilizzare un
|
||||
isCORSWildcard=Carattere per ricerca generica
|
||||
corsAllowedOrigins=Origini consentite
|
||||
successfullyUpdatedCORSAllowedOrigins=Origini CORS consentite aggiornate correttamente
|
||||
commandLogOutput=Output del registro di comando
|
||||
errorLoadingLeaderboard=Errore di caricamento della classifica {0}: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=GPS オフ
|
||||
turnGPSOn=GPS オン
|
||||
powerOff=電源デバイスオフ
|
||||
calibrateIMU=IMU の調整
|
||||
sendFreestyleCommand=フリースタイルコマンド送信
|
||||
sendCommandsTo=デバイス {0} へのコマンド送信
|
||||
sendCommandsToDescription=単一のコマンドを入力し、"送信" を押してデバイスに送信します。コマンドはデバイス "{0}" に送信されます。
|
||||
send=送信
|
||||
reallyTurnGPSOffForIgtimiDevice=Igtimi デバイス {0} の GPS をオフにしますか?
|
||||
reallyTurnGPSOnForIgtimiDevice=Igtimi デバイス {0} の GPS をオンにしますか?
|
||||
reallyPowerOffIgtimiDevice=Igtimi デバイス {0} の電源をオフにしますか?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Igtimi デバイス {0} の調整を実行し
|
||||
errorCalibratingIgtimiDevice=Igtimi デバイス {0} の調整でエラーが発生: {1}
|
||||
successfullyCalibratedIgtimiDevice=Igtimi デバイス {0} が正常に調整されました
|
||||
restart=デバイスの再起動
|
||||
enableOverTheAirLog=無線ログの有効化
|
||||
disableOverTheAirLog=無線ログの無効化
|
||||
desktop=デスクトップ
|
||||
mobile=モバイル
|
||||
percentTargetBoatSpeed=ターゲットボートスピード (%)
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=注意深く使用してください。この
|
||||
isCORSWildcard=ワイルドカード (*)
|
||||
corsAllowedOrigins=許可済みソース
|
||||
successfullyUpdatedCORSAllowedOrigins=CORS 許可済みソースが更新されました
|
||||
commandLogOutput=コマンドログ出力
|
||||
errorLoadingLeaderboard=リーダーボード {0} のロードでエラーが発生: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Desativar GPS
|
||||
turnGPSOn=Ativar GPS
|
||||
powerOff=Desligar dispositivo
|
||||
calibrateIMU=Calibrar IMU
|
||||
sendFreestyleCommand=Enviar comando freestyle
|
||||
sendCommandsTo=Enviar comandos para dispositivo {0}
|
||||
sendCommandsToDescription=Insira um único comando e pressione “Enviar” para enviá-lo para o dispositivo. O comando será enviado para o dispositivo “{0}”.
|
||||
send=Enviar
|
||||
reallyTurnGPSOffForIgtimiDevice=Desativar GPS para dispositivo Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Ativar GPS para dispositivo Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=Desligar dispositivo Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Executar calibração no dispositivo Igtimi {
|
||||
errorCalibratingIgtimiDevice=Erro ao calibrar dispositivo Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Dispositivo Igtimi {0} calibrado com êxito
|
||||
restart=Reiniciar dispositivo
|
||||
enableOverTheAirLog=Ativar o registro sem fio
|
||||
disableOverTheAirLog=Desativar o registro sem fio
|
||||
desktop=Desktop
|
||||
mobile=Dispositivo móvel
|
||||
percentTargetBoatSpeed=Porcentagem da velocidade prevista do barco
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Utilizar com cuidado! Você pode utilizar um c
|
||||
isCORSWildcard=Curinga (*)
|
||||
corsAllowedOrigins=Origens permitidas
|
||||
successfullyUpdatedCORSAllowedOrigins=Origens permitidas CORS atualizadas com êxito
|
||||
commandLogOutput=Saída do log de comando
|
||||
errorLoadingLeaderboard=Erro ao carregar o painel de classificação {0}: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=Выключить GPS
|
||||
turnGPSOn=Включить GPS
|
||||
powerOff=Отключить питание устройства
|
||||
calibrateIMU=Калибровать IMU
|
||||
sendFreestyleCommand=Отправить свободную команду
|
||||
sendCommandsTo=Отправить команды на устройство {0}
|
||||
sendCommandsToDescription=Введите одну команду и нажмите "Отправить", чтобы отправить ее на устройство. Команда будет отправлена на устройство "{0}".
|
||||
send=Отправить
|
||||
reallyTurnGPSOffForIgtimiDevice=Действительно выключить GPS для устройства Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Действительно включить GPS для устройства Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=Действительно отключить питание устройства Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Действительно выполнить
|
||||
errorCalibratingIgtimiDevice=Ошибка при калибровке устройства Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Устройство Igtimi {0} успешно откалибровано
|
||||
restart=Перезапустить устройство
|
||||
enableOverTheAirLog=Активировать беспроводной журнал
|
||||
disableOverTheAirLog=Деактивировать беспроводной журнал
|
||||
desktop=Настольный ПК
|
||||
mobile=Мобильное приложение
|
||||
percentTargetBoatSpeed=Процент целевой скорости лодки
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Используйте с осторожнос
|
||||
isCORSWildcard=Подстановочный знак (*)
|
||||
corsAllowedOrigins=Разрешенные происхождения
|
||||
successfullyUpdatedCORSAllowedOrigins=Разрешенные происхождения CORS обновлены
|
||||
commandLogOutput=Вывод журнала команд
|
||||
errorLoadingLeaderboard=Ошибка при загрузке таблицы лидеров {0}: {1}
|
||||
|
||||
+8
-1
@@ -2523,13 +2523,17 @@ configureCourse=Konfiguriraj progo
|
||||
errorGettingIgtimiConnectionFactoryParams=Napaka pri priklicu tovarniških parametrov povezave Igtimi: {0}
|
||||
igtimiConnectionFactoryParams=Tovarniški parametri povezave Igtimi: Osnovni URL je {0}, poverilnice navedene: {1}
|
||||
editDevice=Urejanje naprave
|
||||
successfullyUpdatedIgtimiDevice=Nprava Igtimi {0} uspešno podobljena
|
||||
successfullyUpdatedIgtimiDevice=Naprava Igtimi {0} uspešno posodobljena
|
||||
errorUpdatingIgtimiDevice=Napaka pri posodobitvi naprave Igtimi: {0}
|
||||
batteryPercent=Baterija (%)
|
||||
turnGPSOff=Izključitev GPS-a
|
||||
turnGPSOn=Vključitev GPS-a
|
||||
powerOff=Izključitev naprave
|
||||
calibrateIMU=Umerjanje IMU
|
||||
sendFreestyleCommand=Pošljite ukaz v prostem slogu
|
||||
sendCommandsTo=Pošljite ukaze napravi {0}
|
||||
sendCommandsToDescription=Vnesite posamezen ukaz in pritisnite "Pošlji", da ga pošljete napravi. Ukaz bo poslan napravi "{0}".
|
||||
send=Pošlji
|
||||
reallyTurnGPSOffForIgtimiDevice=Želite res izključiti GPS za napravo Igtimi {0}?
|
||||
reallyTurnGPSOnForIgtimiDevice=Želite res vključiti GPS za napravo Igtimi {0}?
|
||||
reallyPowerOffIgtimiDevice=Želite res izključiti napravo Igtimi {0}?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=Res želite izvesti umerjanje za napravo Igti
|
||||
errorCalibratingIgtimiDevice=Napaka pri umerjanju naprave Igtimi {0}: {1}
|
||||
successfullyCalibratedIgtimiDevice=Naprava Igtimi {0} uspešno umerjena
|
||||
restart=Vnovični zagon naprave
|
||||
enableOverTheAirLog=Omogoči brezžični dnevnik
|
||||
disableOverTheAirLog=Onemogoči brezžični dnevnik
|
||||
desktop=Namizje
|
||||
mobile=Mobilna naprava
|
||||
percentTargetBoatSpeed=Odstotek ciljne hitrosti jadrnice
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=Uporabite previdno! Uporabite lahko nadomestni
|
||||
isCORSWildcard=Nadomestni znak (*)
|
||||
corsAllowedOrigins=Dovoljena porekla
|
||||
successfullyUpdatedCORSAllowedOrigins=Uspešno posodobljeni CORS - dovoljeno poreklo
|
||||
commandLogOutput=Izdaja dnevnika ukazov
|
||||
errorLoadingLeaderboard=Napaka pri prenosu lestvice vodilnih {0}: {1}
|
||||
|
||||
+7
@@ -2530,6 +2530,10 @@ turnGPSOff=关闭 GPS
|
||||
turnGPSOn=打开 GPS
|
||||
powerOff=关闭设备电源
|
||||
calibrateIMU=校准 IMU
|
||||
sendFreestyleCommand=发送自由式命令
|
||||
sendCommandsTo=将命令发送到设备 {0}
|
||||
sendCommandsToDescription=输入单个命令,然后按“发送”将其发送到设备。该命令将发送到设备 "{0}"。
|
||||
send=发送
|
||||
reallyTurnGPSOffForIgtimiDevice=是否确定要为 Igtimi 设备 {0} 关闭 GPS?
|
||||
reallyTurnGPSOnForIgtimiDevice=是否确定要为 Igtimi 设备 {0} 打开 GPS?
|
||||
reallyPowerOffIgtimiDevice=是否确定要关闭 Igtimi 设备 {0} 的电源?
|
||||
@@ -2549,6 +2553,8 @@ reallyRunCalibrationOnIgtimiDevice=是否确定要在 Igtimi 设备 {0} 上运
|
||||
errorCalibratingIgtimiDevice=校准 Igtimi 设备 {0} 出错:{1}
|
||||
successfullyCalibratedIgtimiDevice=已成功校准 Igtimi 设备 {0}
|
||||
restart=重启设备
|
||||
enableOverTheAirLog=启用无线日志
|
||||
disableOverTheAirLog=禁用无线日志
|
||||
desktop=桌面
|
||||
mobile=移动
|
||||
percentTargetBoatSpeed=目标船只速度的百分比
|
||||
@@ -2577,4 +2583,5 @@ corsAndCSPFilterConfigurationHint=仔细使用!您可以使用通配符来允
|
||||
isCORSWildcard=通配符 (*)
|
||||
corsAllowedOrigins=允许的来源
|
||||
successfullyUpdatedCORSAllowedOrigins=已成功更新 CORS 允许的来源
|
||||
commandLogOutput=命令日志输出
|
||||
errorLoadingLeaderboard=加载积分榜 {0} 出错:{1}
|
||||
|
||||
+1
-1
@@ -349,7 +349,7 @@ public class DataMiningEntryPoint extends AbstractSailingReadEntryPoint implemen
|
||||
});
|
||||
queryDefinitionProvider.addControl(orientationAnchor);
|
||||
queryDefinitionProvider.addControl(new HelpButton(DataMiningHelpButtonResources.INSTANCE,
|
||||
getStringMessages().videoGuide(), "https://support.sapsailing.com/hc/en-us/articles/360019913740-An-Introduction-to-the-SAP-Sailing-Analytics-Data-Mining-Tool"));
|
||||
getStringMessages().videoGuide(), "https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/data-mining-tool.md"));
|
||||
queryAndResultSplitPanel = new SplitLayoutPanel(10);
|
||||
mainPanel.add(queryAndResultSplitPanel);
|
||||
addDefinitionProviderAndResultPresenter();
|
||||
|
||||
+1
-1
@@ -844,7 +844,7 @@ public class RaceBoardPanel
|
||||
final FlowPanel helpButtonAndRaceTimePanel = new FlowPanel();
|
||||
helpButtonAndRaceTimePanel.setStyleName("Help-And-RaceTime");
|
||||
final HelpButton helpButton = new HelpButton(HelpButtonResources.INSTANCE,
|
||||
stringMessages.videoGuide(), "https://support.sapsailing.com/hc/en-us/articles/7275243525148-Tracking-Race-Player-Overview");
|
||||
stringMessages.videoGuide(), "https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/tracking-race-player.md");
|
||||
if (!DeviceDetector.isMobile()) {
|
||||
helpButtonAndRaceTimePanel.add(helpButton);
|
||||
}
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ public class PageObject {
|
||||
".//div[contains(@class, \"gwt-VerticalTabLayoutPanelTabInner\")]/div[text()=\"{0}\"]/../..");
|
||||
|
||||
/**
|
||||
* </p>The default timeout of 15 seconds for the lookup of other elements.</p>
|
||||
* </p>The default timeout of 60 seconds for the lookup of other elements.</p>
|
||||
*/
|
||||
protected static final int DEFAULT_LOOKUP_TIMEOUT = 60;
|
||||
|
||||
|
||||
+2
@@ -14,6 +14,8 @@ public class UserManagementException extends UserStoreManagementException implem
|
||||
public static final String USERNAME_DOES_NOT_MEET_REQUIREMENTS = "Username does not meet requirements";
|
||||
public static final String CANNOT_RESET_PASSWORD_WITHOUT_VALIDATED_EMAIL = "Cannot reset password without validated e-mail address";
|
||||
public static final String USER_DOESNT_HAVE_PERMISSION = "The user does not have the required permission";
|
||||
public static final String CLIENT_CURRENTLY_LOCKED_FOR_USER_CREATION = "Client currently locked for user creation";
|
||||
public static final String PASSWORD_AUTHENTICATION_CURRENTLY_LOCKED_FOR_USER = "Password authentication currently locked for user";
|
||||
|
||||
private final String message;
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@ public class SecuredSecurityTypes extends HasPermissionsImpl {
|
||||
* type-relative identifier is the {@link User#getName() username}.
|
||||
*/
|
||||
public static final HasPermissions USER = new SecuredSecurityTypes("USER", DefaultActions
|
||||
.plus(UserActions.FORCE_OVERWRITE_PASSWORD, PublicReadableActions.READ_PUBLIC, UserActions.ADD_SUBSCRIPTION
|
||||
, UserActions.BE_PREMIUM));
|
||||
.plus(UserActions.FORCE_OVERWRITE_PASSWORD, PublicReadableActions.READ_PUBLIC,
|
||||
UserActions.ADD_SUBSCRIPTION, UserActions.BE_PREMIUM));
|
||||
|
||||
/**
|
||||
* type-relative identifier is the {@link RoleDefinition#getId() role ID's} string representation
|
||||
|
||||
+2
@@ -127,6 +127,8 @@ public class AuthenticationManagerImpl implements AuthenticationManager {
|
||||
if (caught instanceof UserManagementException) {
|
||||
if (Util.hasLength(caught.getMessage()) && caught.getMessage().equals(USER_ALREADY_EXISTS)) {
|
||||
view.setErrorMessage(i18n.userAlreadyExists(name));
|
||||
} else if (Util.hasLength(caught.getMessage()) && caught.getMessage().equals(UserManagementException.CLIENT_CURRENTLY_LOCKED_FOR_USER_CREATION)) {
|
||||
view.setErrorMessage(i18n.clientCurrentlyLockedForUserCreation());
|
||||
} else {
|
||||
Notification.notify(i18n.errorCreatingUser(name, caught.getMessage()==null?"":caught.getMessage()), NotificationType.ERROR);
|
||||
}
|
||||
|
||||
+2
@@ -224,4 +224,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages {
|
||||
String paymentUnfinished();
|
||||
String paymentFinished();
|
||||
String lockedUntil();
|
||||
String passwordAuthenticationCurrentlyLockedForUser();
|
||||
String clientCurrentlyLockedForUserCreation();
|
||||
}
|
||||
|
||||
+3
-1
@@ -230,4 +230,6 @@ takeMeToSubscriptions=Go to subscription plans
|
||||
errorPollingCheckoutResults=Could not retrieve payment status.
|
||||
paymentUnfinished=Waiting for payment to process.
|
||||
paymentFinished=Payment successful. Plan roles have been granted.
|
||||
lockedUntil=Locked until
|
||||
lockedUntil=Locked until
|
||||
passwordAuthenticationCurrentlyLockedForUser=Password authentication is currently locked for this user due to too many failed login attempts. Please try again later.
|
||||
clientCurrentlyLockedForUserCreation=Client is currently locked for user creation after too many user creations by the same client. Please try again later.
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Nepodařilo se načíst status platby.
|
||||
paymentUnfinished=Čeká se na zpracování platby.
|
||||
paymentFinished=Platba proběhla úspěšně. Byly přiděleny role daného plánu.
|
||||
lockedUntil=Zablokováno do
|
||||
passwordAuthenticationCurrentlyLockedForUser=Ověřování pomocí hesla je momentálně pro tohoto uživatele zablokováno kvůli příliš mnoho neúspěšným pokusům o přihlášení. Zkuste to znovu později.
|
||||
clientCurrentlyLockedForUserCreation=Klient je momentálně pro vytvoření uživatele zablokovaný po příliš mnoho vytvoření uživatelů stejným klientem. Zkuste to znovu později.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Kunne ikke hente betalingsstatus.
|
||||
paymentUnfinished=Venter på, at betalingen bliver behandlet.
|
||||
paymentFinished=Betalingen lykkedes. Planroller er blevet tildelt.
|
||||
lockedUntil=Spærret til
|
||||
passwordAuthenticationCurrentlyLockedForUser=Godkendelse med adgangskode er i øjeblikket låst for denne bruger på grund af for mange mislykkede logonforsøg. Prøv igen senere.
|
||||
clientCurrentlyLockedForUserCreation=Klienten er i øjeblikket låst for oprettelse af brugere efter for mange brugeroprettelser fra samme klient. Prøv igen senere.
|
||||
|
||||
+3
-1
@@ -226,4 +226,6 @@ takeMeToSubscriptions=Zur Abbonementübersicht
|
||||
errorPollingCheckoutResults=Der Zahlungsstatus konnte nicht abgerufen werden.
|
||||
paymentUnfinished=Warte auf Zahlungsbestätigung.
|
||||
paymentFinished=Zahlung erfolgreich. Planrollen wurden verliehen.
|
||||
lockedUntil=Gesperrt bis
|
||||
lockedUntil=Gesperrt bis
|
||||
passwordAuthenticationCurrentlyLockedForUser=Passwort-Authentifizierung ist für diesen Benutzer derzeit aufgrund zu vieler fehlgeschlagener Versuche gesperrt. Bitter später erneut versuchen.
|
||||
clientCurrentlyLockedForUserCreation=Benutzererstellung für den aktuellen Client ist derzeit wegen zu vieler neuer Nutzer vom selben Client gesperrt. Bitte später erneut versuchen.
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=No se ha podido recuperar el estado de pago.
|
||||
paymentUnfinished=Esperando a que se procese el pago.
|
||||
paymentFinished=Pago correcto. Se han concedido los roles del plan.
|
||||
lockedUntil=Bloqueado hasta
|
||||
passwordAuthenticationCurrentlyLockedForUser=Autenticación de contraseña actualmente bloqueada para este usuario debido a demasiados intentos de inicio de sesión fallidos. Inténtelo de nuevo más tarde.
|
||||
clientCurrentlyLockedForUserCreation=El mandante está actualmente bloqueado para la creación de usuario tras demasiadas creaciones de usuario por el mismo mandante. Inténtelo de nuevo más tarde.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Impossible de récupérer le statut de paiement.
|
||||
paymentUnfinished=En attente du traitement du paiement.
|
||||
paymentFinished=Paiement effectué. Vous disposez désormais des rôles de ce plan d''abonnement.
|
||||
lockedUntil=Fin du blocage
|
||||
passwordAuthenticationCurrentlyLockedForUser=L''authentification par mot de passe est actuellement bloquée pour cet utilisateur car il y a eu trop de tentatives de connexion échouées. Réessayez ultérieurement.
|
||||
clientCurrentlyLockedForUserCreation=Le client est actuellement bloqué pour la création d''utilisateur car il y a eu trop de créations d''utilisateurs par le même client. Réessayez ultérieurement.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Impossibile recuperare lo stato di pagamento.
|
||||
paymentUnfinished=In attesa di elaborazione del pagamento.
|
||||
paymentFinished=Pagamento eseguito correttamente. Ruoli di pianificazione accordati.
|
||||
lockedUntil=Data fine blocco
|
||||
passwordAuthenticationCurrentlyLockedForUser=L’autenticazione password per questo utente attualmente è bloccata a causa di un numero eccessivo di tentativi di logon non riusciti. Riprovare più tardi.
|
||||
clientCurrentlyLockedForUserCreation=Attualmente il mandante è bloccato per la creazione utente a causa di un numero eccessivo di creazioni utente effettuate dallo stesso mandante. Riprovare più tardi.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=支払ステータスを取得できませんでし
|
||||
paymentUnfinished=処理する支払を待機しています。
|
||||
paymentFinished=支払が正常に行われました。プランロールが付与されました。
|
||||
lockedUntil=ロック期限
|
||||
passwordAuthenticationCurrentlyLockedForUser=失敗したログイン試行回数が多すぎるため、パスワード認証は現在このユーザに対してロックされています。後で再試行してください。
|
||||
clientCurrentlyLockedForUserCreation=同一のクライアントによる多すぎるユーザ作成があった後に、クライアントは現在ユーザ作成がロックされています。後で再試行してください。
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Não foi possível chamar status do pagamento.
|
||||
paymentUnfinished=Aguardando processamento do pagamento.
|
||||
paymentFinished=Pagamento com êxito. Foram concedidas as funções do plano.
|
||||
lockedUntil=Bloqueado até
|
||||
passwordAuthenticationCurrentlyLockedForUser=A autenticação de senha está bloqueada atualmente para este usuário devido a demasiadas tentativas de logon falhadas. Tente novamente mais tarde.
|
||||
clientCurrentlyLockedForUserCreation=O cliente está bloqueado para a criação de usuário após demasiadas criações de usuário pelo mesmo cliente. Tente novamente mais tarde.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Не удалось вызвать статус пл
|
||||
paymentUnfinished=Ожидание обработки платежа.
|
||||
paymentFinished=Платеж выполнен успешно. Предоставлены роли по плану.
|
||||
lockedUntil=Заблокировано до
|
||||
passwordAuthenticationCurrentlyLockedForUser=Аутентификация по паролю в настоящее время заблокирована для этого пользователя из-за слишком большого числа неудачных попыток входа. Повторите попытку позднее.
|
||||
clientCurrentlyLockedForUserCreation=В настоящее время клиент заблокирован для создания пользователей после создания слишком большого числа пользователей одним клиентом. Повторите попытку позднее.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=Statusa plačila ni bilo mogoče priklicati.
|
||||
paymentUnfinished=Čakanje na obdelavo plačila.
|
||||
paymentFinished=Plačilo je uspelo. Vloge paketa so bile odobrene.
|
||||
lockedUntil=Zaklenjeno do
|
||||
passwordAuthenticationCurrentlyLockedForUser=Preverjanje pristnosti gesla je trenutno blokirano za tega uporabnika zaradi preveč neuspelih poskusov prijave. Poskusite znova pozneje.
|
||||
clientCurrentlyLockedForUserCreation=Odjemalec je trenutno blokiran za ustvarjanje uporabnikov po preveč ustvarjenjih uporabnikih istega odjemalca. Poskusite znova pozneje.
|
||||
|
||||
+2
@@ -231,3 +231,5 @@ errorPollingCheckoutResults=无法检索付款状态。
|
||||
paymentUnfinished=正在等待处理付款。
|
||||
paymentFinished=付款成功。已授予计划角色。
|
||||
lockedUntil=锁定截至
|
||||
passwordAuthenticationCurrentlyLockedForUser=由于登录尝试失败的次数过多,密码验证目前为该用户锁定。请稍后再试。
|
||||
clientCurrentlyLockedForUserCreation=在同一客户端创建的用户过多后,客户端目前已锁定用户创建。请稍后再试。
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ features_full_live_analytics_title=Live Analytics (full)
|
||||
features_full_live_analytics_description=Full live analytics with hundreds of features including wind streamlets, comparison charts, advanced map visualizations and much more
|
||||
features_organize_events_title=Organize Events
|
||||
features_organize_events_description=Run the Sailing Analytics at your regatta with our free tracking app or a professional tracking service like Trac Trac. Maneuever detection and Analytics
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Events with more than one regatta
|
||||
features_events_with_more_regatta_description=You can create a multi-class event or a season of events counting in a seasonal leaderboard
|
||||
features_connect_to_tractrac_title=Connect to Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Analytika aktuálních dat (plná)
|
||||
features_full_live_analytics_description=Kompletní analytika aktuálních dat se stovkami funkcí včetně grafického znázornění síly a směru větru, srovnávacích grafů, pokročilých vizualizací v mapě atd.
|
||||
features_organize_events_title=Organizování závodů
|
||||
features_organize_events_description=Analyzujte údaje ze závodu s naší bezplatnou trasovací aplikací nebo profesionální službou trasování jako Trac Trac při vámi pořádané regatě. Detekce manévrů a analytika.
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Několik regat při jedné akci
|
||||
features_events_with_more_regatta_description=Lze vytvořit závod vypsaný pro několik tříd nebo sérii závodů započítávaných do jednoho žebříčku.
|
||||
features_connect_to_tractrac_title=Připojení k Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Live analyser (komplette)
|
||||
features_full_live_analytics_description=Komplette live analyser med hundredvis af funktioner, herunder vindstreamlets, sammenligningsdiagrammer, avancerede visualiseringer på kortet og meget mere
|
||||
features_organize_events_title=Organiser begivenheder
|
||||
features_organize_events_description=Kør Sailing Analytics under din regatta med vores gratis sporingsapp eller en professionel sporingstjeneste, f.eks. TracTrac. Manøvreregistrering og -analyser
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Begivenheder med mere end en regatta
|
||||
features_events_with_more_regatta_description=Du kan oprette en begivenhed med flere klasser eller en sæson af begivenheder, der tæller med i en sæsonrangliste
|
||||
features_connect_to_tractrac_title=Opret forbindelse til TracTrac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Análisis en tiempo real (completo)
|
||||
features_full_live_analytics_description=Análisis completo en tiempo real con cientos de funciones, incluidas corrientes de aire, gráficos de comparación, visualizaciones avanzadas en el mapa, y mucho más
|
||||
features_organize_events_title=Organizar eventos
|
||||
features_organize_events_description=Realizar el análisis de navegación para su regata con nuestra aplicación de rastreo gratuita o un servicio de rastreo profesional, como Trac Trac. Detección de maniobra y análisis
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Eventos con más de una regata
|
||||
features_events_with_more_regatta_description=Puede crear un evento de varias clases o una temporada de recuento de eventos en una clasificación de temporada
|
||||
features_connect_to_tractrac_title=Conexión a Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Analyses en direct (complètes)
|
||||
features_full_live_analytics_description=Analyses complètes actualisées en direct avec des centaines de fonctionnalités, notamment liées aux couloirs de vent, aux graphiques de comparaison, à des visualisations avancées sur carte et bien plus encore
|
||||
features_organize_events_title=Organisation de manifestations
|
||||
features_organize_events_description=Utilisez la solution Sailing Analytics pendant une régate à l''aide de notre application de suivi gratuite ou d''un service de suivi professionnel tel que TracTrac. Analyses et détection des manœuvres
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Manifestations avec plusieurs régates
|
||||
features_events_with_more_regatta_description=Création d''une manifestation à plusieurs catégories ou d''une saison de manifestations comptant pour un palmarès saisonnier
|
||||
features_connect_to_tractrac_title=Connexion à TracTrac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Analisi live (completo)
|
||||
features_full_live_analytics_description=Analisi live completa con centinaia di funzionalità, tra cui streamlet dei venti, grafici di confronto, visualizzazioni avanzate delle mappe e molto altro ancora
|
||||
features_organize_events_title=Organizza eventi
|
||||
features_organize_events_description=Esegui l''analisi velistica della tua regata con la nostra app di tracciamento gratuita o con un servizio di tracciamento professionale come ad esempio Trac Trac. Analisi e rilevamento manovre
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Eventi con più regate
|
||||
features_events_with_more_regatta_description=È possibile creare un evento multiclasse o una stagione di eventi inclusi in una classifica stagionale
|
||||
features_connect_to_tractrac_title=Connetti a Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Live Analytics (完全版)
|
||||
features_full_live_analytics_description=風ストリームレット、比較チャート、詳細マップ可視化などを含む、数百の機能を伴う完全版の Live Analytics です
|
||||
features_organize_events_title=イベントの組織化
|
||||
features_organize_events_description=無料の追跡アプリや、Trac Trac のようなプロフェッショナル追跡サービスにより、レガッタでの Sailing Analytics を実行します。マニューバー検知および分析
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=複数レガッタによるイベント
|
||||
features_events_with_more_regatta_description=複数クラスのイベントや、シーズンごとのリーダーボードでカウントされるイベントのシーズンを作成可能
|
||||
features_connect_to_tractrac_title=TracTrac への接続
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Análise ao vivo (completa)
|
||||
features_full_live_analytics_description=Análise ao vivo completa com centenas de funcionalidades, incluindo cursos de vento, gráficos de comparação, visualizações avançadas do mapa e muito mais
|
||||
features_organize_events_title=Organizar eventos
|
||||
features_organize_events_description=Execute o Sailing Analytics em sua regata com nosso app de rastreamento gratuito ou um serviço de rastreamento profissional. como o Trac Trac. Deteção e análise de manobras
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Eventos com mais de uma regata
|
||||
features_events_with_more_regatta_description=Você pode criar um evento de várias classes ou uma época de eventos contando em um painel de classificação sazonal
|
||||
features_connect_to_tractrac_title=Conecte-se ao Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=актуальная аналитика (по
|
||||
features_full_live_analytics_description=Полная актуальная аналитика с сотнями функций, включая потоки ветра, сравнительные диаграммы, расширенные визуализации на карте и многое другое
|
||||
features_organize_events_title=Организация мероприятий
|
||||
features_organize_events_description=Проводите аналитику для своей регаты с помощью нашего бесплатного приложения для отслеживания или профессионального сервиса отслеживания, например Trac Trac. Определение и аналитика маневров
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Мероприятия, включающие более одной регаты
|
||||
features_events_with_more_regatta_description=Можно создать многоклассовое мероприятие или сезон мероприятий, учитывающихся в сезонной таблице лидеров
|
||||
features_connect_to_tractrac_title=Соединение с Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=Analitika v živo (v celoti)
|
||||
features_full_live_analytics_description=Celotna analitika v živo s številnimi funkcijami, vključno s tokovi vetra, primerjalnimi diagrami, naprednimi vizualizacijami na zemljevidu in še veliko več
|
||||
features_organize_events_title=Organiziraj dogodke
|
||||
features_organize_events_description=Izvedite analitiko jadranja na regati z našo brezplačno aplikacijo za slednje ali strokovno storitvijo sledenja, kot je Trac Trac. Zaznavanje in analitika manevrov
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=Dogodki z več kot eno regato
|
||||
features_events_with_more_regatta_description=Ustvarite lahko večrazredne dogodke ali sezono dogodkov, ki se upoštevajo pri sezonski lestvici vodilnih
|
||||
features_connect_to_tractrac_title=Vzpostavitev povezave s Trac Trac
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ features_full_live_analytics_title=实时分析(完整)
|
||||
features_full_live_analytics_description=完整的实时分析,提供数百项功能,包括风流、比较记录、高级地图可视化效果等
|
||||
features_organize_events_title=组织活动
|
||||
features_organize_events_description=使用我们的免费跟踪应用或专业跟踪服务(例如 Trac Trac)为您的比赛运行 Sailing Analytics。操作检测和分析
|
||||
features_organize_events_url=https://support.sapsailing.com/hc/en-us/articles/360018169799-Create-a-simple-event-on-my-sapsailing-com
|
||||
features_organize_events_url=https://wiki.sapsailing.com/wiki/howto/tutorials/sailinganalytics/simple-event-creation.md
|
||||
features_events_with_more_regatta_title=拥有不止一场比赛的活动
|
||||
features_events_with_more_regatta_description=您可以创建多类活动,也可以创建包含赛季性积分榜在内的活动赛季。
|
||||
features_connect_to_tractrac_title=连接到 Trac Trac
|
||||
|
||||
+2
@@ -179,6 +179,8 @@ public class EditProfileEntryPoint implements EntryPoint {
|
||||
Notification.notify(stringMessages.passwordDoesNotMeetRequirements(), NotificationType.ERROR);
|
||||
} else if (UserManagementException.INVALID_CREDENTIALS.equals(message)) {
|
||||
Notification.notify(stringMessages.invalidCredentials(), NotificationType.ERROR);
|
||||
} else if (UserManagementException.PASSWORD_AUTHENTICATION_CURRENTLY_LOCKED_FOR_USER.equals(message)) {
|
||||
Notification.notify(stringMessages.passwordAuthenticationCurrentlyLockedForUser(), NotificationType.ERROR);
|
||||
} else {
|
||||
Notification.notify(stringMessages.errorChangingPassword(caught.getMessage()), NotificationType.ERROR);
|
||||
}
|
||||
|
||||
+25
-22
@@ -94,29 +94,32 @@ public class RegisterView extends Composite {
|
||||
/* fullName */ null, /* company */ null, LocaleInfo.getCurrentLocale().getLocaleName(),
|
||||
EntryPointLinkFactory.createEmailValidationLink(new HashMap<String, String>()),
|
||||
new AsyncCallback<UserDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
final String message = caught.getMessage();
|
||||
if (caught instanceof UserManagementException) {
|
||||
if (Util.hasLength(message) && message.equals(USER_ALREADY_EXISTS)) {
|
||||
Notification.notify(stringMessages.userAlreadyExists(usernameTextBox.getText()), NotificationType.ERROR);
|
||||
} else {
|
||||
Notification.notify(stringMessages.errorCreatingUser(usernameTextBox.getText(), message==null?"":message), NotificationType.ERROR);
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
final String message = caught.getMessage();
|
||||
if (caught instanceof UserManagementException) {
|
||||
if (Util.hasLength(message) && message.equals(USER_ALREADY_EXISTS)) {
|
||||
Notification.notify(stringMessages.userAlreadyExists(usernameTextBox.getText()), NotificationType.ERROR);
|
||||
} else if (Util.hasLength(message) && message.equals(UserManagementException.CLIENT_CURRENTLY_LOCKED_FOR_USER_CREATION)) {
|
||||
Notification.notify(stringMessages.clientCurrentlyLockedForUserCreation(), NotificationType.ERROR);
|
||||
} else {
|
||||
Notification.notify(stringMessages.errorCreatingUser(usernameTextBox.getText(),
|
||||
message == null ? "" : message), NotificationType.ERROR);
|
||||
}
|
||||
} else {
|
||||
Notification.notify(stringMessages.errorCreatingUser(usernameTextBox.getText(), message), NotificationType.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(UserDTO result) {
|
||||
if (result != null) {
|
||||
Notification.notify(stringMessages.signedUpSuccessfully(result.getName()), NotificationType.SUCCESS);
|
||||
closeWindow();
|
||||
} else {
|
||||
Notification.notify(stringMessages.unknownErrorCreatingUser(usernameTextBox.getText()), NotificationType.ERROR);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Notification.notify(stringMessages.errorCreatingUser(usernameTextBox.getText(), message), NotificationType.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(UserDTO result) {
|
||||
if (result != null) {
|
||||
Notification.notify(stringMessages.signedUpSuccessfully(result.getName()), NotificationType.SUCCESS);
|
||||
closeWindow();
|
||||
} else {
|
||||
Notification.notify(stringMessages.unknownErrorCreatingUser(usernameTextBox.getText()), NotificationType.ERROR);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -103,6 +103,8 @@ public class UserDetailsPresenter implements AbstractUserDetails.Presenter {
|
||||
Notification.notify(i18n_sec.passwordDoesNotMeetRequirements(), NotificationType.ERROR);
|
||||
} else if (UserManagementException.INVALID_CREDENTIALS.equals(message)) {
|
||||
Notification.notify(i18n_sec.invalidCredentials(), NotificationType.ERROR);
|
||||
} else if (UserManagementException.PASSWORD_AUTHENTICATION_CURRENTLY_LOCKED_FOR_USER.equals(message)) {
|
||||
Notification.notify(i18n_sec.passwordAuthenticationCurrentlyLockedForUser(), NotificationType.ERROR);
|
||||
} else {
|
||||
Notification.notify(i18n_sec.errorChangingPassword(caught.getMessage()), NotificationType.ERROR);
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class UsernamePasswordRealm extends AbstractCompositeAuthorizingRealm {
|
||||
byte[] salt = null;
|
||||
final User user = getUserStore().getUserByName(username);
|
||||
if (user == null) {
|
||||
logger.warning("Rejecting authentication attempt for non-existing user "+username);
|
||||
return null;
|
||||
}
|
||||
if (user.getLockingAndBanning().isAuthenticationLocked()) {
|
||||
|
||||
@@ -597,6 +597,7 @@ implements ReplicableSecurityService, ClearStateTestSupport {
|
||||
|
||||
@Override
|
||||
public Void internalResetPassword(String username, String passwordResetSecret) {
|
||||
logger.info("Password reset for user "+username+" requested");
|
||||
getUserByName(username).startPasswordReset(passwordResetSecret);
|
||||
return null;
|
||||
}
|
||||
@@ -1152,7 +1153,7 @@ implements ReplicableSecurityService, ClearStateTestSupport {
|
||||
if (lockingAndBanning == null || !lockingAndBanning.isAuthenticationLocked()) {
|
||||
apply(s->s.internalRecordUserCreationFromClientIP(clientIP));
|
||||
} else {
|
||||
throw new UserManagementException("Client IP "+clientIP+" locked for user creation: "+lockingAndBanning);
|
||||
throw new UserManagementException(UserManagementException.CLIENT_CURRENTLY_LOCKED_FOR_USER_CREATION);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1236,6 +1237,7 @@ implements ReplicableSecurityService, ClearStateTestSupport {
|
||||
final UsernamePasswordAccount account = (UsernamePasswordAccount) user.getAccount(AccountType.USERNAME_PASSWORD);
|
||||
account.setSalt(salt);
|
||||
account.setSaltedPassword(hashedPasswordBase64);
|
||||
logger.info("Password for user "+username+" was updated by "+SessionUtils.getPrincipal());
|
||||
user.passwordWasReset();
|
||||
store.updateUser(user);
|
||||
return null;
|
||||
@@ -1267,7 +1269,7 @@ implements ReplicableSecurityService, ClearStateTestSupport {
|
||||
throw new UserManagementException(UserManagementException.USER_DOES_NOT_EXIST);
|
||||
}
|
||||
if (user.getLockingAndBanning().isAuthenticationLocked()) {
|
||||
throw new UserManagementException("Password authentication is locked for user "+username);
|
||||
throw new UserManagementException(UserManagementException.PASSWORD_AUTHENTICATION_CURRENTLY_LOCKED_FOR_USER);
|
||||
}
|
||||
final UsernamePasswordAccount account = (UsernamePasswordAccount) user.getAccount(AccountType.USERNAME_PASSWORD);
|
||||
String hashedOldPassword = hashPassword(password, account.getSalt());
|
||||
|
||||
Reference in New Issue
Block a user