diff --git a/awx/ui_next/src/components/CodeEditor/VariablesDetail.jsx b/awx/ui_next/src/components/CodeEditor/VariablesDetail.jsx index 1f5e4c7231..55c0fa1883 100644 --- a/awx/ui_next/src/components/CodeEditor/VariablesDetail.jsx +++ b/awx/ui_next/src/components/CodeEditor/VariablesDetail.jsx @@ -23,7 +23,15 @@ import { import CodeEditor from './CodeEditor'; import { JSON_MODE, YAML_MODE } from './constants'; -function VariablesDetail({ dataCy, helpText, value, label, rows, fullHeight }) { +function VariablesDetail({ + dataCy, + helpText, + value, + label, + rows, + fullHeight, + name, +}) { const [mode, setMode] = useState( isJsonObject(value) || isJsonString(value) ? JSON_MODE : YAML_MODE ); @@ -76,6 +84,7 @@ function VariablesDetail({ dataCy, helpText, value, label, rows, fullHeight }) { setMode={setMode} currentValue={currentValue} onExpand={() => setIsExpanded(true)} + name={name} /> @@ -184,6 +204,7 @@ function ModeToggle({ id, label, helpText, dataCy, mode, setMode, onExpand }) { onChange={newMode => { setMode(newMode); }} + name={name} /> diff --git a/awx/ui_next/src/components/CodeEditor/VariablesField.jsx b/awx/ui_next/src/components/CodeEditor/VariablesField.jsx index 0e7633e470..71b1dc8581 100644 --- a/awx/ui_next/src/components/CodeEditor/VariablesField.jsx +++ b/awx/ui_next/src/components/CodeEditor/VariablesField.jsx @@ -230,6 +230,7 @@ function VariablesFieldInternals({ ]} value={mode} onChange={setMode} + name={name} /> diff --git a/awx/ui_next/src/components/CodeEditor/VariablesInput.jsx b/awx/ui_next/src/components/CodeEditor/VariablesInput.jsx index 354e263b69..09c68a7247 100644 --- a/awx/ui_next/src/components/CodeEditor/VariablesInput.jsx +++ b/awx/ui_next/src/components/CodeEditor/VariablesInput.jsx @@ -16,7 +16,7 @@ const SplitItemRight = styled(SplitItem)` `; function VariablesInput(props) { - const { id, label, readOnly, rows, error, onError, className } = props; + const { id, label, readOnly, rows, error, onError, className, name } = props; /* eslint-disable react/destructuring-assignment */ const defaultValue = isJsonString(props.value) ? formatJson(props.value) @@ -60,6 +60,7 @@ function VariablesInput(props) { onError(err.message); } }} + name={name} /> @@ -88,6 +89,7 @@ VariablesInput.propTypes = { rows: number, onChange: func, onError: func, + name: string.isRequired, }; VariablesInput.defaultProps = { readOnly: false, diff --git a/awx/ui_next/src/components/MultiButtonToggle/MultiButtonToggle.jsx b/awx/ui_next/src/components/MultiButtonToggle/MultiButtonToggle.jsx index 4387a694a6..02a9e5982f 100644 --- a/awx/ui_next/src/components/MultiButtonToggle/MultiButtonToggle.jsx +++ b/awx/ui_next/src/components/MultiButtonToggle/MultiButtonToggle.jsx @@ -11,7 +11,7 @@ const SmallButton = styled(Button)` } `; -function MultiButtonToggle({ buttons, value, onChange }) { +function MultiButtonToggle({ buttons, value, onChange, name }) { const setValue = newValue => { if (value !== newValue) { onChange(newValue); @@ -24,7 +24,7 @@ function MultiButtonToggle({ buttons, value, onChange }) { buttons.map(([buttonValue, buttonLabel]) => ( setValue(buttonValue)} @@ -67,6 +67,7 @@ MultiButtonToggle.propTypes = { buttons: buttonsPropType.isRequired, value: string.isRequired, onChange: func.isRequired, + name: string.isRequired, }; export default MultiButtonToggle; diff --git a/awx/ui_next/src/components/PromptDetail/PromptDetail.jsx b/awx/ui_next/src/components/PromptDetail/PromptDetail.jsx index 4069f67270..e6a84583e6 100644 --- a/awx/ui_next/src/components/PromptDetail/PromptDetail.jsx +++ b/awx/ui_next/src/components/PromptDetail/PromptDetail.jsx @@ -250,6 +250,7 @@ function PromptDetail({ resource, launchConfig = {}, overrides = {} }) { label={t`Variables`} rows={4} value={overrides.extra_vars} + name="extra_vars" /> )} diff --git a/awx/ui_next/src/components/PromptDetail/PromptInventorySourceDetail.jsx b/awx/ui_next/src/components/PromptDetail/PromptInventorySourceDetail.jsx index 11869d150a..0dd41a5066 100644 --- a/awx/ui_next/src/components/PromptDetail/PromptInventorySourceDetail.jsx +++ b/awx/ui_next/src/components/PromptDetail/PromptInventorySourceDetail.jsx @@ -168,6 +168,7 @@ function PromptInventorySourceDetail({ resource }) { label={t`Source Variables`} rows={4} value={source_vars} + name="source_vars" /> )} diff --git a/awx/ui_next/src/components/PromptDetail/PromptJobTemplateDetail.jsx b/awx/ui_next/src/components/PromptDetail/PromptJobTemplateDetail.jsx index b0763d8717..73fdb3a48c 100644 --- a/awx/ui_next/src/components/PromptDetail/PromptJobTemplateDetail.jsx +++ b/awx/ui_next/src/components/PromptDetail/PromptJobTemplateDetail.jsx @@ -245,7 +245,12 @@ function PromptJobTemplateDetail({ resource }) { /> )} {extra_vars && ( - + )} ); diff --git a/awx/ui_next/src/components/PromptDetail/PromptWFJobTemplateDetail.jsx b/awx/ui_next/src/components/PromptDetail/PromptWFJobTemplateDetail.jsx index 72e10660b8..935c187864 100644 --- a/awx/ui_next/src/components/PromptDetail/PromptWFJobTemplateDetail.jsx +++ b/awx/ui_next/src/components/PromptDetail/PromptWFJobTemplateDetail.jsx @@ -115,7 +115,12 @@ function PromptWFJobTemplateDetail({ resource }) { /> )} {extra_vars && ( - + )} ); diff --git a/awx/ui_next/src/components/Schedule/ScheduleDetail/ScheduleDetail.jsx b/awx/ui_next/src/components/Schedule/ScheduleDetail/ScheduleDetail.jsx index f5a2844b0f..9628c40e19 100644 --- a/awx/ui_next/src/components/Schedule/ScheduleDetail/ScheduleDetail.jsx +++ b/awx/ui_next/src/components/Schedule/ScheduleDetail/ScheduleDetail.jsx @@ -369,6 +369,7 @@ function ScheduleDetail({ hasDaysToKeepField, schedule, surveyConfig }) { value={jsonToYaml(JSON.stringify(extra_data))} rows={4} label={t`Variables`} + name="extra_vars" /> )} diff --git a/awx/ui_next/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.jsx b/awx/ui_next/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.jsx index d0e20d8604..01d2326e1f 100644 --- a/awx/ui_next/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.jsx +++ b/awx/ui_next/src/components/Schedule/ScheduleOccurrences/ScheduleOccurrences.jsx @@ -51,6 +51,7 @@ function ScheduleOccurrences({ preview = { local: [], utc: [] } }) { ]} value={mode} onChange={newMode => setMode(newMode)} + name="timezone" /> diff --git a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx index 7c3075440f..e5bad514f9 100644 --- a/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx +++ b/awx/ui_next/src/screens/ActivityStream/ActivityStreamDetailButton.jsx @@ -55,6 +55,7 @@ function ActivityStreamDetailButton({ streamItem, user, description }) { value={ streamItem?.changes ? JSON.stringify(streamItem.changes) : '' } + name="changes" /> )} diff --git a/awx/ui_next/src/screens/CredentialType/CredentialTypeDetails/CredentialTypeDetails.jsx b/awx/ui_next/src/screens/CredentialType/CredentialTypeDetails/CredentialTypeDetails.jsx index 72aebabfa3..fbd29d6a01 100644 --- a/awx/ui_next/src/screens/CredentialType/CredentialTypeDetails/CredentialTypeDetails.jsx +++ b/awx/ui_next/src/screens/CredentialType/CredentialTypeDetails/CredentialTypeDetails.jsx @@ -80,11 +80,13 @@ function CredentialTypeDetails({ credentialType }) { label={t`Input configuration`} value={jsonToYaml(JSON.stringify(inputs))} rows={6} + name="input" /> - + {user_capabilities?.edit && ( diff --git a/awx/ui_next/src/screens/Host/HostFacts/HostFacts.jsx b/awx/ui_next/src/screens/Host/HostFacts/HostFacts.jsx index ac62cddf42..91093ee530 100644 --- a/awx/ui_next/src/screens/Host/HostFacts/HostFacts.jsx +++ b/awx/ui_next/src/screens/Host/HostFacts/HostFacts.jsx @@ -36,7 +36,12 @@ function HostFacts({ host }) { return ( - + ); diff --git a/awx/ui_next/src/screens/InstanceGroup/ContainerGroupDetails/ContainerGroupDetails.jsx b/awx/ui_next/src/screens/InstanceGroup/ContainerGroupDetails/ContainerGroupDetails.jsx index 4735a8ffd1..701fabb8de 100644 --- a/awx/ui_next/src/screens/InstanceGroup/ContainerGroupDetails/ContainerGroupDetails.jsx +++ b/awx/ui_next/src/screens/InstanceGroup/ContainerGroupDetails/ContainerGroupDetails.jsx @@ -81,6 +81,7 @@ function ContainerGroupDetails({ instanceGroup }) { : instanceGroup.pod_spec_override } rows={6} + name="pod_spec_override" /> )} diff --git a/awx/ui_next/src/screens/Inventory/InventoryDetail/InventoryDetail.jsx b/awx/ui_next/src/screens/Inventory/InventoryDetail/InventoryDetail.jsx index f42c77782d..cddbb4c831 100644 --- a/awx/ui_next/src/screens/Inventory/InventoryDetail/InventoryDetail.jsx +++ b/awx/ui_next/src/screens/Inventory/InventoryDetail/InventoryDetail.jsx @@ -104,6 +104,7 @@ function InventoryDetail({ inventory }) { label={t`Variables`} value={inventory.variables} rows={4} + name="variables" /> - + - + {user_capabilities?.edit && ( diff --git a/awx/ui_next/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.jsx b/awx/ui_next/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.jsx index 2bbc96f55f..5aa0fb6d00 100644 --- a/awx/ui_next/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.jsx +++ b/awx/ui_next/src/screens/Inventory/InventoryHostFacts/InventoryHostFacts.jsx @@ -35,7 +35,12 @@ function InventoryHostFacts({ host }) { return ( - + ); diff --git a/awx/ui_next/src/screens/Inventory/InventorySourceDetail/InventorySourceDetail.jsx b/awx/ui_next/src/screens/Inventory/InventorySourceDetail/InventorySourceDetail.jsx index d69f2eb5d4..5f9213328b 100644 --- a/awx/ui_next/src/screens/Inventory/InventorySourceDetail/InventorySourceDetail.jsx +++ b/awx/ui_next/src/screens/Inventory/InventorySourceDetail/InventorySourceDetail.jsx @@ -249,6 +249,7 @@ function InventorySourceDetail({ inventorySource }) { label={t`Source variables`} rows={4} value={source_vars} + name="source_vars" /> )} diff --git a/awx/ui_next/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.jsx b/awx/ui_next/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.jsx index 6b140678c5..705266376c 100644 --- a/awx/ui_next/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.jsx +++ b/awx/ui_next/src/screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.jsx @@ -131,7 +131,12 @@ function SmartInventoryDetail({ inventory }) { } /> )} - + - + ); diff --git a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx index 27dc9252e8..ce86266a2d 100644 --- a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx +++ b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx @@ -337,6 +337,7 @@ function JobDetail({ job }) { value={job.extra_vars} rows={4} label={t`Variables`} + name="extra_vars" /> )} {job.artifacts && ( @@ -347,6 +348,7 @@ function JobDetail({ job }) { value={JSON.stringify(job.artifacts)} rows={4} label={t`Artifacts`} + name="artifacts" /> )} diff --git a/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx b/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx index 743541b07c..3e13e58ba9 100644 --- a/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx +++ b/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx @@ -353,6 +353,7 @@ function JobTemplateDetail({ template }) { rows={4} label={t`Variables`} dataCy={`jt-details-${template.id}`} + name="extra_vars" /> diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.jsx index 8b94505558..f3b02c812b 100644 --- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.jsx +++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.jsx @@ -217,7 +217,12 @@ function WorkflowJobTemplateDetail({ template }) { } /> )} - + {summary_fields.user_capabilities &&