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..17519a2a5 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', 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
new file mode 100644
index 000000000..bde134d3f
--- /dev/null
+++ b/ui/admin/app/routes/scopes/scope/auth-methods/auth-method/managed-groups.js
@@ -0,0 +1,13 @@
+import Route from '@ember/routing/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/-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/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.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/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/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);
+ });
+ }
+);
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);
+ });
+ }
+);