Feature expose roles groups in projects - ICU-4512 (#1192)
* chore: 🤖 add scope column to role principals and group members * chore: 🤖 add recursion and filtering to user and group mocks * feat: 🎸 expose groups and roles on projects
This commit is contained in:
1 parent
c2083aefab
commit
31cf696902
5 files changed
+56
-27
No files matched your search
@@ -51,5 +51,8 @@ export default function (server) {
|
||||
server.createList('target', 2, { scope }, 'withAssociations');
|
||||
// Sessions have target data. Create it after targets.
|
||||
server.createList('session', 4, { scope }, 'withAssociations');
|
||||
// Create IAM resources for project
|
||||
server.createList('group', 3, { scope });
|
||||
server.createList('role', 3, { scope });
|
||||
});
|
||||
}
|
||||
@@ -44,12 +44,23 @@
|
||||
</row.headerCell>
|
||||
<row.cell>{{principal.id}}</row.cell>
|
||||
<row.cell>
|
||||
<Rose::Badge>{{t
|
||||
<Rose::Badge
|
||||
@icon={{if
|
||||
(eq principal.constructor.modelName 'group')
|
||||
'flight-icons/svg/folder-users-16'
|
||||
'flight-icons/svg/user-16'
|
||||
}}
|
||||
>
|
||||
{{t
|
||||
(concat
|
||||
'resources.role.principal.types.'
|
||||
principal.constructor.modelName
|
||||
)
|
||||
}}</Rose::Badge>
|
||||
}}
|
||||
</Rose::Badge>
|
||||
</row.cell>
|
||||
<row.cell>
|
||||
<ScopeBadge @scope={{principal.scopeModel}} />
|
||||
</row.cell>
|
||||
<row.cell>
|
||||
<ScopeBadge @scope={{principal.scopeModel}} />
|
||||
|
||||
@@ -107,40 +107,47 @@
|
||||
</Rose::Nav::Sidebar>
|
||||
{{/if}}
|
||||
|
||||
{{#unless @model.isProject}}
|
||||
<Rose::Nav::Sidebar @title={{t 'titles.iam'}} as |nav|>
|
||||
<Rose::Nav::Sidebar @title={{t 'titles.iam'}} as |nav|>
|
||||
{{! Users are available only for org/global scopes }}
|
||||
{{#unless @model.isProject}}
|
||||
{{#if (can 'navigate model' @model collection='users')}}
|
||||
<nav.link @route='scopes.scope.users'>
|
||||
<Rose::Icon @name='flight-icons/svg/users-16' @size='medium' />
|
||||
{{t 'resources.user.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
{{#if (can 'navigate model' @model collection='groups')}}
|
||||
<nav.link @route='scopes.scope.groups'>
|
||||
<Rose::Icon
|
||||
@name='flight-icons/svg/folder-users-16'
|
||||
@size='medium'
|
||||
/>
|
||||
{{t 'resources.group.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
{{#if (can 'navigate model' @model collection='roles')}}
|
||||
<nav.link @route='scopes.scope.roles'>
|
||||
<Rose::Icon
|
||||
@name='flight-icons/svg/identity-user-16'
|
||||
@size='medium'
|
||||
/>
|
||||
{{t 'resources.role.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
|
||||
{{! Groups and roles are available for all scopes }}
|
||||
{{#if (can 'navigate model' @model collection='groups')}}
|
||||
<nav.link @route='scopes.scope.groups'>
|
||||
<Rose::Icon
|
||||
@name='flight-icons/svg/folder-users-16'
|
||||
@size='medium'
|
||||
/>
|
||||
{{t 'resources.group.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
{{#if (can 'navigate model' @model collection='roles')}}
|
||||
<nav.link @route='scopes.scope.roles'>
|
||||
<Rose::Icon
|
||||
@name='flight-icons/svg/identity-user-16'
|
||||
@size='medium'
|
||||
/>
|
||||
{{t 'resources.role.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
|
||||
{{! Auth methods are available only for org/global scopes }}
|
||||
{{#unless @model.isProject}}
|
||||
{{#if (can 'navigate model' @model collection='auth-methods')}}
|
||||
<nav.link @route='scopes.scope.auth-methods'>
|
||||
<Rose::Icon @name='flight-icons/svg/lock-16' @size='medium' />
|
||||
{{t 'resources.auth-method.title_plural'}}
|
||||
</nav.link>
|
||||
{{/if}}
|
||||
</Rose::Nav::Sidebar>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
</Rose::Nav::Sidebar>
|
||||
|
||||
{{#if @model.isOrg}}
|
||||
{{#if this.session.data.authenticated.isGlobal}}
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<message.description>
|
||||
{{#if (can 'list model' this.scope collection='roles')}}
|
||||
{{! can list (at least): show default welcome message}}
|
||||
{{t 'resources.roles.description'}}
|
||||
{{t 'resources.role.description'}}
|
||||
{{else if (can 'create model' this.scope collection='roles')}}
|
||||
{{! can create (only): show create-but-not-list welcome message}}
|
||||
{{t
|
||||
|
||||
@@ -62,9 +62,17 @@
|
||||
</Copyable>
|
||||
</row.cell>
|
||||
<row.cell>
|
||||
<Rose::Badge>{{t
|
||||
<Rose::Badge
|
||||
@icon={{if
|
||||
(eq principal.type 'group')
|
||||
'flight-icons/svg/folder-users-16'
|
||||
'flight-icons/svg/user-16'
|
||||
}}
|
||||
>
|
||||
{{t
|
||||
(concat 'resources.role.principal.types.' principal.type)
|
||||
}}</Rose::Badge>
|
||||
}}
|
||||
</Rose::Badge>
|
||||
</row.cell>
|
||||
<row.cell>
|
||||
<ScopeBadge @scope={{principal.model.scopeModel}} />
|
||||
|
||||
Reference in new issue
Block a user