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 7b9d06a83d60..edfcec9b6517 100644 --- a/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js +++ b/app/assets/javascripts/controllers/catalog/catalog_item_form_controller.js @@ -38,6 +38,8 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog retirement_variables: {}, retirement_editMode: false, retirement_cloud_type: '', + remove_resources: 'none', + remove_resources_types: {"None": "none", "Pre": "pre", "Post": "post"}, cloud_types: ["Amazon", "Azure", "Google", "Openstack", "Vmware"] }; vm.formId = catalogItemFormId; @@ -70,6 +72,7 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog }; var getConfigInfo = function(configData) { + vm.catalogItemModel.remove_resources = configData.remove_resources; vm.catalogItemModel.provisioning_repository_id = configData.provision.repository_id; vm.catalogItemModel.provisioning_playbook_id = configData.provision.playbook_id; vm.catalogItemModel.provisioning_machine_credential_id = configData.provision.credential_id; @@ -145,6 +148,7 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog prov_type: "generic_ansible_playbook", type: "ServiceTemplateAnsiblePlaybook", config_info: { + remove_resources: configData.remove_resources, provision: { repository_id: configData.provisioning_repository_id, playbook_id: configData.provisioning_playbook_id, diff --git a/app/views/catalog/_st_angular_form.html.haml b/app/views/catalog/_st_angular_form.html.haml index 75e9b8f84899..5b5dd62d0cfc 100644 --- a/app/views/catalog/_st_angular_form.html.haml +++ b/app/views/catalog/_st_angular_form.html.haml @@ -59,6 +59,17 @@ %option{"value" => ""} = "<#{_('Unassigned')}>" + .form-group + %label.col-md-2.control-label{"for" => "catalog_id"} + = _('Would you like to remove associated resources as part of service retirement?') + .col-md-8 + %select{"ng-model" => "vm.catalogItemModel.remove_resources", + "name" => "vm.catalogItemModel.remove_resources", + 'ng-options' => "v as k for (k, v) in vm.catalogItemModel.remove_resources_types", + :checkchange => true, + "pf-select" => true} + + = render :partial => "layouts/angular/multi_tab_ansible_form_options", :locals => {:record => @record, :ng_model => "vm.catalogItemModel"} = render :partial => "layouts/angular/x_edit_buttons_angular" 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 d016a085de45..9a0e8aab0c1b 100644 --- a/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js +++ b/spec/javascripts/controllers/catalog/catalog_item_form_controller_spec.js @@ -23,6 +23,7 @@ describe('catalogItemFormController', function() { prov_type: 'generic_ansible_playbook', type: 'ServiceTemplateAnsiblePlaybook', config_info: { + remove_resources: 'pre', provision: { dialog_id: '10000000000031', repository_id: undefined,