diff --git a/console/src/app/pages/actions/add-action-dialog/add-action-dialog.component.ts b/console/src/app/pages/actions/add-action-dialog/add-action-dialog.component.ts index f40be9038..46d0232b8 100644 --- a/console/src/app/pages/actions/add-action-dialog/add-action-dialog.component.ts +++ b/console/src/app/pages/actions/add-action-dialog/add-action-dialog.component.ts @@ -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 { MatLegacyDialog as MatDialog, @@ -7,7 +7,7 @@ import { } from '@angular/material/legacy-dialog'; 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 { Action } from 'src/app/proto/generated/zitadel/action_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', styleUrls: ['./add-action-dialog.component.scss'], }) -export class AddActionDialogComponent implements OnInit { +export class AddActionDialogComponent implements OnInit, OnDestroy { public id: string = ''; public opened$ = this.dialogRef.afterOpened().pipe(mapTo(true)); + private destroy$: Subject = new Subject(); + private showAllowedToFailWarning: boolean = true; + public form: FormGroup = new FormGroup({ name: new FormControl('', []), script: new FormControl('', []), durationInSec: new FormControl(10, []), - allowedToFail: new FormControl(false, []), + allowedToFail: new FormControl(true, []), }); constructor( private toast: ToastService, @@ -47,6 +50,21 @@ export class AddActionDialogComponent implements OnInit { }); 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 { @@ -71,6 +89,11 @@ export class AddActionDialogComponent implements OnInit { }); } + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } + private showUnsavedDialog(): void { const unsavedChangesDialogRef = this.unsavedChangesDialog.open(WarnDialogComponent, { data: { diff --git a/console/src/assets/i18n/bg.json b/console/src/assets/i18n/bg.json index 298434676..01a19176c 100644 --- a/console/src/assets/i18n/bg.json +++ b/console/src/assets/i18n/bg.json @@ -736,6 +736,10 @@ "TIMEOUT": "Време за изчакване", "TIMEOUTINSEC": "Изчакване в секунди", "ALLOWEDTOFAIL": "Разрешено да се провали", + "ALLOWEDTOFAILWARN": { + "TITLE": "Предупреждение", + "DESCRIPTION": "Ако деактивирате тази настройка, това може да доведе до това, че потребителите на вашата организация няма да могат да се регистрират. Освен това няма да можете да получите достъп до конзолата, за да деактивирате действието. Препоръчваме ви да създадете администраторски потребител в отделна организация или да тествате скриптове първо в среда за разработка или тестова организация." + }, "SCRIPT": "Скрипт", "FLOWTYPE": "Тип поток", "TRIGGERTYPE": "Тип тригер", diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index a2330d04a..4d70add21 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -742,6 +742,10 @@ "TIMEOUT": "Timeout", "TIMEOUTINSEC": "Timeout in Sekunden", "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", "FLOWTYPE": "Flow Typ", "TRIGGERTYPE": "Trigger Typ", diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index cba525624..389461c83 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -743,6 +743,10 @@ "TIMEOUT": "Timeout", "TIMEOUTINSEC": "Timeout in seconds", "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", "FLOWTYPE": "Flow Type", "TRIGGERTYPE": "Trigger Type", diff --git a/console/src/assets/i18n/es.json b/console/src/assets/i18n/es.json index abb877423..1aaba364c 100644 --- a/console/src/assets/i18n/es.json +++ b/console/src/assets/i18n/es.json @@ -743,6 +743,10 @@ "TIMEOUT": "Timeout", "TIMEOUTINSEC": "Timeout en segundos", "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", "FLOWTYPE": "Tipo de flujo", "TRIGGERTYPE": "Tipo de disparador", diff --git a/console/src/assets/i18n/fr.json b/console/src/assets/i18n/fr.json index 8cc362ffd..469cd3ca6 100644 --- a/console/src/assets/i18n/fr.json +++ b/console/src/assets/i18n/fr.json @@ -742,6 +742,10 @@ "TIMEOUT": "Délai d'attente", "TIMEOUTINSEC": "Délai en secondes", "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", "FLOWTYPE": "Type de flux", "TRIGGERTYPE": "Type de déclencheur", diff --git a/console/src/assets/i18n/it.json b/console/src/assets/i18n/it.json index 36cb26f7d..6605a8d91 100644 --- a/console/src/assets/i18n/it.json +++ b/console/src/assets/i18n/it.json @@ -741,6 +741,10 @@ "TIMEOUT": "Timeout", "TIMEOUTINSEC": "Timeout in secondi", "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", "FLOWTYPE": "Tipo processo", "TRIGGERTYPE": "Tipo trigger", diff --git a/console/src/assets/i18n/ja.json b/console/src/assets/i18n/ja.json index 0857b1b24..623f80246 100644 --- a/console/src/assets/i18n/ja.json +++ b/console/src/assets/i18n/ja.json @@ -743,6 +743,10 @@ "TIMEOUT": "タイムアウト", "TIMEOUTINSEC": "数秒でタイムアウト", "ALLOWEDTOFAIL": "失敗を許可", + "ALLOWEDTOFAILWARN": { + "TITLE": "警告", + "DESCRIPTION": "この設定を無効にすると、組織のユーザーがログインできなくなる可能性があります。さらに、アクションを無効にするためにコンソールにアクセスできなくなります。開発環境または開発組織でスクリプトを最初にテストするか、別の組織で管理者ユーザーを作成することをお勧めします。" + }, "SCRIPT": "スクリプトp", "FLOWTYPE": "フロータイプ", "TRIGGERTYPE": "トリガータイプ", diff --git a/console/src/assets/i18n/mk.json b/console/src/assets/i18n/mk.json index caac4b6b5..65af79503 100644 --- a/console/src/assets/i18n/mk.json +++ b/console/src/assets/i18n/mk.json @@ -743,6 +743,10 @@ "TIMEOUT": "Временски лимит", "TIMEOUTINSEC": "Временски лимит во секунди", "ALLOWEDTOFAIL": "Дозволено да не успее", + "ALLOWEDTOFAILWARN": { + "TITLE": "Предупредување", + "DESCRIPTION": "Ако ја деактивирате оваа поставка, тоа може да доведе до тоа што корисниците на вашата организација нема да можат да се најават. Покрај тоа, нема да можете повеќе да пристапите до конзолата за да ја деактивирате акцијата. Препорачуваме да создадете администраторски корисник во посебна организација или да ги тестирате скриптите прво во развојна средина или развојна организација." + }, "SCRIPT": "Скрипта", "FLOWTYPE": "Тип на Flow", "TRIGGERTYPE": "Тип на тригер", diff --git a/console/src/assets/i18n/pl.json b/console/src/assets/i18n/pl.json index ddc06cc51..f594d9993 100644 --- a/console/src/assets/i18n/pl.json +++ b/console/src/assets/i18n/pl.json @@ -742,6 +742,10 @@ "TIMEOUT": "Timeout", "TIMEOUTINSEC": "Timeout w sekundach", "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", "FLOWTYPE": "Typ Przepływu", "TRIGGERTYPE": "Typ Wyzwalacza", diff --git a/console/src/assets/i18n/pt.json b/console/src/assets/i18n/pt.json index 4a72278b7..29e9e34f6 100644 --- a/console/src/assets/i18n/pt.json +++ b/console/src/assets/i18n/pt.json @@ -743,6 +743,10 @@ "TIMEOUT": "Tempo Limite", "TIMEOUTINSEC": "Tempo Limite em segundos", "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", "FLOWTYPE": "Tipo de Fluxo", "TRIGGERTYPE": "Tipo de Gatilho", diff --git a/console/src/assets/i18n/zh.json b/console/src/assets/i18n/zh.json index a09aab1bc..23cacbc44 100644 --- a/console/src/assets/i18n/zh.json +++ b/console/src/assets/i18n/zh.json @@ -742,6 +742,10 @@ "TIMEOUT": "超时时间", "TIMEOUTINSEC": "以秒为单位的超时时间", "ALLOWEDTOFAIL": "允许失败", + "ALLOWEDTOFAILWARN": { + "TITLE": "警告", + "DESCRIPTION": "如果您禁用此设置,可能会导致您的组织中的用户无法登录。此外,您将无法再访问控制台以禁用该操作。我们建议您在单独的组织中创建管理员用户,或在开发环境或开发组织中先测试脚本。" + }, "SCRIPT": "脚本", "FLOWTYPE": "流程类型", "TRIGGERTYPE": "触发器类型",