From 4f29b1329639660c4ab026f0c59676c73f82de7f Mon Sep 17 00:00:00 2001 From: Harpreet Kataria <hkataria@redhat.com> Date: Wed, 10 May 2017 17:22:15 -0400 Subject: [PATCH] Save new dialog value & other UI issues fixed Fixed saving of new dialog name, reset 'Hosts' field when playbook is selected on Retirement tab during edit and fixed issues related to initialization of Escalate Privilege switch https://bugzilla.redhat.com/show_bug.cgi?id=1448228 --- .../catalog/catalog_item_form_controller.js | 22 ++++++++++++++++--- .../catalog_item_form_controller_spec.js | 2 +- 2 files changed, 20 insertions(+), 4 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 c2169072a8b..e9ee5706ccc 100644 --- a/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js +++ b/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js @@ -114,7 +114,11 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog vm.catalogItemModel.provisioning_dialog_name = configData.provision.new_dialog_name; vm.catalogItemModel.provisioning_key = ''; vm.catalogItemModel.provisioning_value = ''; - vm.catalogItemModel.provisioning_become_enabled = configData.provision.become_enabled + if (configData.provision.become_enabled === undefined) { + vm.catalogItemModel.provisioning_become_enabled = false; + } else { + vm.catalogItemModel.provisioning_become_enabled = configData.provision.become_enabled; + } setExtraVars('provisioning_variables', configData.provision.extra_vars); if (typeof configData.retirement.repository_id !== 'undefined') { @@ -124,7 +128,11 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog vm.catalogItemModel.retirement_remove_resources = configData.retirement.remove_resources; vm.catalogItemModel.retirement_machine_credential_id = configData.retirement.credential_id; } - vm.catalogItemModel.retirement_become_enabled = configData.retirement.become_enabled + if (configData.retirement.become_enabled === undefined) { + vm.catalogItemModel.retirement_become_enabled = false; + } else { + vm.catalogItemModel.retirement_become_enabled = configData.retirement.become_enabled; + } vm.catalogItemModel.retirement_network_credential_id = configData.retirement.network_credential_id; vm.catalogItemModel.retirement_cloud_credential_id = setIfDefined(configData.retirement.cloud_credential_id); vm.catalogItemModel.retirement_inventory = configData.retirement.hosts; @@ -216,7 +224,7 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog if (configData.provisioning_cloud_credential_id !== '') catalog_item['config_info']['provision']['cloud_credential_id'] = configData.provisioning_cloud_credential_id; - if (configData.provisioning_dialog_id !== '') { + if (configData.provisioning_dialog_id !== undefined && configData.provisioning_dialog_id !== '') { catalog_item['config_info']['provision']['dialog_id'] = configData.provisioning_dialog_id; } else if (configData.provisioning_dialog_name !== '') catalog_item['config_info']['provision']['new_dialog_name'] = configData.provisioning_dialog_name; @@ -339,6 +347,14 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog }) }; + // reset fields when retirement playbook type is changed + $scope.$watch('vm._retirement_playbook', function(value) { + if (value && (vm.catalogItemModel.retirement_inventory === undefined || vm.catalogItemModel.retirement_inventory === '')) { + vm.catalogItemModel.retirement_inventory = 'localhost'; + vm.catalogItemModel.retirement_become_enabled = false; + } + }); + $scope.$watch('vm._provisioning_repository', function(value) { if (value) { vm.repositoryChanged("provisioning", value.id) 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 458bbe73bff..d0599bd18ad 100644 --- a/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js +++ b/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js @@ -33,7 +33,7 @@ describe('catalogItemFormController', function() { 'var1': {'default': 'default_val1'}, 'var2': {'default': 'default_val2'} }, - become_enabled: undefined, + become_enabled: false, network_credential_id: undefined }, retirement: {