From: Petr Blaho <[email protected]> This modifies templates and controllers for Provider and ProviderAccount XML output for index action - removes all nodes except basic ones with href and id attributes.
https://www.aeolusproject.org/redmine/issues/3759 --- .../controllers/provider_accounts_controller.rb | 4 +- src/app/controllers/providers_controller.rb | 2 +- src/app/views/provider_accounts/_detail.xml.haml | 33 ++++++++++--------- src/app/views/provider_accounts/_list.xml.haml | 2 +- src/app/views/provider_accounts/show.xml.haml | 2 +- src/app/views/providers/_list.xml.haml | 9 +++-- 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/app/controllers/provider_accounts_controller.rb b/src/app/controllers/provider_accounts_controller.rb index 1abc022..ca28c6e 100644 --- a/src/app/controllers/provider_accounts_controller.rb +++ b/src/app/controllers/provider_accounts_controller.rb @@ -27,7 +27,7 @@ class ProviderAccountsController < ApplicationController #xml list of provider_accounts for aeolus-image, aeolus-image could work with prov. accounts list for givent provider #to resemble html views logic, so this route could be removed (provider_accounts could be user only as nested resource) #format.xml { render :text => ProviderAccount.xml_export(@provider_accounts) } - format.xml { render :partial => 'list.xml', :locals => { :provider_accounts => @provider_accounts, :with_credentials => false, :with_quota => false } } + format.xml { render :partial => 'list.xml', :locals => { :provider_accounts => @provider_accounts, :with_credentials => false, :with_quota => false, :with_data => false } } end end @@ -58,7 +58,7 @@ class ProviderAccountsController < ApplicationController end render :partial => @details_tab and return end - format.xml { render 'show', :locals => { :provider_account => @provider_account, :with_credentials => true, :with_quota => true } } + format.xml { render 'show', :locals => { :provider_account => @provider_account, :with_data => true, :with_credentials => true, :with_quota => true } } end end diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb index 3b6ec23..ae3531a 100644 --- a/src/app/controllers/providers_controller.rb +++ b/src/app/controllers/providers_controller.rb @@ -40,7 +40,7 @@ class ProvidersController < ApplicationController respond_to do |format| format.html format.js { render :partial => 'list' } - format.xml { render :partial => 'list.xml' } + format.xml { render :partial => 'list.xml' , :locals => { :with_data => false }} end end diff --git a/src/app/views/provider_accounts/_detail.xml.haml b/src/app/views/provider_accounts/_detail.xml.haml index ca7ce3c..e8b7617 100644 --- a/src/app/views/provider_accounts/_detail.xml.haml +++ b/src/app/views/provider_accounts/_detail.xml.haml @@ -1,17 +1,18 @@ %provider_account{:id => provider_account.id, :href => api_provider_account_url(provider_account)} - -provider = provider_account.provider - -provider_type = provider.provider_type - %label= provider_account.name - %provider{:id => provider.id, :href => api_provider_url(provider)}= provider.name - %provider_type= provider_type.deltacloud_driver - -if local_assigns[:with_credentials] - = content_tag('credentials') do - = render 'credentials', :creds_hash => provider_account.credentials_hash - -if provider_account.priority - %priority= provider_account.priority - -if local_assigns[:with_quota] - %quota_used= number_to_percentage provider_account.quota.percentage_used, :precision => 0 - -if provider_account.quota.maximum_running_instances - %quota{ :maximum_running_instances => provider_account.quota.maximum_running_instances } - -else - %quota{ :maximum_running_instances => t('provider_accounts.properties.unlimited') } + -if local_assigns[:with_data] + -provider = provider_account.provider + -provider_type = provider.provider_type + %label= provider_account.name + %provider{:id => provider.id, :href => api_provider_url(provider)}= provider.name + %provider_type= provider_type.deltacloud_driver + -if local_assigns[:with_credentials] + = content_tag('credentials') do + = render 'credentials', :creds_hash => provider_account.credentials_hash + -if provider_account.priority + %priority= provider_account.priority + -if local_assigns[:with_quota] + %quota_used= number_to_percentage provider_account.quota.percentage_used, :precision => 0 + -if provider_account.quota.maximum_running_instances + %quota{ :maximum_running_instances => provider_account.quota.maximum_running_instances } + -else + %quota{ :maximum_running_instances => t('provider_accounts.properties.unlimited') } diff --git a/src/app/views/provider_accounts/_list.xml.haml b/src/app/views/provider_accounts/_list.xml.haml index 9c4dc38..8323435 100644 --- a/src/app/views/provider_accounts/_list.xml.haml +++ b/src/app/views/provider_accounts/_list.xml.haml @@ -1,4 +1,4 @@ !!! XML %provider_accounts - provider_accounts.each do |provider_account| - =render 'detail', :provider_account => provider_account, :with_credentials => with_credentials, :with_quota => with_quota + =render 'detail', :provider_account => provider_account, :with_credentials => with_credentials, :with_quota => with_quota, :with_data => with_data diff --git a/src/app/views/provider_accounts/show.xml.haml b/src/app/views/provider_accounts/show.xml.haml index 323a0a0..dc732cd 100644 --- a/src/app/views/provider_accounts/show.xml.haml +++ b/src/app/views/provider_accounts/show.xml.haml @@ -1,2 +1,2 @@ !!! XML -=render 'detail', :provider_account => provider_account, :with_credentials => with_credentials, :with_quota => with_quota +=render 'detail', :provider_account => provider_account, :with_data => true, :with_credentials => with_credentials, :with_quota => with_quota diff --git a/src/app/views/providers/_list.xml.haml b/src/app/views/providers/_list.xml.haml index 22ec920..72e20da 100644 --- a/src/app/views/providers/_list.xml.haml +++ b/src/app/views/providers/_list.xml.haml @@ -2,7 +2,8 @@ %providers - @providers.each do |p| %provider{:id => p.id, :href => api_provider_url(p)} - %name= p.name - %url= p.url - %provider_type= p.provider_type.deltacloud_driver - %deltacloud_provider= p.deltacloud_provider + -if local_assigns[:with_data] + %name= p.name + %url= p.url + %provider_type= p.provider_type.deltacloud_driver + %deltacloud_provider= p.deltacloud_provider -- 1.7.7.6
