From 288b32f8623ed4ae50b1878e45d25cc50218f232 Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Wed, 3 Nov 2021 14:35:55 -0700 Subject: [PATCH 1/2] Add managed-groups basic route to admin. Wrap all in a feature flag --- addons/core/translations/resources/en-us.yaml | 3 +++ ui/admin/app/router.js | 1 + .../auth-methods/auth-method/managed-groups.js | 3 +++ .../auth-methods/auth-method/-navigation.hbs | 6 ++++++ .../auth-methods/auth-method/managed-groups.hbs | 3 +++ ui/admin/config/environment.js | 3 +++ .../auth-method/managed-groups-test.js | 16 ++++++++++++++++ 7 files changed, 35 insertions(+) create mode 100644 ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js create mode 100644 ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups.hbs create mode 100644 ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups-test.js diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml index 91ed16ac1..d7d07aee2 100644 --- a/addons/core/translations/resources/en-us.yaml +++ b/addons/core/translations/resources/en-us.yaml @@ -351,3 +351,6 @@ scope: title_plural: Scopes messages: cannot_read: While you do not have permission to read this scope, you may have permission to view resources within it. +managed-group: + title: Managed Group + title_plural: Managed Groups diff --git a/ui/admin/app/router.js b/ui/admin/app/router.js index 7e62a2ce4..cc4d82e46 100644 --- a/ui/admin/app/router.js +++ b/ui/admin/app/router.js @@ -55,6 +55,7 @@ Router.map(function () { }); this.route('new'); }); + this.route('managed-groups'); }); this.route('new'); }); diff --git a/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js new file mode 100644 index 000000000..acf28250d --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsRoute extends Route {} diff --git a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/-navigation.hbs b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/-navigation.hbs index 9a6d5892f..d13958255 100644 --- a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/-navigation.hbs +++ b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/-navigation.hbs @@ -8,4 +8,10 @@ {{t 'resources.account.title_plural'}} {{/if}} + + {{#if (feature-flag 'managed-groups')}} + + {{t 'resources.managed-group.title_plural'}} + + {{/if}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups.hbs b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups.hbs new file mode 100644 index 000000000..cfe68fbff --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups.hbs @@ -0,0 +1,3 @@ +{{page-title (t 'resources.managed-group.title_plural')}} + +{{outlet}} \ No newline at end of file diff --git a/ui/admin/config/environment.js b/ui/admin/config/environment.js index 771068764..7e4c3ca78 100644 --- a/ui/admin/config/environment.js +++ b/ui/admin/config/environment.js @@ -96,6 +96,7 @@ module.exports = function (environment) { filter: false, capabilities: true, 'credential-store': true, + 'managed-groups': false, }, }; @@ -133,6 +134,7 @@ module.exports = function (environment) { // Enable features in development ENV.featureFlags['capabilities'] = true; ENV.featureFlags['filter'] = true; + ENV.featureFlags['managed-groups'] = true; } if (environment === 'test') { @@ -159,6 +161,7 @@ module.exports = function (environment) { // Enable tests for development features ENV.featureFlags['capabilities'] = true; ENV.featureFlags['filter'] = true; + ENV.featureFlags['managed-groups'] = true; } if (environment === 'production') { diff --git a/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups-test.js b/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups-test.js new file mode 100644 index 000000000..cb0c40319 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module( + 'Unit | Route | scopes/scope/auth-methods/auth-method/managed-groups', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/auth-methods/auth-method/managed-groups' + ); + assert.ok(route); + }); + } +); From ff88e97bfed325301208a0c969075266dd4a0615 Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Mon, 8 Nov 2021 11:16:32 -0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20List=20managed=20gro?= =?UTF-8?q?ups?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/admin/app/router.js | 2 +- .../auth-method/managed-groups.js | 12 ++++++- .../auth-method/managed-groups/index.js | 3 ++ .../auth-method/accounts/index.hbs | 1 - .../auth-method/managed-groups/index.hbs | 33 +++++++++++++++++++ .../auth-method/managed-groups/index-test.js | 16 +++++++++ 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups/index.js create mode 100644 ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups/index.hbs create mode 100644 ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups/index-test.js diff --git a/ui/admin/app/router.js b/ui/admin/app/router.js index cc4d82e46..17519a2a5 100644 --- a/ui/admin/app/router.js +++ b/ui/admin/app/router.js @@ -55,7 +55,7 @@ Router.map(function () { }); this.route('new'); }); - this.route('managed-groups'); + this.route('managed-groups', function () {}); }); this.route('new'); }); diff --git a/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js index acf28250d..bde134d3f 100644 --- a/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js +++ b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js @@ -1,3 +1,13 @@ import Route from '@ember/routing/route'; -export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsRoute extends Route {} +export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsRoute extends Route { + /** + * + * @returns {Promise{[ManagedGroupsModel]}} + */ + model() { + const authMethod = this.modelFor('scopes.scope.auth-methods.auth-method'); + const { id: auth_method_id } = authMethod; + return this.store.query('managed-group', { auth_method_id }); + } +} diff --git a/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups/index.js b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups/index.js new file mode 100644 index 000000000..24639a124 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups/index.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsIndexRoute extends Route {} diff --git a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/accounts/index.hbs b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/accounts/index.hbs index 3f9a64787..67ba884ae 100644 --- a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/accounts/index.hbs +++ b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/accounts/index.hbs @@ -1,5 +1,4 @@ {{#if @model}} - {{! OIDC accounts display more fields }} {{#if @model.firstObject.isOIDC}} diff --git a/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups/index.hbs b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups/index.hbs new file mode 100644 index 000000000..959c50afa --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/auth-methods/auth-method/managed-groups/index.hbs @@ -0,0 +1,33 @@ +{{#if @model}} + + + + {{t 'form.name.label'}} + {{t 'form.description.label'}} + {{t 'form.type.label'}} + {{t 'form.id.label'}} + + + + + {{#each @model as |managed-group|}} + + {{managed-group.name}} + {{managed-group.description}} + + {{managed-group.type}} + + + + {{managed-group.id}} + + + + {{/each}} + + +{{/if}} \ No newline at end of file diff --git a/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups/index-test.js b/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups/index-test.js new file mode 100644 index 000000000..269bb8663 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/auth-methods/auth-method/managed-groups/index-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module( + 'Unit | Route | scopes/scope/auth-methods/auth-method/managed-groups/index', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/auth-methods/auth-method/managed-groups/index' + ); + assert.ok(route); + }); + } +);