From f79d14696c947f2a9fd65ab89352d95a753828f5 Mon Sep 17 00:00:00 2001 From: Mihaela Balutoiu Date: Wed, 18 Feb 2026 14:40:25 +0200 Subject: [PATCH] Fix `auto_deploy` toggle being disabled for bare-metal sources Signed-off-by: Mihaela Balutoiu --- config.ts | 3 +++ src/@types/Config.ts | 1 + .../TransferExecutionOptions.tsx | 13 +++++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/config.ts b/config.ts index 70303868..99872a74 100644 --- a/config.ts +++ b/config.ts @@ -196,6 +196,9 @@ const conf: Config = { // The list of providers for which to disable setting the 'Execute Now Options' field providersDisabledExecuteOptions: ["metal"], + // The list of execution option fields to disable for the providers in 'providersDisabledExecuteOptions' + providersExecuteOptionsDisabledFields: ["shutdown_instances"], + // The list of the users to hide in the UI hiddenUsers: ["barbican", "coriolis"], diff --git a/src/@types/Config.ts b/src/@types/Config.ts index a173e1e4..4f5bc517 100644 --- a/src/@types/Config.ts +++ b/src/@types/Config.ts @@ -37,6 +37,7 @@ export type Config = { providerSortPriority: { [providerName in ProviderTypes]: number }; providerNames: { [providerName in ProviderTypes]: string }; providersDisabledExecuteOptions: [ProviderTypes]; + providersExecuteOptionsDisabledFields: string[]; hiddenUsers: string[]; hiddenUserRoles: string[]; passwordFields: string[]; diff --git a/src/components/modules/TransferModule/TransferExecutionOptions/TransferExecutionOptions.tsx b/src/components/modules/TransferModule/TransferExecutionOptions/TransferExecutionOptions.tsx index 7e37160d..8bdafd4a 100644 --- a/src/components/modules/TransferModule/TransferExecutionOptions/TransferExecutionOptions.tsx +++ b/src/components/modules/TransferModule/TransferExecutionOptions/TransferExecutionOptions.tsx @@ -21,6 +21,7 @@ import FieldInput from "@src/components/ui/FieldInput"; import LabelDictionary from "@src/utils/LabelDictionary"; import KeyboardManager from "@src/utils/KeyboardManager"; +import configLoader from "@src/utils/Config"; import { executionOptions } from "@src/constants"; import type { Field } from "@src/@types/Field"; @@ -128,9 +129,17 @@ class TransferExecutionOptions extends React.Component { value={this.getFieldValue(field)} label={LabelDictionary.get(field.name)} onChange={value => this.handleValueChange(field, value)} - disabled={this.props.disableExecutionOptions} + disabled={ + this.props.disableExecutionOptions && + configLoader.config.providersExecuteOptionsDisabledFields.includes( + field.name, + ) + } description={ - this.props.disableExecutionOptions + this.props.disableExecutionOptions && + configLoader.config.providersExecuteOptionsDisabledFields.includes( + field.name, + ) ? "The execution options are disabled for the source provider" : LabelDictionary.getDescription(field.name) }