diff --git a/app/models/dialog/terraform_template_service_dialog.rb b/app/models/dialog/terraform_template_service_dialog.rb index 630c05a..e5daf79 100644 --- a/app/models/dialog/terraform_template_service_dialog.rb +++ b/app/models/dialog/terraform_template_service_dialog.rb @@ -43,23 +43,8 @@ def add_template_variables_group(tab, position, terraform_template) next if hidden - value = value.to_json if [Hash, Array].include?(value.class) - description = key if description.blank? - label = key if label.blank? - - dialog_group.dialog_fields.build( - :type => "DialogFieldTextBox", - :name => key.to_s, - :data_type => "string", - :display => "edit", - :required => required, - :default_value => value, - :label => label, - :description => description, - :reconfigurable => true, - :position => index, - :dialog_group => dialog_group, - :read_only => readonly + add_variable_field( + key, value, dialog_group, index, label, description, required, readonly ) end end @@ -72,24 +57,29 @@ def add_variables_group(tab, position, extra_vars) :position => position ).tap do |dialog_group| extra_vars.transform_values { |val| val[:default] }.each_with_index do |(key, value), index| - value = value.to_json if [Hash, Array].include?(value.class) - - dialog_group.dialog_fields.build( - :type => "DialogFieldTextBox", - :name => key.to_s, - :data_type => "string", - :display => "edit", - :required => false, - :default_value => value, - :label => key, - :description => key, - :reconfigurable => true, - :position => index, - :dialog_group => dialog_group, - :read_only => false - ) + add_variable_field(key, value, dialog_group, index, key, key, false, false) end end end + + def add_variable_field(key, value, group, position, label, description, required, read_only) + value = value.to_json if [Hash, Array].include?(value.class) + description = key if description.blank? + + group.dialog_fields.build( + :type => "DialogFieldTextBox", + :name => key.to_s, + :data_type => "string", + :display => "edit", + :required => required, + :default_value => value, + :label => label, + :description => description, + :reconfigurable => true, + :position => position, + :dialog_group => group, + :read_only => read_only + ) + end end end