From 8ca0381372f06deb180a5809b4eed11f845ef168 Mon Sep 17 00:00:00 2001 From: Harpreet Kataria Date: Mon, 24 Apr 2017 15:34:15 -0400 Subject: [PATCH] UI changes to support value of extra vars as nested hash - UI changes to support extra vars format in https://github.com/ManageIQ/manageiq/pull/14697 - fixed broken spec test --- .../catalog/catalog_item_form_controller.js | 22 +++++++++++++++---- app/views/catalog/_sandt_tree_show.html.haml | 4 ++-- .../catalog_item_form_controller_spec.js | 4 ++-- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js b/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js index 4ba27bf19d83..62027dd4eecb 100644 --- a/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js +++ b/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js @@ -130,8 +130,12 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog }; var setExtraVars = function (variableName, extraVars) { - if (typeof extraVars !== 'undefined') - vm.catalogItemModel[variableName] = extraVars; + if (typeof extraVars !== 'undefined') { + vm.catalogItemModel[variableName] = {}; + for (var key in extraVars) { + vm.catalogItemModel[variableName][key] = extraVars[key]['default']; + } + } $scope.checkFormPristine(); } @@ -173,6 +177,16 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog $scope.angularForm.$setPristine(true); }; + var formatExtraVars = function(extraVars){ + if (typeof extraVars !== 'undefined') { + formattedExtraVars = {}; + for (var key in extraVars) { + formattedExtraVars[key] = {'default': extraVars[key]}; + } + } + return formattedExtraVars; + } + var setConfigInfo = function(configData) { catalog_item = { name: configData.name, @@ -187,7 +201,7 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog playbook_id: configData.provisioning_playbook_id, credential_id: configData.provisioning_machine_credential_id, hosts: configData.provisioning_inventory, - extra_vars: configData.provisioning_variables + extra_vars: formatExtraVars(configData.provisioning_variables) } } } @@ -209,7 +223,7 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog var retirement = catalog_item['config_info']['retirement']; retirement['hosts'] = configData.retirement_inventory; - retirement['extra_vars'] = configData.retirement_variables; + retirement['extra_vars'] = formatExtraVars(configData.retirement_variables); if (vm.catalogItemModel.retirement_repository_id !== undefined && configData.retirement_repository_id !== '') { retirement['repository_id'] = configData.retirement_repository_id; retirement['playbook_id'] = configData.retirement_playbook_id; diff --git a/app/views/catalog/_sandt_tree_show.html.haml b/app/views/catalog/_sandt_tree_show.html.haml index 32986ede95f0..79696e9aa11c 100644 --- a/app/views/catalog/_sandt_tree_show.html.haml +++ b/app/views/catalog/_sandt_tree_show.html.haml @@ -246,7 +246,7 @@ %td = h(key) %td - = h(value) + = h(value[:default]) .form-group %label.col-md-3.control-label = _('Dialog') @@ -321,7 +321,7 @@ %td = h(key) %td - = h(value) + = h(value[:default]) :javascript miq_tabs_init("#st_tabs"); diff --git a/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js b/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js index d4c6410bbeb1..e33675a0b460 100644 --- a/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js +++ b/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js @@ -30,8 +30,8 @@ describe('catalogItemFormController', function() { credential_id: 10000000000090, hosts: 'localhost', extra_vars: { - 'var1': 'default_val1', - 'var2': 'default_val2' + 'var1': {'default': 'default_val1'}, + 'var2': {'default': 'default_val2'} }, network_credential_id: undefined },