Skip to content

Commit

Permalink
🚚 [#4908] Rename form_variables to variables
Browse files Browse the repository at this point in the history
  • Loading branch information
viktorvanwijk committed Jan 21, 2025
1 parent 3ee8503 commit a48c922
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ export default {
title: 'Relative API endpoint',
type: 'string',
},
formVariables: {
variables: {
type: 'array',
title: 'List of form variables',
items: {
Expand Down Expand Up @@ -770,7 +770,7 @@ export const ConfiguredBackends = {
options: {
service: 1,
path: 'example/endpoint',
formVariables: [],
variables: [],
},
},
],
Expand Down Expand Up @@ -1029,7 +1029,7 @@ export const JSONDump = {
options: {
service: 1,
path: 'example/endpoint',
formVariables: [],
variables: [],
},
},
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ const JSONDumpOptionsForm = ({name, label, schema, formData, onChange}) => {
const formContext = useContext(FormContext);
const formVariables = formContext.formVariables ?? [];
const staticVariables = formContext.staticVariables ?? [];
const allFormVariables = staticVariables.concat(formVariables);
const allVariables = staticVariables.concat(formVariables);

const formVariableOptions = [];
for (const formVariable of allFormVariables) {
formVariableOptions.push({value: formVariable.key, label: formVariable.name});
const variableOptions = [];
for (const variable of allVariables) {
variableOptions.push({value: variable.key, label: variable.name});
}

// Create service options
Expand All @@ -49,7 +49,7 @@ const JSONDumpOptionsForm = ({name, label, schema, formData, onChange}) => {
initialFormData={{
service: null,
path: '',
formVariables: [],
variables: [],
...formData,
}}
onSubmit={values => onChange({formData: values})}
Expand All @@ -59,7 +59,7 @@ const JSONDumpOptionsForm = ({name, label, schema, formData, onChange}) => {
<Fieldset>
<ServiceSelect options={serviceOptions} />
<Path />
<FormVariablesSelect options={formVariableOptions} />
<FormVariablesSelect options={variableOptions} />
</Fieldset>
</ValidationErrorsProvider>
</ModalOptionsConfiguration>
Expand All @@ -80,9 +80,7 @@ JSONDumpOptionsForm.propTypes = {
formData: PropTypes.shape({
service: PropTypes.number,
path: PropTypes.string,
// TODO-4908: might need to rename this to selectedFormVariables to avoid confusion or even
// naming conflicts
formVariables: PropTypes.arrayOf(PropTypes.string),
variables: PropTypes.arrayOf(PropTypes.string),
}),
onChange: PropTypes.func.isRequired,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React from 'react';
import {IconNo, IconYes} from 'components/admin/BooleanIcons';

const JSONDumpSummaryHandler = ({variable, backendOptions}) => {
const isIncluded = backendOptions.formVariables.includes(variable.key);
const isIncluded = backendOptions.variables.includes(variable.key);

return isIncluded ? <IconYes /> : <IconNo />;
};
Expand All @@ -14,7 +14,7 @@ JSONDumpSummaryHandler.propTypes = {
key: PropTypes.string.isRequired,
}).isRequired,
backendOptions: PropTypes.shape({
formVariables: PropTypes.arrayOf(PropTypes.string).isRequired,
variables: PropTypes.arrayOf(PropTypes.string).isRequired,
}).isRequired,
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import {Checkbox} from 'components/admin/forms/Inputs';

const JSONDumpVariableConfigurationEditor = ({variable}) => {
const {
values: {formVariables = []},
values: {variables = []},
setFieldValue,
} = useFormikContext();
const isIncluded = formVariables.includes(variable.key);
const isIncluded = variables.includes(variable.key);

return (
<FormRow>
Expand All @@ -34,10 +34,10 @@ const JSONDumpVariableConfigurationEditor = ({variable}) => {
checked={isIncluded}
onChange={event => {
const shouldBeIncluded = event.target.checked;
const newFormVariables = shouldBeIncluded
? [...formVariables, variable.key] // add the variable to the array
: formVariables.filter(key => key !== variable.key); // remove the variable from the array
setFieldValue('formVariables', newFormVariables);
const newVariables = shouldBeIncluded
? [...variables, variable.key] // add the variable to the array
: variables.filter(key => key !== variable.key); // remove the variable from the array
setFieldValue('variables', variables);
}}
/>
</Field>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import FormRow from 'components/admin/forms/FormRow';
import ReactSelect from 'components/admin/forms/ReactSelect';

const FormVariablesSelect = ({options}) => {
const [fieldProps, , {setValue}] = useField('formVariables');
const [fieldProps, , {setValue}] = useField('variables');

const values = [];
if (fieldProps.value && fieldProps.value.length) {
Expand All @@ -23,24 +23,24 @@ const FormVariablesSelect = ({options}) => {
return (
<FormRow>
<Field
name="formVariables"
name="variables"
label={
<FormattedMessage
description="JSON registration options 'formVariables' label"
defaultMessage="Form variables"
description="JSON registration options 'variables' label"
defaultMessage="Variables"
/>
}
helpText={
<FormattedMessage
description="JSON registration options 'formVariables' helpText"
defaultMessage="Which form variables to include in the data to be sent"
description="JSON registration options 'variables' helpText"
defaultMessage="Which variables to include in the data to be sent"
/>
}
required
noManageChildProps
>
<ReactSelect
name="formVariables"
name="variables"
options={options}
isMulti
required
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@ export const WithJSONDumpRegistrationBackend = {
options: {
service: 2,
path: 'test',
formVariables: ['aSingleFile', 'now'],
variables: ['aSingleFile', 'now'],
},
},
],
Expand Down
10 changes: 4 additions & 6 deletions src/openforms/registrations/contrib/json_dump/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,10 @@ class JSONDumpOptionsSerializer(JsonSchemaSerializerMixin, serializers.Serialize
default="",
validators=[validate_path],
)
form_variables = serializers.ListField(
variables = serializers.ListField(
child=FormioVariableKeyField(),
label=_("Form variable key list"),
help_text=_(
"A list of form variables (can also include static variables) to use."
),
label=_("Variable key list"),
help_text=_("A list of variables to use."),
required=True,
min_length=1,
)
Expand All @@ -61,4 +59,4 @@ class JSONDumpOptions(TypedDict):

service: Service
path: str
form_variables: list[str]
variables: list[str]
2 changes: 1 addition & 1 deletion src/openforms/registrations/contrib/json_dump/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def register_submission(
values = {
key: value
for key, value in all_values.items()
if key in options["form_variables"]
if key in options["variables"]
}

# Process attachments
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,13 @@ def test_submission_with_json_dump_backend(self):
json_form_options = dict(
service=(ServiceFactory(api_root="http://localhost:80/")),
path="json_plugin",
form_variables=["firstName", "file", "auth_bsn"],
variables=["firstName", "file", "auth_bsn"],
)
json_plugin = JSONDumpRegistration("json_registration_plugin")
set_submission_reference(submission)

expected_response = {
# Note that `lastName` is not included here as it wasn't specified in the form_variables
# Note that `lastName` is not included here as it wasn't specified in the variables
"data": {
"values": {
"auth_bsn": "123456789",
Expand Down Expand Up @@ -110,7 +110,7 @@ def test_exception_raised_when_service_returns_unexpected_status_code(self):
json_form_options = dict(
service=(ServiceFactory(api_root="http://localhost:80/")),
path="fake_endpoint",
form_variables=["firstName", "auth_bsn"],
variables=["firstName", "auth_bsn"],
)
json_plugin = JSONDumpRegistration("json_registration_plugin")
set_submission_reference(submission)
Expand Down Expand Up @@ -163,7 +163,7 @@ def test_multiple_file_uploads(self):
json_form_options = dict(
service=(ServiceFactory(api_root="http://localhost:80/")),
path="json_plugin",
form_variables=["file"],
variables=["file"],
)
json_plugin = JSONDumpRegistration("json_registration_plugin")
set_submission_reference(submission)
Expand Down Expand Up @@ -197,7 +197,7 @@ def test_path_traversal_attack(self):
json_form_options = dict(
service=(ServiceFactory(api_root="http://localhost:80/")),
path="..",
form_variables=["firstName", "file", "auth_bsn"],
variables=["firstName", "file", "auth_bsn"],
)
json_plugin = JSONDumpRegistration("json_registration_plugin")
set_submission_reference(submission)
Expand Down

0 comments on commit a48c922

Please sign in to comment.