From: Tomas Sedovic <tsedovic(a)redhat.com>
https://www.aeolusproject.org/redmine/issues/2141
---
src/app/controllers/instances_controller.rb | 17 +++++++++++------
src/app/models/instance.rb | 5 ++++-
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/src/app/controllers/instances_controller.rb
b/src/app/controllers/instances_controller.rb
index 09046a1..9a45d8a 100644
--- a/src/app/controllers/instances_controller.rb
+++ b/src/app/controllers/instances_controller.rb
@@ -150,7 +150,7 @@ class InstancesController < ApplicationController
end
def export_events
- send_data(Instance.csv_export(load_instances),
+ send_data(Instance.csv_export(load_instances :include_deleted => true),
:type => 'text/csv; charset=utf-8; header=present',
:filename => "export.csv")
end
@@ -186,12 +186,17 @@ class InstancesController < ApplicationController
@pools = Pool.list_for_user(@current_user, Privilege::CREATE, :target_type =>
Instance)
end
- def load_instances
+ def load_instances(opts)
+ opts ||= {}
conditions = { :pool_id => @pools }
conditions[:deployment_id] = params[:deployment_id] unless
params[:deployment_id].blank?
- @instances = Instance.all(:include => [:owner],
- :conditions => conditions,
- :order => (params[:order_field] || 'name')
+' '+ (params[:order_dir] || 'asc')
- )
+ order = (params[:order_field] || 'name') +' '+ (params[:order_dir] ||
'asc')
+ query = { :include => [:owner],
+ :conditions => conditions,
+ :order => order }
+ @instances = Instance.all(query)
+
+ @instances.concat(Instance::Archive.all) if opts[:include_deleted]
+ return @instances
end
end
diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
index e1e2d39..042e3ab 100644
--- a/src/app/models/instance.rb
+++ b/src/app/models/instance.rb
@@ -348,7 +348,10 @@ class Instance < ActiveRecord::Base
csv << event_attributes.map {|event| event.capitalize }
- events = instances.map{|i| i.events}.flatten!
+ events = instances.map do |i|
+ Event.find_all_by_source_id_and_source_type(i.id, 'Instance')
+ end
+ events.flatten!
unless events.nil?
events.each do |event|
csv << event_attributes.map {|event_attribute| event[event_attribute] }
--
1.7.6