From: Tomas Sedovic tsedovic@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] }
aeolus-devel@lists.fedorahosted.org