fix(plugin-authentication): CB-1231 sort roles in "Users" tab

This commit is contained in:
Naumov Alexey
2021-09-06 14:58:11 +03:00
parent cf1cc49843
commit a8a319fa1c
13 changed files with 17 additions and 25 deletions
@@ -108,8 +108,8 @@ export const ConnectionAccessGrantedList = observer<Props>(function ConnectionAc
<Group box medium overflow>
<container>
<ConnectionAccessTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selectedList.get().length} mod={['outlined']} onClick={revoke}>{translate('connections_connection_access_revoke')}</Button>
<Button disabled={disabled} mod={['unelevated']} onClick={props.onEdit}>{translate('connections_connection_access_edit')}</Button>
<Button disabled={disabled || !selectedList.get().length} mod={['outlined']} onClick={revoke}>{translate('ui_delete')}</Button>
<Button disabled={disabled} mod={['unelevated']} onClick={props.onEdit}>{translate('ui_edit')}</Button>
</ConnectionAccessTableHeader>
<table-container>
<Table selectedItems={selectedSubjects}>
@@ -99,7 +99,7 @@ export const ConnectionAccessList = observer<Props>(function ConnectionAccessLis
<Group box medium overflow>
<container>
<ConnectionAccessTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selectedList.get().length} mod={['unelevated']} onClick={grant}>{translate('connections_connection_access_grant')}</Button>
<Button disabled={disabled || !selectedList.get().length} mod={['unelevated']} onClick={grant}>{translate('ui_add')}</Button>
</ConnectionAccessTableHeader>
<table-container>
<Table selectedItems={selectedSubjects}>
@@ -37,9 +37,6 @@ export default [
['connections_connection_access_save_reminder', 'You have unsaved changes. Click Save to save all permission changes.'],
['connections_connection_access_user_tooltip', 'User'],
['connections_connection_access_role_tooltip', 'Role'],
['connections_connection_access_revoke', 'Revoke'],
['connections_connection_access_grant', 'Grant'],
['connections_connection_access_edit', 'Edit'],
['connections_connection_access_cloud_placeholder', 'Cloud connections are visible to all users. Access management can be configured in "AWS Management Console".'],
['connections_connection_access_empty_table_placeholder', 'There are no items yet. Press Edit button to manage access settings.'],
['connections_connection_access_filter_placeholder', 'Search for user or role name'],
@@ -34,9 +34,6 @@ export default [
['connections_connection_access_save_reminder', 'У вас есть несохраненные изменения. Нажмите кнопку Сохранить, чтобы применить изменения в настройках доступа.'],
['connections_connection_access_user_tooltip', 'Пользователь'],
['connections_connection_access_role_tooltip', 'Роль'],
['connections_connection_access_revoke', 'Запретить'],
['connections_connection_access_grant', 'Разрешить'],
['connections_connection_access_edit', 'Изменить'],
['connections_connection_access_cloud_placeholder', 'Облачные подключения видны всем пользователям. Вы можете настроить доступ в "Консоль Управления AWS".'],
['connections_connection_access_empty_table_placeholder', 'Вы еще ничего не добавили. Нажмите кнопку Изменить, чтобы изменить настройки доступа.'],
['connections_connection_access_filter_placeholder', 'Поиск по имени пользователя или роли'],
@@ -96,7 +96,7 @@ export const ConnectionList = observer<Props>(function ConnectionList({
<Group box medium overflow>
<container>
<GrantedConnectionsTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selected} mod={['unelevated']} onClick={grant}>{translate('ui_grant')}</Button>
<Button disabled={disabled || !selected} mod={['unelevated']} onClick={grant}>{translate('ui_add')}</Button>
</GrantedConnectionsTableHeader>
<table-container>
<Table selectedItems={selectedSubjects}>
@@ -105,7 +105,7 @@ export const GrantedConnectionList = observer<Props>(function GrantedConnectionL
<Group box medium overflow>
<container>
<GrantedConnectionsTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selected} mod={['outlined']} onClick={revoke}>{translate('ui_revoke')}</Button>
<Button disabled={disabled || !selected} mod={['outlined']} onClick={revoke}>{translate('ui_delete')}</Button>
<Button disabled={disabled} mod={['unelevated']} onClick={props.onEdit}>{translate('ui_edit')}</Button>
</GrantedConnectionsTableHeader>
<table-container>
@@ -105,7 +105,7 @@ export const GrantedUserList = observer<Props>(function GrantedUserList({
<Group box medium overflow>
<container>
<GrantedUsersTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selected} mod={['outlined']} onClick={revoke}>{translate('ui_revoke')}</Button>
<Button disabled={disabled || !selected} mod={['outlined']} onClick={revoke}>{translate('ui_delete')}</Button>
<Button disabled={disabled} mod={['unelevated']} onClick={props.onEdit}>{translate('ui_edit')}</Button>
</GrantedUsersTableHeader>
<table-container>
@@ -110,11 +110,11 @@ export class GrantedUsersTabService extends Bootstrap {
}
if (granted.length) {
status.info(`Granted users: "${granted.join(', ')}"`);
status.info(`Added users: "${granted.join(', ')}"`);
}
if (revoked.length) {
status.info(`Revoked users: "${revoked.join(', ')}"`);
status.info(`Deleted users: "${revoked.join(', ')}"`);
}
}
}
@@ -96,7 +96,7 @@ export const UserList = observer<Props>(function UserList({
<Group box medium overflow>
<container>
<GrantedUsersTableHeader filterState={filterState} disabled={disabled}>
<Button disabled={disabled || !selected} mod={['unelevated']} onClick={grant}>{translate('ui_grant')}</Button>
<Button disabled={disabled || !selected} mod={['unelevated']} onClick={grant}>{translate('ui_add')}</Button>
</GrantedUsersTableHeader>
<table-container>
<Table selectedItems={selectedSubjects}>
@@ -8,16 +8,14 @@
import { observable, computed, makeObservable } from 'mobx';
import { isLocalUser, RoleInfo, RolesResource, UsersResource } from '@cloudbeaver/core-authentication';
import { compareRoles, isLocalUser, RoleInfo, RolesResource, UsersResource } from '@cloudbeaver/core-authentication';
import { DatabaseConnection, ConnectionsResource, DBDriverResource } from '@cloudbeaver/core-connections';
import { injectable, IInitializableController, IDestructibleController } from '@cloudbeaver/core-di';
import { CommonDialogService } from '@cloudbeaver/core-dialogs';
import { ENotificationType, NotificationService } from '@cloudbeaver/core-events';
import type { TLocalizationToken } from '@cloudbeaver/core-localization';
import { ErrorDetailsDialog } from '@cloudbeaver/core-notifications';
import {
GQLErrorCatcher, AdminConnectionGrantInfo, AdminSubjectType, AdminUserInfo
} from '@cloudbeaver/core-sdk';
import { GQLErrorCatcher, AdminConnectionGrantInfo, AdminSubjectType, AdminUserInfo } from '@cloudbeaver/core-sdk';
interface IStatusMessage {
status: ENotificationType;
@@ -46,7 +44,7 @@ export class UserFormController implements IInitializableController, IDestructib
}
get roles(): RoleInfo[] {
return Array.from(this.rolesResource.data.values());
return Array.from(this.rolesResource.data.values()).sort(compareRoles);
}
get local(): boolean {
@@ -36,7 +36,7 @@ const styles = composes(
overflow: auto;
}
Filter {
margin-bottom: 12px;
margin: 0 24px 12px 24px;
}
list {
overflow: auto;
@@ -87,13 +87,13 @@ export default [
['administration_roles_refresh_tooltip', 'Refresh role list'],
['administration_roles_delete_tooltip', 'Delete selected roles'],
['administration_roles_role_granted_users_tab_title', 'Granted users'],
['administration_roles_role_granted_users_tab_title', 'Users'],
['administration_roles_role_granted_users_search_placeholder', 'Search for user ID...'],
['administration_roles_role_granted_users_user_id', 'User ID'],
['administration_roles_role_granted_users_user_name', 'User name'],
['administration_roles_role_granted_users_empty', 'No available users'],
['administration_roles_role_granted_connections_tab_title', 'Granted connections'],
['administration_roles_role_granted_connections_tab_title', 'Connections'],
['administration_roles_role_granted_connections_search_placeholder', 'Search for connection name...'],
['administration_roles_role_granted_connections_empty', 'No available connections'],
];
@@ -76,13 +76,13 @@ export default [
['administration_roles_refresh_tooltip', 'Обновить список ролей'],
['administration_roles_delete_tooltip', 'Уадлить выбранные роли'],
['administration_roles_role_granted_users_tab_title', 'Связанные пользователи'],
['administration_roles_role_granted_users_tab_title', 'Пользователи'],
['administration_roles_role_granted_users_search_placeholder', 'Поиск по ID пользователя...'],
['administration_roles_role_granted_users_user_id', 'ID пользователя'],
['administration_roles_role_granted_users_user_name', 'Имя пользователя'],
['administration_roles_role_granted_users_empty', 'Нет доступных пользователей'],
['administration_roles_role_granted_connections_tab_title', 'Связанные подключения'],
['administration_roles_role_granted_connections_tab_title', 'Подключения'],
['administration_roles_role_granted_connections_search_placeholder', 'Поиск по названию подключения...'],
['administration_roles_role_granted_connections_empty', 'Нет доступных подключений'],
];