From e6fe453222b23b89a1d95eb33bec35cef7af3972 Mon Sep 17 00:00:00 2001 From: Randall Morey Date: Tue, 16 Nov 2021 11:27:59 -0500 Subject: [PATCH 1/9] =?UTF-8?q?fix:=20=F0=9F=90=9B=20eliminate=20null=20cl?= =?UTF-8?q?auses=20from=20expression=20output?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/services/resource-filter-store.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/api/addon/services/resource-filter-store.js b/addons/api/addon/services/resource-filter-store.js index 9dbca0f5e..35582302b 100644 --- a/addons/api/addon/services/resource-filter-store.js +++ b/addons/api/addon/services/resource-filter-store.js @@ -33,7 +33,8 @@ export class ResourceFilter { this.or(valuesArray.map((value) => this.equals(key, value))) ); }) - .flat(); + .flat() + .filter((item) => item); return this.and(clauses); } From 6c3a3ecb7139a4c1b0c8c3248c5657fd2d852d40 Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 09:08:00 -0800 Subject: [PATCH 2/9] updates --- .../routes/scopes/scope/projects/sessions.js | 24 ++++++- .../scopes/scope/projects/sessions/index.hbs | 62 ++++++++++++++++++- ui/desktop/electron-app/src/index.js | 2 +- 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/ui/desktop/app/routes/scopes/scope/projects/sessions.js b/ui/desktop/app/routes/scopes/scope/projects/sessions.js index 799785f5b..0ba42ce3e 100644 --- a/ui/desktop/app/routes/scopes/scope/projects/sessions.js +++ b/ui/desktop/app/routes/scopes/scope/projects/sessions.js @@ -4,6 +4,7 @@ import { task, timeout } from 'ember-concurrency'; import config from '../../../../config/environment'; import { action } from '@ember/object'; import { notifySuccess, notifyError } from 'core/decorators/notify'; +import { resourceFilterParam } from 'core/decorators/resource-filter-param'; const POLL_TIMEOUT_SECONDS = config.sessionPollingTimeoutSeconds; @@ -17,6 +18,8 @@ export default class ScopesScopeProjectsSessionsRoute extends Route { // =attributes + @resourceFilterParam(['active', 'pending', 'canceling', 'terminated']) status; + /** * A simple Ember Concurrency-based polling task that refreshes the route * every POLL_TIMEOUT_SECONDS seconds. This is necessary to display changes @@ -50,10 +53,11 @@ export default class ScopesScopeProjectsSessionsRoute extends Route { * @return {Promise{[{session: SessionModel, target: TargetModel}]}} */ async model() { + const { status } = this; const { id: scope_id } = this.modelFor('scopes.scope'); const { user_id } = this.session.data.authenticated; await this.store.query('target', { recursive: true, scope_id }); - return await this.resourceFilterStore.queryBy('session', { user_id }, { + return await this.resourceFilterStore.queryBy('session', { user: user_id , status }, { recursive: true, scope_id }); @@ -86,4 +90,22 @@ export default class ScopesScopeProjectsSessionsRoute extends Route { await session.cancelSession(); await this.ipc.invoke('stop', { session_id: session.id }); } + + /** + * Sets the specified resource filter field to the specified value. + * @param {string} field + * @param value + */ + @action + filterBy(field, value) { + this[field] = value; + } + + /** + * Clears and filter selections. + */ + @action + clearAllFilters() { + this.status = []; + } } diff --git a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs index 49b3b5423..5c12e8f32 100644 --- a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs +++ b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs @@ -9,7 +9,58 @@ + {{#if (feature-flag 'filter')}} + {{#if + (or + @model (has-resource-filter-param-selections 'scopes.scope.projects.sessions') + ) + }} + + + {{#with + (resource-filter-param 'scopes.scope.projects.sessions' 'status') + as |filter| + }} + + + + + + + + {{/with}} + {{#if + (has-resource-filter-param-selections 'scopes.scope.projects.sessions') + }} + {{t 'actions.clear-all-filters'}} + + {{/if}} + + + {{/if}} + {{/if}} + {{#if @model}} {{#if this.sorted}} @@ -87,7 +138,14 @@ {{/each}} - + {{else if (has-resource-filter-param-selections 'scopes.scope.projects.sessions')}} + + + + {{t 'descriptions.no-results'}} + + + {{else}} @@ -102,7 +160,7 @@ {{/if}} - + {{/if}} \ No newline at end of file diff --git a/ui/desktop/electron-app/src/index.js b/ui/desktop/electron-app/src/index.js index 61d9a2c57..2f41103c3 100644 --- a/ui/desktop/electron-app/src/index.js +++ b/ui/desktop/electron-app/src/index.js @@ -159,7 +159,7 @@ app.on('ready', async () => { runtimeSettings.onOriginChange(() => mainWindow.loadURL(emberAppURL)); // If you want to open up dev tools programmatically, call - // mainWindow.openDevTools(); + mainWindow.openDevTools(); // Load the ember application mainWindow.loadURL(emberAppURL); From 3e87ea6c1b2029f95b2a4d539d6591afb7717ad0 Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 10:30:00 -0800 Subject: [PATCH 3/9] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=20toolbar=20to?= =?UTF-8?q?=20desktop=20sessions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../routes/scopes/scope/projects/sessions.js | 2 +- .../scopes/scope/projects/sessions/index.hbs | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ui/desktop/app/routes/scopes/scope/projects/sessions.js b/ui/desktop/app/routes/scopes/scope/projects/sessions.js index 0ba42ce3e..a7ce4bff7 100644 --- a/ui/desktop/app/routes/scopes/scope/projects/sessions.js +++ b/ui/desktop/app/routes/scopes/scope/projects/sessions.js @@ -57,7 +57,7 @@ export default class ScopesScopeProjectsSessionsRoute extends Route { const { id: scope_id } = this.modelFor('scopes.scope'); const { user_id } = this.session.data.authenticated; await this.store.query('target', { recursive: true, scope_id }); - return await this.resourceFilterStore.queryBy('session', { user: user_id , status }, { + return await this.resourceFilterStore.queryBy('session', { user_id , status }, { recursive: true, scope_id }); diff --git a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs index 5c12e8f32..2ebe5491b 100644 --- a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs +++ b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs @@ -12,7 +12,10 @@ {{#if (feature-flag 'filter')}} {{#if (or - @model (has-resource-filter-param-selections 'scopes.scope.projects.sessions') + @model + (has-resource-filter-param-selections + 'scopes.scope.projects.sessions' + ) ) }} @@ -47,7 +50,9 @@ {{/with}} {{#if - (has-resource-filter-param-selections 'scopes.scope.projects.sessions') + (has-resource-filter-param-selections + 'scopes.scope.projects.sessions' + ) }} {{/if}} {{/if}} - {{#if @model}} - {{#if this.sorted}} + {{#if this.sorted}} @@ -138,7 +142,9 @@ {{/each}} - {{else if (has-resource-filter-param-selections 'scopes.scope.projects.sessions')}} + {{else if (has-resource-filter-param-selections + 'scopes.scope.projects.sessions' + )}} @@ -147,7 +153,6 @@ {{else}} - - - {{/if}} {{/if}} From 6efebd7f450160f0b36a3a2fcc37987d8261e10a Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 10:40:14 -0800 Subject: [PATCH 4/9] =?UTF-8?q?fix:=20=F0=9F=90=9B=20undo=20dev=20mode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/desktop/electron-app/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/desktop/electron-app/src/index.js b/ui/desktop/electron-app/src/index.js index 2f41103c3..61d9a2c57 100644 --- a/ui/desktop/electron-app/src/index.js +++ b/ui/desktop/electron-app/src/index.js @@ -159,7 +159,7 @@ app.on('ready', async () => { runtimeSettings.onOriginChange(() => mainWindow.loadURL(emberAppURL)); // If you want to open up dev tools programmatically, call - mainWindow.openDevTools(); + // mainWindow.openDevTools(); // Load the ember application mainWindow.loadURL(emberAppURL); From 3921e69fa8e7de6eedd3fe613bff047b6068b264 Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 11:02:29 -0800 Subject: [PATCH 5/9] =?UTF-8?q?chore:=20=F0=9F=A4=96=20cleanup=20dev=20fla?= =?UTF-8?q?gs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/admin/config/environment.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ui/admin/config/environment.js b/ui/admin/config/environment.js index 613c6a3e8..0d78b87c2 100644 --- a/ui/admin/config/environment.js +++ b/ui/admin/config/environment.js @@ -94,7 +94,7 @@ module.exports = function (environment) { 'oidc-crud': true, 'oidc-account-crud': true, search: false, - filter: false, + filter: true, capabilities: true, 'credential-store': true, 'managed-groups': false, @@ -133,8 +133,6 @@ module.exports = function (environment) { if (API_HOST) ENV.contentSecurityPolicy['connect-src'].push(API_HOST); // Enable features in development - ENV.featureFlags['capabilities'] = true; - ENV.featureFlags['filter'] = true; ENV.featureFlags['managed-groups'] = true; } @@ -160,8 +158,6 @@ module.exports = function (environment) { ENV.enableConfirmService = false; // Enable tests for development features - ENV.featureFlags['capabilities'] = true; - ENV.featureFlags['filter'] = true; ENV.featureFlags['managed-groups'] = true; } From 1b662a40dfb008fb1e060587d53c2078e9f7a761 Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 12:39:16 -0800 Subject: [PATCH 6/9] =?UTF-8?q?chore:=20=F0=9F=A4=96=20add=20default=20fil?= =?UTF-8?q?ters=20to=20sessions=20admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/admin/app/routes/scopes/scope/sessions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/admin/app/routes/scopes/scope/sessions.js b/ui/admin/app/routes/scopes/scope/sessions.js index 402704e55..525cfdf1d 100644 --- a/ui/admin/app/routes/scopes/scope/sessions.js +++ b/ui/admin/app/routes/scopes/scope/sessions.js @@ -21,7 +21,7 @@ export default class ScopesScopeSessionsRoute extends Route { // =attributes - @resourceFilterParam(['active', 'pending', 'canceling', 'terminated']) status; + @resourceFilterParam(['active', 'pending', 'canceling', 'terminated'], ['active','pending', 'canceling']) status; /** * A simple Ember Concurrency-based polling task that refreshes the route From 5a4e9d17ec007bf8ac2c663af5987bc5c31ec6bd Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 16 Nov 2021 12:42:22 -0800 Subject: [PATCH 7/9] add default filters to desktop sessions --- ui/desktop/app/routes/scopes/scope/projects/sessions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/desktop/app/routes/scopes/scope/projects/sessions.js b/ui/desktop/app/routes/scopes/scope/projects/sessions.js index a7ce4bff7..f190e1b75 100644 --- a/ui/desktop/app/routes/scopes/scope/projects/sessions.js +++ b/ui/desktop/app/routes/scopes/scope/projects/sessions.js @@ -18,7 +18,7 @@ export default class ScopesScopeProjectsSessionsRoute extends Route { // =attributes - @resourceFilterParam(['active', 'pending', 'canceling', 'terminated']) status; + @resourceFilterParam(['active', 'pending', 'canceling', 'terminated'], ['active','pending', 'canceling']) status; /** * A simple Ember Concurrency-based polling task that refreshes the route From b9351cec5b898c0a4a0a82bcdd797180f712eadf Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Tue, 16 Nov 2021 10:53:22 -0800 Subject: [PATCH 8/9] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20Add=20managed=20grou?= =?UTF-8?q?ps=20featuer=20flag=20for=20production?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/admin/config/environment.js | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/admin/config/environment.js b/ui/admin/config/environment.js index 0d78b87c2..99d0e850b 100644 --- a/ui/admin/config/environment.js +++ b/ui/admin/config/environment.js @@ -162,6 +162,7 @@ module.exports = function (environment) { } if (environment === 'production') { + ENV.featureFlags['managed-groups'] = true; // here you can enable a production-specific feature } From 08b994a4eb13f3987ac454373d86a39033f65cbc Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Tue, 16 Nov 2021 12:57:14 -0800 Subject: [PATCH 9/9] Activate managed-groups feature flag by default, remove environment specific flags --- ui/admin/config/environment.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ui/admin/config/environment.js b/ui/admin/config/environment.js index 99d0e850b..4792a3c17 100644 --- a/ui/admin/config/environment.js +++ b/ui/admin/config/environment.js @@ -97,7 +97,7 @@ module.exports = function (environment) { filter: true, capabilities: true, 'credential-store': true, - 'managed-groups': false, + 'managed-groups': true, }, }; @@ -133,7 +133,6 @@ module.exports = function (environment) { if (API_HOST) ENV.contentSecurityPolicy['connect-src'].push(API_HOST); // Enable features in development - ENV.featureFlags['managed-groups'] = true; } if (environment === 'test') { @@ -158,11 +157,9 @@ module.exports = function (environment) { ENV.enableConfirmService = false; // Enable tests for development features - ENV.featureFlags['managed-groups'] = true; } if (environment === 'production') { - ENV.featureFlags['managed-groups'] = true; // here you can enable a production-specific feature }