--- src/app/controllers/resources/pools_controller.rb | 9 ++++++ src/app/views/resources/pools/_instances.haml | 31 +++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/app/controllers/resources/pools_controller.rb b/src/app/controllers/resources/pools_controller.rb index cd4840a..efddfad 100644 --- a/src/app/controllers/resources/pools_controller.rb +++ b/src/app/controllers/resources/pools_controller.rb @@ -20,6 +20,7 @@ class Resources::PoolsController < ApplicationController @pool = Pool.find(params[:id]) require_privilege(Privilege::VIEW, @pool) @url_params = params.clone + load_instances @tab_captions = ['Properties', 'Deployments', 'Instances', 'History', 'Permissions'] @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] respond_to do |format| @@ -112,4 +113,12 @@ class Resources::PoolsController < ApplicationController :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') ) end + + def load_instances + # If state isn't specified at all, show only running instances. + # (But if it's nil, we want to show all instances) + params[:state] = 'running' unless params.keys.include?('state') + conditions = params[:state].present? ? ['state=?', params[:state]] : '' + @instances = @pool.instances.find(:all, :conditions => conditions) + end end diff --git a/src/app/views/resources/pools/_instances.haml b/src/app/views/resources/pools/_instances.haml index 3498757..260a9f8 100644 --- a/src/app/views/resources/pools/_instances.haml +++ b/src/app/views/resources/pools/_instances.haml @@ -1,3 +1,28 @@ -%h3 - Instances for - = @pool.name +- form_tag do + = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' + Show only + = hidden_field_tag 'details_tab', 'instances' + = select '', 'state', Instance::STATES, { :include_blank => true, :selected => params[:state] } + instances + = restful_submit_tag "Filter", 'show', resources_pool_path, 'GET', :id => 'filter_button' + + %table + %thead + %td Name + %td Assembly + %td Deployment + %td Since + %td State + - @instances.each do |instance| + %tr + %td + %input{:name => 'instance_selected[]', :type => 'checkbox', :value => instance.id, :id => "instance_checkbox_#{instance.id}" } + = link_to instance.name, resources_instance_path(instance) + %td + = instance.assembly.present? ? link_to((instance.assembly.name), image_factory_assembly_path(instance.assembly)) : '—' + %td + = instance.deployment.present? ? link_to((instance.deployment.name), resources_deployment_path(instance.deployment)) : '—' + %td + = instance.created_at.to_s + %td + = instance.state \ No newline at end of file