From: Petr Blaho <pblaho(a)redhat.com>
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