[PATCH 2/4] BZ 802571 don't query provider multiple times

Tzu-Mainn Chen tzumainn at redhat.com
Fri Mar 23 13:52:46 UTC 2012


---
 src/app/models/deployment.rb                     |    7 ++++---
 src/app/views/deployments/_list.html.haml        |    3 ++-
 src/app/views/deployments/_pretty_view.html.haml |    5 +++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/app/models/deployment.rb b/src/app/models/deployment.rb
index c5654e3..fe02ad3 100644
--- a/src/app/models/deployment.rb
+++ b/src/app/models/deployment.rb
@@ -419,10 +419,11 @@ class Deployment < ActiveRecord::Base
 
     json[:owner] = owner.name if owner.present?
 
-    if provider
+    deployment_provider = provider
+    if deployment_provider
       json[:provider] = {
-        :name => provider.provider_type.name,
-        :id => provider.id,
+        :name => deployment_provider.provider_type.name,
+        :id => deployment_provider.id,
       }
     end
 
diff --git a/src/app/views/deployments/_list.html.haml b/src/app/views/deployments/_list.html.haml
index d593cc6..1425ceb 100644
--- a/src/app/views/deployments/_list.html.haml
+++ b/src/app/views/deployments/_list.html.haml
@@ -27,6 +27,7 @@
     });
 
 = filter_table(@deployments_header, @deployments) do |deployment|
+  - deployment_provider = deployment.provider
   %tr{ :class => cycle('nostripe', 'stripe') }
     %td{:class => 'checkbox'}
       - selected = params[:select] == 'all'
@@ -39,7 +40,7 @@
     %td{:class => 'center'}= deployment.instances.size
     %td= link_to deployment.pool.name, pool_path(deployment.pool, :view => :filter)
     %td= owner_name(deployment)
-    %td= link_to(deployment.provider.provider_type.name, deployment.provider) if deployment.provider
+    %td= link_to(deployment_provider.provider_type.name, deployment_provider) if deployment_provider
 
 :javascript
   Conductor.setupPrettyFilterURL(
diff --git a/src/app/views/deployments/_pretty_view.html.haml b/src/app/views/deployments/_pretty_view.html.haml
index af0b437..12f8d00 100644
--- a/src/app/views/deployments/_pretty_view.html.haml
+++ b/src/app/views/deployments/_pretty_view.html.haml
@@ -2,10 +2,11 @@
   - @deployments.in_groups_of(5, false) do |group|
     %ul.deployment-array.large
       - group.each do |deployment|
+        - deployment_provider = deployment.provider
         %li.deployment
           %h3.name
             = link_to deployment.name, deployment_path(deployment)
-          %span{ :class => "status #{deployment.status}", :title => deployment.as_json[:status_description]}
+          %span{ :class => "status #{deployment.status}", :title => t("deployments.status.#{deployment.status}")}
           %dl.statistics
             %ul
               %li.uptime
@@ -19,7 +20,7 @@
               %li.provider
                 %dt.instances.count=t'providers.provider'
                 %dd
-                  %p.provider= deployment.provider.provider_type.name unless deployment.provider.blank?
+                  %p.provider= deployment_provider.provider_type.name unless deployment_provider.blank?
 
 = render_pagination(@deployments)
 
-- 
1.7.6.5




More information about the aeolus-devel mailing list