mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-20 19:20:04 +00:00
Bug 4228: Refactoring to allow an implementation of user information for
unauthenticated users without popup in mobile
This commit is contained in:
1 parent
2fa05b1f34
commit
f5f396d363
3 files changed
+17
-11
No files matched your search
Executable → Regular
+7
-1
@@ -39,6 +39,7 @@ import com.sap.sse.security.ui.authentication.AuthenticationManagerImpl;
|
|||||||
import com.sap.sse.security.ui.authentication.AuthenticationPlaceManagementController;
|
import com.sap.sse.security.ui.authentication.AuthenticationPlaceManagementController;
|
||||||
import com.sap.sse.security.ui.authentication.WrappedPlaceManagementController;
|
import com.sap.sse.security.ui.authentication.WrappedPlaceManagementController;
|
||||||
import com.sap.sse.security.ui.authentication.info.LoggedInUserInfoPlace;
|
import com.sap.sse.security.ui.authentication.info.LoggedInUserInfoPlace;
|
||||||
|
import com.sap.sse.security.ui.authentication.login.LoginPopup;
|
||||||
import com.sap.sse.security.ui.authentication.view.FlyoutAuthenticationPresenter;
|
import com.sap.sse.security.ui.authentication.view.FlyoutAuthenticationPresenter;
|
||||||
import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
||||||
import com.sap.sse.security.ui.client.i18n.StringMessages;
|
import com.sap.sse.security.ui.client.i18n.StringMessages;
|
||||||
@@ -91,7 +92,12 @@ public class TabletAndDesktopApplicationClientFactory extends AbstractApplicatio
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUserStatusChange(UserDTO user) {
|
public void onUserStatusChange(UserDTO user) {
|
||||||
checkNewUserPopup(user, true, () -> placesNavigator.goToPlace(placesNavigator.getMoreLoginInfo()));
|
checkNewUserPopup(user, () -> new LoginPopup(true, () -> {
|
||||||
|
setUserLoginHintToStorage();
|
||||||
|
}, () -> {
|
||||||
|
setUserLoginHintToStorage();
|
||||||
|
placesNavigator.goToPlace(placesNavigator.getMoreLoginInfo());
|
||||||
|
}).show());
|
||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-1
@@ -32,6 +32,7 @@ import com.sap.sse.security.ui.authentication.AuthenticationManager;
|
|||||||
import com.sap.sse.security.ui.authentication.AuthenticationManagerImpl;
|
import com.sap.sse.security.ui.authentication.AuthenticationManagerImpl;
|
||||||
import com.sap.sse.security.ui.authentication.WithAuthenticationManager;
|
import com.sap.sse.security.ui.authentication.WithAuthenticationManager;
|
||||||
import com.sap.sse.security.ui.authentication.WithUserService;
|
import com.sap.sse.security.ui.authentication.WithUserService;
|
||||||
|
import com.sap.sse.security.ui.authentication.login.LoginPopup;
|
||||||
import com.sap.sse.security.ui.client.SecureClientFactoryImpl;
|
import com.sap.sse.security.ui.client.SecureClientFactoryImpl;
|
||||||
import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
||||||
import com.sap.sse.security.ui.client.i18n.StringMessages;
|
import com.sap.sse.security.ui.client.i18n.StringMessages;
|
||||||
@@ -83,7 +84,12 @@ public class MobileApplicationClientFactory extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUserStatusChange(UserDTO user) {
|
public void onUserStatusChange(UserDTO user) {
|
||||||
checkNewUserPopup(user, false, () -> navigator.goToPlace(navigator.getMoreLoginInfo()));
|
checkNewUserPopup(user, () -> new LoginPopup(false, () -> {
|
||||||
|
setUserLoginHintToStorage();
|
||||||
|
}, () -> {
|
||||||
|
setUserLoginHintToStorage();
|
||||||
|
navigator.goToPlace(navigator.getMoreLoginInfo());
|
||||||
|
}).show());
|
||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-9
@@ -11,7 +11,6 @@ import com.sap.sse.common.TimePoint;
|
|||||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||||
import com.sap.sse.gwt.client.mvp.ClientFactoryImpl;
|
import com.sap.sse.gwt.client.mvp.ClientFactoryImpl;
|
||||||
import com.sap.sse.gwt.client.mvp.TopLevelView;
|
import com.sap.sse.gwt.client.mvp.TopLevelView;
|
||||||
import com.sap.sse.security.ui.authentication.login.LoginPopup;
|
|
||||||
import com.sap.sse.security.ui.shared.UserDTO;
|
import com.sap.sse.security.ui.shared.UserDTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,7 +49,7 @@ public abstract class SecureClientFactoryImpl<TLV extends TopLevelView> extends
|
|||||||
return securityProvider.getUserService();
|
return securityProvider.getUserService();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checkNewUserPopup(UserDTO user, boolean desktop, Runnable gotoMoreInfo) {
|
protected void checkNewUserPopup(UserDTO user, Runnable newUserRunnable) {
|
||||||
final TimePoint currentTime = MillisecondsTimePoint.now();
|
final TimePoint currentTime = MillisecondsTimePoint.now();
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
setUserLoginHintToStorage();
|
setUserLoginHintToStorage();
|
||||||
@@ -58,12 +57,7 @@ public abstract class SecureClientFactoryImpl<TLV extends TopLevelView> extends
|
|||||||
final TimePoint lastLoginOrSupression = parseLastNewUserSupression();
|
final TimePoint lastLoginOrSupression = parseLastNewUserSupression();
|
||||||
if (lastLoginOrSupression == null
|
if (lastLoginOrSupression == null
|
||||||
|| lastLoginOrSupression.plus(SUPRESSION_DELAY).before(currentTime)) {
|
|| lastLoginOrSupression.plus(SUPRESSION_DELAY).before(currentTime)) {
|
||||||
new LoginPopup(desktop, () -> {
|
newUserRunnable.run();
|
||||||
setUserLoginHintToStorage();
|
|
||||||
}, () -> {
|
|
||||||
setUserLoginHintToStorage();
|
|
||||||
gotoMoreInfo.run();
|
|
||||||
}).show();
|
|
||||||
} else {
|
} else {
|
||||||
log.fine("No logininfo required, user was logged in recently, or clicked dismiss "
|
log.fine("No logininfo required, user was logged in recently, or clicked dismiss "
|
||||||
+ lastLoginOrSupression + " cur " + currentTime);
|
+ lastLoginOrSupression + " cur " + currentTime);
|
||||||
@@ -88,7 +82,7 @@ public abstract class SecureClientFactoryImpl<TLV extends TopLevelView> extends
|
|||||||
return lastLoginOrSupression;
|
return lastLoginOrSupression;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUserLoginHintToStorage() {
|
protected void setUserLoginHintToStorage() {
|
||||||
final Storage storage = Storage.getLocalStorageIfSupported();
|
final Storage storage = Storage.getLocalStorageIfSupported();
|
||||||
if(storage != null) {
|
if(storage != null) {
|
||||||
storage.setItem(STORAGE_KEY_FOR_USER_LOGIN_HINT, String.valueOf(MillisecondsTimePoint.now().asMillis()));
|
storage.setItem(STORAGE_KEY_FOR_USER_LOGIN_HINT, String.valueOf(MillisecondsTimePoint.now().asMillis()));
|
||||||
|
|||||||
Reference in new issue
Block a user