From 50acb223999fdf64730165a7521417a355a35118 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Mon, 8 Aug 2022 14:18:55 +0200 Subject: [PATCH] fix(console): authz creation from user, add org settings keyboardshortcut (#4135) * fix(console): create user grant from user * add org settings to keyboard shortcuts Co-authored-by: Livio Spring --- .../user-grant-create.component.ts | 9 +++++- .../keyboard-shortcuts.service.ts | 28 +++++++++++-------- .../keyboard-shortcuts/keyboard-shortcuts.ts | 13 +++++++-- console/src/assets/i18n/de.json | 3 +- console/src/assets/i18n/en.json | 3 +- console/src/assets/i18n/fr.json | 17 +++++------ console/src/assets/i18n/it.json | 3 +- 7 files changed, 50 insertions(+), 26 deletions(-) diff --git a/console/src/app/pages/user-grant-create/user-grant-create.component.ts b/console/src/app/pages/user-grant-create/user-grant-create.component.ts index 1ac1fd2cb8..469b052d24 100644 --- a/console/src/app/pages/user-grant-create/user-grant-create.component.ts +++ b/console/src/app/pages/user-grant-create/user-grant-create.component.ts @@ -141,13 +141,20 @@ export class UserGrantCreateComponent implements OnDestroy { break; case UserGrantContext.USER: let grantId: string = ''; + let grantedProjectId: string = ''; if (this.grantedProject?.grantId) { grantId = this.grantedProject.grantId; + grantedProjectId = this.grantedProject.projectId; } const promu = this.userIds.map((id) => - this.userService.addUserGrant(id, this.rolesList, (this.project as Project.AsObject).id, grantId), + this.userService.addUserGrant( + id, + this.rolesList, + this.project?.id ? this.project.id : grantedProjectId ? grantedProjectId : '', + grantId, + ), ); Promise.all(promu) .then(() => { diff --git a/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.service.ts b/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.service.ts index 6f80cd170e..a570ce5091 100644 --- a/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.service.ts +++ b/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.service.ts @@ -6,16 +6,17 @@ import { BehaviorSubject, Observable, of, pairwise, Subject, takeUntil } from 'r import { KeyboardShortcutsComponent } from '../../modules/keyboard-shortcuts/keyboard-shortcuts.component'; import { GrpcAuthService } from '../grpc-auth.service'; import { - ACTIONS, - DOMAINS, - HOME, - INSTANCE, - KeyboardShortcut, - ME, - ORG, - PROJECTS, - USERGRANTS, - USERS, + ACTIONS, + DOMAINS, + HOME, + INSTANCE, + KeyboardShortcut, + ME, + ORG, + ORGSETTINGS, + PROJECTS, + USERGRANTS, + USERS, } from './keyboard-shortcuts'; @Injectable({ @@ -58,7 +59,7 @@ export class KeyboardShortcutsService implements OnDestroy { this.router.navigate(HOME.link); } } - if (firstKey.code === 'KeyG' && secondKey.code === 'KeyS') { + if (firstKey.code === 'KeyG' && secondKey.code === 'KeyI') { if (this.hasPermission(INSTANCE)) { this.router.navigate(INSTANCE.link); } @@ -98,6 +99,11 @@ export class KeyboardShortcutsService implements OnDestroy { this.router.navigate(DOMAINS.link); } } + if (firstKey.code === 'KeyG' && secondKey.code === 'KeyS') { + if (this.hasPermission(ORGSETTINGS)) { + this.router.navigate(ORGSETTINGS.link); + } + } } else if (secondKey && exclude.indexOf(secondTagname?.toLowerCase()) === -1) { if (secondKey.key === '?') { this.openOverviewDialog(); diff --git a/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.ts b/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.ts index b0ca9d863a..f0896dac2d 100644 --- a/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.ts +++ b/console/src/app/services/keyboard-shortcuts/keyboard-shortcuts.ts @@ -12,9 +12,9 @@ export const HOME: KeyboardShortcut = { }; export const INSTANCE: KeyboardShortcut = { - i18nKey: 'KEYBOARDSHORTCUTS.SHORTCUTS.SYSTEM', + i18nKey: 'KEYBOARDSHORTCUTS.SHORTCUTS.INSTANCE', link: ['/instance'], - keyboardKeys: ['g', 's'], + keyboardKeys: ['g', 'i'], permissions: ['iam.read'], }; @@ -66,7 +66,14 @@ export const DOMAINS: KeyboardShortcut = { permissions: ['org.read'], }; -export const SIDEWIDESHORTCUTS = [ME, HOME, INSTANCE, ORG, PROJECTS, USERS, USERGRANTS, ACTIONS, DOMAINS]; +export const ORGSETTINGS: KeyboardShortcut = { + i18nKey: 'KEYBOARDSHORTCUTS.SHORTCUTS.ORGSETTINGS', + link: ['/org-settings'], + keyboardKeys: ['g', 's'], + permissions: ['org.read'], +}; + +export const SIDEWIDESHORTCUTS = [ME, HOME, INSTANCE, ORG, PROJECTS, USERS, USERGRANTS, ACTIONS, DOMAINS, ORGSETTINGS]; export const ORGSWITCHER: KeyboardShortcut = { i18nKey: 'KEYBOARDSHORTCUTS.SHORTCUTS.ORGSWITCHER', diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index dd17b1d248..7f42a2bc8c 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -182,8 +182,9 @@ "SIDEWIDE": "Seitenübergreifende Tastaturkürzel", "SHORTCUTS": { "HOME": "Zur Startseite", - "SYSTEM": "Zum System", + "INSTANCE": "Zur Instanz", "ORG": "Zur Organisation", + "ORGSETTINGS": "Zu den Organisationseinstellungen", "ORGSWITCHER": "Organisation wechseln", "ME": "Zum eigenen Profil", "PROJECTS": "Zu den Projekten", diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index 8cfa999c8b..4d1a9f24f4 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -182,8 +182,9 @@ "SIDEWIDE": "Site-wide shortcuts", "SHORTCUTS": { "HOME": "Go to Home", - "SYSTEM": "Go to System", + "INSTANCE": "Go to Iinstance", "ORG": "Go to Organization", + "ORGSETTINGS": "Go to Organization Settings", "ORGSWITCHER": "Change Organization", "ME": "Go To own profile", "PROJECTS": "Go to Projects", diff --git a/console/src/assets/i18n/fr.json b/console/src/assets/i18n/fr.json index 6c347e6845..a0ee06f30f 100644 --- a/console/src/assets/i18n/fr.json +++ b/console/src/assets/i18n/fr.json @@ -181,16 +181,17 @@ "UNDERORGCONTEXT": "Dans les pages de l'organisation", "SIDEWIDE": "Raccourcis pour l'ensemble du site", "SHORTCUTS": { - "HOME": "Aller à Accueil", - "SYSTEM": "Aller à Système", - "ORG": "Aller à Organisation", + "HOME": "Aller à Accueil", + "INSTANCE": "Vers l'aperçu des instances", + "ORG": "Aller à Organisation", + "ORGSETTINGS": "Vers les paramètres de l'organisation", "ORGSWITCHER": "Modifier l'organisation", "ME": "Aller à son propre profil", - "PROJECTS": "Aller à Projets", - "USERS": "Aller à Utilisateurs", - "USERGRANTS": "Aller àAutorisations", - "ACTIONS": "Aller à Actions et Flux", - "DOMAINS": "Aller à Domaines" + "PROJECTS": "Aller à Projets", + "USERS": "Aller à Utilisateurs", + "USERGRANTS": "Aller à Autorisations", + "ACTIONS": "Aller à Actions et Flux", + "DOMAINS": "Aller à Domaines" } }, "RESOURCEID": "Id de la ressource", diff --git a/console/src/assets/i18n/it.json b/console/src/assets/i18n/it.json index 3050fa1763..a6c784be42 100644 --- a/console/src/assets/i18n/it.json +++ b/console/src/assets/i18n/it.json @@ -182,8 +182,9 @@ "SIDEWIDE": "Tasti rapidi globali", "SHORTCUTS": { "HOME": "Vai alla panoramica", - "SYSTEM": "Vai al pagina di sistema", + "INSTANCE": "Vai alla pagina dell' istanza", "ORG": "Vai all'organizzazione", + "ORGSETTINGS": "Alle impostazioni dell'organizzazione", "ORGSWITCHER": "Cambia organizzazione", "ME": "Vai al profilo", "PROJECTS": "Vai ai progetti",