fix(console): warning for actions (#6390)

* fix: warning for actions

* Update console/src/assets/i18n/de.json

Co-authored-by: Fabi <fabienne@zitadel.com>

* fix i18n

* Update console/src/assets/i18n/de.json

* fix: translate failed action warn

---------

Co-authored-by: Fabi <fabienne@zitadel.com>
Co-authored-by: Fabienne <fabienne.gerschwiler@gmail.com>
This commit is contained in:
Max Peintner 2023-09-08 13:49:24 +02:00 committed by GitHub
parent aca5de8e40
commit ff651aed07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 71 additions and 4 deletions

View File

@ -1,4 +1,4 @@
import { Component, Inject, OnInit } from '@angular/core'; import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms'; import { FormControl, FormGroup } from '@angular/forms';
import { import {
MatLegacyDialog as MatDialog, MatLegacyDialog as MatDialog,
@ -7,7 +7,7 @@ import {
} from '@angular/material/legacy-dialog'; } from '@angular/material/legacy-dialog';
import { Duration } from 'google-protobuf/google/protobuf/duration_pb'; import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
import { mapTo } from 'rxjs'; import { mapTo, Subject, takeUntil } from 'rxjs';
import { WarnDialogComponent } from 'src/app/modules/warn-dialog/warn-dialog.component'; import { WarnDialogComponent } from 'src/app/modules/warn-dialog/warn-dialog.component';
import { Action } from 'src/app/proto/generated/zitadel/action_pb'; import { Action } from 'src/app/proto/generated/zitadel/action_pb';
import { CreateActionRequest, UpdateActionRequest } from 'src/app/proto/generated/zitadel/management_pb'; import { CreateActionRequest, UpdateActionRequest } from 'src/app/proto/generated/zitadel/management_pb';
@ -19,15 +19,18 @@ import { ToastService } from 'src/app/services/toast.service';
templateUrl: './add-action-dialog.component.html', templateUrl: './add-action-dialog.component.html',
styleUrls: ['./add-action-dialog.component.scss'], styleUrls: ['./add-action-dialog.component.scss'],
}) })
export class AddActionDialogComponent implements OnInit { export class AddActionDialogComponent implements OnInit, OnDestroy {
public id: string = ''; public id: string = '';
public opened$ = this.dialogRef.afterOpened().pipe(mapTo(true)); public opened$ = this.dialogRef.afterOpened().pipe(mapTo(true));
private destroy$: Subject<void> = new Subject();
private showAllowedToFailWarning: boolean = true;
public form: FormGroup = new FormGroup({ public form: FormGroup = new FormGroup({
name: new FormControl<string>('', []), name: new FormControl<string>('', []),
script: new FormControl<string>('', []), script: new FormControl<string>('', []),
durationInSec: new FormControl<number>(10, []), durationInSec: new FormControl<number>(10, []),
allowedToFail: new FormControl<boolean>(false, []), allowedToFail: new FormControl<boolean>(true, []),
}); });
constructor( constructor(
private toast: ToastService, private toast: ToastService,
@ -47,6 +50,21 @@ export class AddActionDialogComponent implements OnInit {
}); });
this.id = action.id; this.id = action.id;
} }
this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(({ allowedToFail }) => {
if (!allowedToFail && this.showAllowedToFailWarning) {
this.dialog.open(WarnDialogComponent, {
data: {
confirmKey: 'ACTIONS.OK',
titleKey: 'FLOWS.ALLOWEDTOFAILWARN.TITLE',
descriptionKey: 'FLOWS.ALLOWEDTOFAILWARN.DESCRIPTION',
},
width: '400px',
});
this.showAllowedToFailWarning = false;
}
});
} }
ngOnInit(): void { ngOnInit(): void {
@ -71,6 +89,11 @@ export class AddActionDialogComponent implements OnInit {
}); });
} }
ngOnDestroy(): void {
this.destroy$.next();
this.destroy$.complete();
}
private showUnsavedDialog(): void { private showUnsavedDialog(): void {
const unsavedChangesDialogRef = this.unsavedChangesDialog.open(WarnDialogComponent, { const unsavedChangesDialogRef = this.unsavedChangesDialog.open(WarnDialogComponent, {
data: { data: {

View File

@ -736,6 +736,10 @@
"TIMEOUT": "Време за изчакване", "TIMEOUT": "Време за изчакване",
"TIMEOUTINSEC": "Изчакване в секунди", "TIMEOUTINSEC": "Изчакване в секунди",
"ALLOWEDTOFAIL": "Разрешено да се провали", "ALLOWEDTOFAIL": "Разрешено да се провали",
"ALLOWEDTOFAILWARN": {
"TITLE": "Предупреждение",
"DESCRIPTION": "Ако деактивирате тази настройка, това може да доведе до това, че потребителите на вашата организация няма да могат да се регистрират. Освен това няма да можете да получите достъп до конзолата, за да деактивирате действието. Препоръчваме ви да създадете администраторски потребител в отделна организация или да тествате скриптове първо в среда за разработка или тестова организация."
},
"SCRIPT": "Скрипт", "SCRIPT": "Скрипт",
"FLOWTYPE": "Тип поток", "FLOWTYPE": "Тип поток",
"TRIGGERTYPE": "Тип тригер", "TRIGGERTYPE": "Тип тригер",

View File

@ -742,6 +742,10 @@
"TIMEOUT": "Timeout", "TIMEOUT": "Timeout",
"TIMEOUTINSEC": "Timeout in Sekunden", "TIMEOUTINSEC": "Timeout in Sekunden",
"ALLOWEDTOFAIL": "Scheitern erlaubt", "ALLOWEDTOFAIL": "Scheitern erlaubt",
"ALLOWEDTOFAILWARN": {
"TITLE": "Warnung",
"DESCRIPTION": "Wenn du diese Einstellung deaktivierst, kann es dazu führen, dass sich Benutzer deiner Organisation nicht mehr anmelden können. Ausserdem kannst du dann nicht mehr auf die Konsole zugreifen, um die Action zu deaktivieren. Wir empfehlen, einen Administratorbenutzer in einer separaten Organisation zu erstellen oder Skripte zuerst in einer Entwicklungsumgebung oder einer Entwicklungsorganisation zu testen."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Flow Typ", "FLOWTYPE": "Flow Typ",
"TRIGGERTYPE": "Trigger Typ", "TRIGGERTYPE": "Trigger Typ",

View File

@ -743,6 +743,10 @@
"TIMEOUT": "Timeout", "TIMEOUT": "Timeout",
"TIMEOUTINSEC": "Timeout in seconds", "TIMEOUTINSEC": "Timeout in seconds",
"ALLOWEDTOFAIL": "Allowed To Fail", "ALLOWEDTOFAIL": "Allowed To Fail",
"ALLOWEDTOFAILWARN": {
"TITLE": "Warning",
"DESCRIPTION": "If you disable this setting, it may cause users in your organization to be unable to sign in. Additionally, you will no longer be able to access the console to disable the action. We recommend creating an administrator user in a separate organization or testing scripts first in a development environment or a development organization."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Flow Type", "FLOWTYPE": "Flow Type",
"TRIGGERTYPE": "Trigger Type", "TRIGGERTYPE": "Trigger Type",

View File

@ -743,6 +743,10 @@
"TIMEOUT": "Timeout", "TIMEOUT": "Timeout",
"TIMEOUTINSEC": "Timeout en segundos", "TIMEOUTINSEC": "Timeout en segundos",
"ALLOWEDTOFAIL": "Permitido el fallo", "ALLOWEDTOFAIL": "Permitido el fallo",
"ALLOWEDTOFAILWARN": {
"TITLE": "Advertencia",
"DESCRIPTION": "Si desactiva esta configuración, puede hacer que los usuarios de su organización no puedan iniciar sesión. Además, ya no podrá acceder a la consola para desactivar la acción. Recomendamos crear un usuario administrador en una organización separada o probar scripts primero en un entorno de desarrollo o una organización de desarrollo."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Tipo de flujo", "FLOWTYPE": "Tipo de flujo",
"TRIGGERTYPE": "Tipo de disparador", "TRIGGERTYPE": "Tipo de disparador",

View File

@ -742,6 +742,10 @@
"TIMEOUT": "Délai d'attente", "TIMEOUT": "Délai d'attente",
"TIMEOUTINSEC": "Délai en secondes", "TIMEOUTINSEC": "Délai en secondes",
"ALLOWEDTOFAIL": "Autorisé à échouer", "ALLOWEDTOFAIL": "Autorisé à échouer",
"ALLOWEDTOFAILWARN": {
"TITLE": "Avertissement",
"DESCRIPTION": "Si vous désactivez ce paramètre, cela peut empêcher les utilisateurs de votre organisation de se connecter. De plus, vous ne pourrez plus accéder à la console pour désactiver l'action. Nous vous recommandons de créer un utilisateur administrateur dans une organisation distincte ou de tester les scripts d'abord dans un environnement de développement ou une organisation de développement."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Type de flux", "FLOWTYPE": "Type de flux",
"TRIGGERTYPE": "Type de déclencheur", "TRIGGERTYPE": "Type de déclencheur",

View File

@ -741,6 +741,10 @@
"TIMEOUT": "Timeout", "TIMEOUT": "Timeout",
"TIMEOUTINSEC": "Timeout in secondi", "TIMEOUTINSEC": "Timeout in secondi",
"ALLOWEDTOFAIL": "Può fallire", "ALLOWEDTOFAIL": "Può fallire",
"ALLOWEDTOFAILWARN": {
"TITLE": "Attenzione",
"DESCRIPTION": "Se disabiliti questa impostazione, potrebbe impedire agli utenti della tua organizzazione di accedere. Inoltre, non sarai più in grado di accedere alla console per disabilitare l'azione. Ti consigliamo di creare un utente amministratore in un'organizzazione separata o di testare gli script prima in un ambiente di sviluppo o in un'organizzazione di sviluppo."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Tipo processo", "FLOWTYPE": "Tipo processo",
"TRIGGERTYPE": "Tipo trigger", "TRIGGERTYPE": "Tipo trigger",

View File

@ -743,6 +743,10 @@
"TIMEOUT": "タイムアウト", "TIMEOUT": "タイムアウト",
"TIMEOUTINSEC": "数秒でタイムアウト", "TIMEOUTINSEC": "数秒でタイムアウト",
"ALLOWEDTOFAIL": "失敗を許可", "ALLOWEDTOFAIL": "失敗を許可",
"ALLOWEDTOFAILWARN": {
"TITLE": "警告",
"DESCRIPTION": "この設定を無効にすると、組織のユーザーがログインできなくなる可能性があります。さらに、アクションを無効にするためにコンソールにアクセスできなくなります。開発環境または開発組織でスクリプトを最初にテストするか、別の組織で管理者ユーザーを作成することをお勧めします。"
},
"SCRIPT": "スクリプトp", "SCRIPT": "スクリプトp",
"FLOWTYPE": "フロータイプ", "FLOWTYPE": "フロータイプ",
"TRIGGERTYPE": "トリガータイプ", "TRIGGERTYPE": "トリガータイプ",

View File

@ -743,6 +743,10 @@
"TIMEOUT": "Временски лимит", "TIMEOUT": "Временски лимит",
"TIMEOUTINSEC": "Временски лимит во секунди", "TIMEOUTINSEC": "Временски лимит во секунди",
"ALLOWEDTOFAIL": "Дозволено да не успее", "ALLOWEDTOFAIL": "Дозволено да не успее",
"ALLOWEDTOFAILWARN": {
"TITLE": "Предупредување",
"DESCRIPTION": "Ако ја деактивирате оваа поставка, тоа може да доведе до тоа што корисниците на вашата организација нема да можат да се најават. Покрај тоа, нема да можете повеќе да пристапите до конзолата за да ја деактивирате акцијата. Препорачуваме да создадете администраторски корисник во посебна организација или да ги тестирате скриптите прво во развојна средина или развојна организација."
},
"SCRIPT": "Скрипта", "SCRIPT": "Скрипта",
"FLOWTYPE": "Тип на Flow", "FLOWTYPE": "Тип на Flow",
"TRIGGERTYPE": "Тип на тригер", "TRIGGERTYPE": "Тип на тригер",

View File

@ -742,6 +742,10 @@
"TIMEOUT": "Timeout", "TIMEOUT": "Timeout",
"TIMEOUTINSEC": "Timeout w sekundach", "TIMEOUTINSEC": "Timeout w sekundach",
"ALLOWEDTOFAIL": "Dozwolone na porażkę", "ALLOWEDTOFAIL": "Dozwolone na porażkę",
"ALLOWEDTOFAILWARN": {
"TITLE": "Ostrzeżenie",
"DESCRIPTION": "Jeśli wyłączysz tę opcję, może to spowodować, że użytkownicy Twojej organizacji nie będą mogli się zalogować. Ponadto nie będziesz już mógł uzyskać dostępu do konsoli, aby wyłączyć akcję. Zalecamy utworzenie administratora w oddzielnej organizacji lub przetestowanie skryptów najpierw w środowisku deweloperskim lub organizacji deweloperskiej."
},
"SCRIPT": "Skrypt", "SCRIPT": "Skrypt",
"FLOWTYPE": "Typ Przepływu", "FLOWTYPE": "Typ Przepływu",
"TRIGGERTYPE": "Typ Wyzwalacza", "TRIGGERTYPE": "Typ Wyzwalacza",

View File

@ -743,6 +743,10 @@
"TIMEOUT": "Tempo Limite", "TIMEOUT": "Tempo Limite",
"TIMEOUTINSEC": "Tempo Limite em segundos", "TIMEOUTINSEC": "Tempo Limite em segundos",
"ALLOWEDTOFAIL": "Permitido Falhar", "ALLOWEDTOFAIL": "Permitido Falhar",
"ALLOWEDTOFAILWARN": {
"TITLE": "Aviso",
"DESCRIPTION": "Se você desabilitar esta configuração, pode fazer com que os usuários da sua organização não possam fazer login. Além disso, você não poderá mais acessar a console para desabilitar a ação. Recomendamos criar um usuário administrador em uma organização separada ou testar scripts primeiro em um ambiente de desenvolvimento ou uma organização de desenvolvimento."
},
"SCRIPT": "Script", "SCRIPT": "Script",
"FLOWTYPE": "Tipo de Fluxo", "FLOWTYPE": "Tipo de Fluxo",
"TRIGGERTYPE": "Tipo de Gatilho", "TRIGGERTYPE": "Tipo de Gatilho",

View File

@ -742,6 +742,10 @@
"TIMEOUT": "超时时间", "TIMEOUT": "超时时间",
"TIMEOUTINSEC": "以秒为单位的超时时间", "TIMEOUTINSEC": "以秒为单位的超时时间",
"ALLOWEDTOFAIL": "允许失败", "ALLOWEDTOFAIL": "允许失败",
"ALLOWEDTOFAILWARN": {
"TITLE": "警告",
"DESCRIPTION": "如果您禁用此设置,可能会导致您的组织中的用户无法登录。此外,您将无法再访问控制台以禁用该操作。我们建议您在单独的组织中创建管理员用户,或在开发环境或开发组织中先测试脚本。"
},
"SCRIPT": "脚本", "SCRIPT": "脚本",
"FLOWTYPE": "流程类型", "FLOWTYPE": "流程类型",
"TRIGGERTYPE": "触发器类型", "TRIGGERTYPE": "触发器类型",