Skip to content

Commit

Permalink
Fixed some issues introduced with retirement remove resources option
Browse files Browse the repository at this point in the history
Also replaced .find calls with .find_by.

https://www.pivotaltracker.com/story/show/141238703
  • Loading branch information
h-kataria committed Mar 16, 2017
1 parent 7b3c6a9 commit 3628ec9
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 41 deletions.
Expand Up @@ -99,23 +99,28 @@ 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_variables = configData.provision.extra_vars;
setExtraVars('provisioning_variables', configData.provision.extra_vars);

if (typeof configData.retirement !== 'undefined') {
vm.catalogItemModel.retirement_remove_resources = configData.retirement.remove_resources;
vm.catalogItemModel.retirement_remove_resources = configData.retirement.remove_resources;
if (typeof configData.retirement.repository_id !== 'undefined') {
vm.catalogItemModel.retirement_repository_id = configData.retirement.repository_id;
vm.catalogItemModel.retirement_playbook_id = configData.retirement.playbook_id;
vm.catalogItemModel.retirement_machine_credential_id = configData.retirement.credential_id;
vm.catalogItemModel.retirement_network_credential_id = configData.retirement.network_credential_id;
vm.catalogItemModel.retirement_cloud_credential_id = configData.retirement.cloud_credential_id;
vm.catalogItemModel.retirement_inventory = configData.retirement.hosts;
vm.catalogItemModel.retirement_dialog_existing = configData.retirement.dialog_id ? "existing" : "create";
vm.catalogItemModel.retirement_dialog_id = configData.retirement.dialog_id;
vm.catalogItemModel.retirement_dialog_name = configData.retirement.new_dialog_name;
vm.catalogItemModel.retirement_key = '';
vm.catalogItemModel.retirement_value = '';
vm.catalogItemModel.retirement_variables = configData.retirement.extra_vars;
}
vm.catalogItemModel.retirement_network_credential_id = configData.retirement.network_credential_id;
vm.catalogItemModel.retirement_cloud_credential_id = configData.retirement.cloud_credential_id;
vm.catalogItemModel.retirement_inventory = configData.retirement.hosts;
vm.catalogItemModel.retirement_key = '';
vm.catalogItemModel.retirement_value = '';
setExtraVars('retirement_variables', configData.retirement.extra_vars);
};

var setExtraVars = function(extra_variables, extraVars) {
if (typeof extraVars !== 'undefined')
vm.catalogItemModel[extra_variables] = extraVars;
}

var redirectUrl = '/catalog/explorer/' + catalogItemFormId;
Expand Down Expand Up @@ -189,27 +194,25 @@ ManageIQ.angular.app.controller('catalogItemFormController', ['$scope', 'catalog
remove_resources: configData.retirement_remove_resources
}

var retirement = catalog_item['config_info']['retirement'];
retirement['hosts'] = configData.retirement_inventory;
retirement['extra_vars'] = configData.retirement_variables;
if (angular.isDefined(vm.catalogItemModel.retirement_repository_id) && configData.retirement_repository_id !== '') {
var retirement = catalog_item['config_info']['retirement'];

retirement['repository_id'] = configData.retirement_repository_id;
retirement['playbook_id'] = configData.retirement_playbook_id;
retirement['playbook_id'] = configData.retirement_playbook_id;
retirement['credential_id'] = configData.retirement_machine_credential_id;
retirement['hosts'] = configData.retirement_inventory;
retirement['dialog_id'] = configData.retirement_dialog_id;
retirement['extra_vars'] = configData.retirement_variables;

if (configData.retirement_network_credential_id !== '')
catalog_item['config_info']['retirement']['network_credential_id'] = configData.retirement_network_credential_id;
retirement['dialog_id'] = configData.retirement_dialog_id;
}
if (configData.retirement_network_credential_id !== '')
catalog_item['config_info']['retirement']['network_credential_id'] = configData.retirement_network_credential_id;

if (configData.retirement_cloud_credential_id !== '')
catalog_item['config_info']['retirement']['cloud_credential_id'] = configData.retirement_cloud_credential_id;
if (configData.retirement_cloud_credential_id !== '')
catalog_item['config_info']['retirement']['cloud_credential_id'] = configData.retirement_cloud_credential_id;

if (configData.retirement_dialog_id !== '') {
catalog_item['config_info']['retirement']['dialog_id'] = configData.retirement_dialog_id;
} else if (configData.retirement_dialog_name !== '')
catalog_item['config_info']['retirement']['new_dialog_name'] = configData.retirement_dialog_name;
}
if (configData.retirement_dialog_id !== '') {
catalog_item['config_info']['retirement']['dialog_id'] = configData.retirement_dialog_id;
} else if (configData.retirement_dialog_name !== '')
catalog_item['config_info']['retirement']['new_dialog_name'] = configData.retirement_dialog_name;

return catalog_item;
}
Expand Down
39 changes: 23 additions & 16 deletions app/controllers/catalog_controller.rb
Expand Up @@ -1778,26 +1778,33 @@ def fetch_playbook_details
playbook_details = {}
provision = @record.config_info[:provision]
playbook_details[:provisioning] = {}
playbook_details[:provisioning][:repository] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::ConfigurationScriptSource.find(provision[:repository_id]).name
playbook_details[:provisioning][:playbook] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Playbook.find(provision[:playbook_id]).name
playbook_details[:provisioning][:machine_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::MachineCredential.find(provision[:credential_id]).name
playbook_details[:provisioning][:network_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::NetworkCredential.find(provision[:network_credential_id]).name if provision[:network_credential_id]
playbook_details[:provisioning][:cloud_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::CloudCredential.find(provision[:cloud_credential_id]).name if provision[:cloud_credential_id]
dialog = provision[:dialog_id] ? Dialog.find(provision[:dialog_id]) : Dialog.find_by(:name => provision[:dialog_name])
playbook_details[:provisioning][:dialog] = dialog.name
playbook_details[:provisioning][:dialog_id] = dialog.id
playbook_details[:provisioning][:repository] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::ConfigurationScriptSource.find_by(:id => provision[:repository_id]).name
playbook_details[:provisioning][:playbook] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Playbook.find_by(:id => provision[:playbook_id]).name
playbook_details[:provisioning][:machine_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::MachineCredential.find_by(:id => provision[:credential_id]).name
playbook_details[:provisioning][:network_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::NetworkCredential.find_by(:id => provision[:network_credential_id]).name if provision[:network_credential_id]
playbook_details[:provisioning][:cloud_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::CloudCredential.find_by(:id => provision[:cloud_credential_id]).name if provision[:cloud_credential_id]
dialog = provision[:dialog_id] ? Dialog.find_by(:id => provision[:dialog_id]) : Dialog.find_by(:name => provision[:dialog_name])
if dialog
playbook_details[:provisioning][:dialog] = dialog.name
playbook_details[:provisioning][:dialog_id] = dialog.id
end

if @record.config_info[:retirement]
retirement = @record.config_info[:retirement]
playbook_details[:retirement] = {}
playbook_details[:retirement][:repository] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::ConfigurationScriptSource.find(retirement[:repository_id]).name
playbook_details[:retirement][:playbook] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Playbook.find(retirement[:playbook_id]).name
playbook_details[:retirement][:machine_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::MachineCredential.find(retirement[:credential_id]).name
playbook_details[:retirement][:network_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::NetworkCredential.find(retirement[:network_credential_id]).name if retirement[:network_credential_id]
playbook_details[:retirement][:cloud_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::CloudCredential.find(retirement[:cloud_credential_id]).name if retirement[:cloud_credential_id]
dialog = provision[:dialog_id] ? Dialog.find(retirement[:dialog_id]) : Dialog.find_by(:name => retirement[:dialog_name])
playbook_details[:retirement][:dialog] = dialog.name
playbook_details[:retirement][:dialog_id] = dialog.id
playbook_details[:retirement][:remove_resources] = retirement[:remove_resources]
if retirement[:repository_id]
playbook_details[:retirement][:repository] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::ConfigurationScriptSource.find_by(:id => retirement[:repository_id]).name
playbook_details[:retirement][:playbook] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Playbook.find_by(:id => retirement[:playbook_id]).name
playbook_details[:retirement][:machine_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::MachineCredential.find_by(:id => retirement[:credential_id]).name
playbook_details[:retirement][:network_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::NetworkCredential.find_by(:id => retirement[:network_credential_id]).name if retirement[:network_credential_id]
playbook_details[:retirement][:cloud_credential] = ManageIQ::Providers::EmbeddedAnsible::AutomationManager::CloudCredential.find_by(:id => retirement[:cloud_credential_id]).name if retirement[:cloud_credential_id]
dialog = provision[:dialog_id] ? Dialog.find_by(:id => retirement[:dialog_id]) : Dialog.find_by(:name => retirement[:dialog_name])
if dialog
playbook_details[:retirement][:dialog] = dialog.name
playbook_details[:retirement][:dialog_id] = dialog.id
end
end
end
playbook_details
end
Expand Down

0 comments on commit 3628ec9

Please sign in to comment.