From 0ca7039728489e25ae1e196278454e7bafbca948 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Fri, 2 Oct 2020 11:19:08 -0400 Subject: [PATCH] 16941: Multi-site search recognizes inactive remote users Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- src/models/session.ts | 1 + src/services/auth-service/auth-service.ts | 3 ++- src/store/auth/auth-action-session.ts | 2 ++ src/views/search-results-panel/search-results-panel-view.tsx | 3 ++- src/views/site-manager-panel/site-manager-panel-root.tsx | 5 ++++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/models/session.ts b/src/models/session.ts index d388f599..630b63d9 100644 --- a/src/models/session.ts +++ b/src/models/session.ts @@ -19,5 +19,6 @@ export interface Session { loggedIn: boolean; status: SessionStatus; active: boolean; + userIsActive: boolean; apiRevision: number; } diff --git a/src/services/auth-service/auth-service.ts b/src/services/auth-service/auth-service.ts index 5e382fba..29442401 100644 --- a/src/services/auth-service/auth-service.ts +++ b/src/services/auth-service/auth-service.ts @@ -141,8 +141,9 @@ export class AuthService { clusterId: cfg.uuidPrefix, remoteHost: cfg.rootUrl, baseUrl: cfg.baseUrl, - name: user ? getUserDisplayName(user): '', + name: user ? getUserDisplayName(user) : '', email: user ? user.email : '', + userIsActive: user ? user.isActive : false, token: this.getApiToken(), loggedIn: true, active: true, diff --git a/src/store/auth/auth-action-session.ts b/src/store/auth/auth-action-session.ts index 4568d77e..5fc8cffb 100644 --- a/src/store/auth/auth-action-session.ts +++ b/src/store/auth/auth-action-session.ts @@ -130,6 +130,7 @@ export const validateSession = (session: Session, activeSession: Session) => session.baseUrl = baseUrl; session.token = token; session.email = user.email; + session.userIsActive = user.isActive; session.uuid = user.uuid; session.name = getUserDisplayName(user); session.loggedIn = true; @@ -242,6 +243,7 @@ export const addSession = (remoteHost: string, token?: string, sendToLogin?: boo status: SessionStatus.VALIDATED, active: false, email: user.email, + userIsActive: user.isActive, name: getUserDisplayName(user), uuid: user.uuid, baseUrl: config.baseUrl, diff --git a/src/views/search-results-panel/search-results-panel-view.tsx b/src/views/search-results-panel/search-results-panel-view.tsx index 8bc5419b..6a02f8e1 100644 --- a/src/views/search-results-panel/search-results-panel-view.tsx +++ b/src/views/search-results-panel/search-results-panel-view.tsx @@ -114,7 +114,8 @@ export const searchResultsPanelColumns: DataColumns = [ export const SearchResultsPanelView = withStyles(styles, { withTheme: true })( (props: SearchResultsPanelProps & WithStyles) => { const homeCluster = props.user.uuid.substr(0, 5); - const loggedIn = props.sessions.filter((ss) => ss.loggedIn); + console.log(props.sessions); + const loggedIn = props.sessions.filter((ss) => ss.loggedIn && ss.userIsActive); return toggleSession(session)}> - {validating ? "Validating" : (session.loggedIn ? "Logged in" : "Logged out")} + {validating ? "Validating" + : (session.loggedIn ? + (session.userIsActive ? "Logged in" : "Inactive") + : "Logged out")} -- 2.30.2