On 06/28/2011 04:50 PM, Tomas Hrcka wrote:
src/app/controllers/deployments_controller.rb | 20 +++++++++++++++----- src/app/controllers/pools_controller.rb | 4 ++-- src/app/models/deployment.rb | 3 +++ src/app/views/deployments/_properties.haml | 19 ++++++++++--------- src/app/views/deployments/show.haml | 5 ++--- src/app/views/pools/show.haml | 2 +- src/features/deployment.feature | 18 ++++++++++++++++++ src/public/javascripts/application.js | 22 ++++++++++++++++++++++ src/spec/models/deployment_spec.rb | 4 ++++ 9 files changed, 77 insertions(+), 20 deletions(-)
diff --git a/src/app/controllers/deployments_controller.rb b/src/app/controllers/deployments_controller.rb index 697ce3e..90c7fdb 100644 --- a/src/app/controllers/deployments_controller.rb +++ b/src/app/controllers/deployments_controller.rb @@ -69,7 +69,10 @@ class DeploymentsController< ApplicationController :successes => status[:successes] } end
format.js { render :partial => 'properties' }
format.js do
@deployment_properties = @deployment.properties
render :partial => 'properties'
end format.html { redirect_to deployment_path(@deployment) } format.json { render :json => @deployment, :status => :created } else
@@ -91,17 +94,21 @@ class DeploymentsController< ApplicationController save_breadcrumb(deployment_path(@deployment, :viewstate => viewstate_id), @deployment.name) @failed_instances = @deployment.instances.select {|instance| instance.state == Instance::STATE_CREATE_FAILED || instance.state == Instance::STATE_ERROR} @view = filter_view? ? 'filter_view_show' : 'pretty_view_show'
- #TODO add links to real data for history,properties,permissions
- #TODO add links to real data for history, permissions, services @tabs = [{:name => 'Instances', :view => @view, :id => 'instances', :count => @deployment.instances.count}, {:name => 'Services', :view => @view, :id => 'services'}, {:name => 'History', :view => @view, :id => 'history'},
{:name => 'Properties', :view => @view, :id => 'properties'},
{:name => 'Properties', :view => 'properties', :id => 'properties'}, {:name => 'Permissions', :view => @view, :id => 'permissions'} ] details_tab_name = params[:details_tab].blank? ? 'instances' : params[:details_tab] @details_tab = @tabs.find {|t| t[:id] == details_tab_name} || @tabs.first[:name].downcase
- @deployment_properties = @deployment.properties
- if params[:details_tab]
@view = @details_tab[:view]
- end respond_to do |format|
format.js { render :partial => @view }
format.js { render :partial => @details_tab[:view] } format.html { render :action => 'show'} format.json { render :json => @deployment } end
@@ -123,7 +130,10 @@ class DeploymentsController< ApplicationController respond_to do |format| if check_privilege(Privilege::MODIFY, @deployment) and @deployment.update_attributes(attrs) flash[:success] = t('deployments.updated', :count => 1, :list => @deployment.name)
format.js { render :partial => 'properties' }
format.js do
@deployment_properties = @deployment.properties
render :partial => 'properties'
end format.html { redirect_to @deployment } format.json { render :json => @deployment } else
diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb index 68c1b62..200199f 100644 --- a/src/app/controllers/pools_controller.rb +++ b/src/app/controllers/pools_controller.rb @@ -61,13 +61,13 @@ class PoolsController< ApplicationController #TODO add links to real data for history,properties,permissions @tabs = [{:name => 'Deployments', :view => @view, :id => 'deployments', :count => @pool.deployments.count}, {:name => 'History', :view => @view, :id => 'history'},
changed to
{:name => 'History', :view => 'history', :id => 'history'},
{:name => 'Properties', :view => @view, :id => 'properties'},
{:name => 'Properties', :view => 'properties', :id => 'properties'}, {:name => 'Permissions', :view => @view, :id => 'permissions'}
changed to
{:name => 'Permissions', :view => 'permissions', :id => 'permissions'}
] details_tab_name = params[:details_tab].blank? ? 'deployments' : params[:details_tab] @details_tab = @tabs.find {|t| t[:id] == details_tab_name} || @tabs.first[:name].downcase respond_to do |format|
format.js { render :partial => @view, :locals => {:deployments => @pool.deployments}}
format.js { render :partial => params[:only_tab] == "true" ? @details_tab[:view] : @view , :locals => {:deployments => @pool.deployments}} format.html { render :action => :show} format.json { render :json => @pool } end
diff --git a/src/app/models/deployment.rb b/src/app/models/deployment.rb index bcfd241..ea78cd8 100644 --- a/src/app/models/deployment.rb +++ b/src/app/models/deployment.rb @@ -195,4 +195,7 @@ class Deployment< ActiveRecord::Base end end
- def properties
- {:name => name, :owner => "#{owner.first_name} #{owner.last_name}", :created => created_at, :pool => pool.name}
- end end
diff --git a/src/app/views/deployments/_properties.haml b/src/app/views/deployments/_properties.haml index b5e27af..476b20a 100644 --- a/src/app/views/deployments/_properties.haml +++ b/src/app/views/deployments/_properties.haml @@ -1,9 +1,10 @@ -%h3
- = @deployment.name
-%ul
- %li
- Pool:
- = @deployment.pool.name
- %li
- Created:
- = @deployment.created_at
\ No newline at end of file +%table.properties_table
- %thead
- %tr
%th Property Name
%th Value
- %tbody
- -@deployment_properties.each do |key, value|
- %tr
%td=key.to_s.capitalize
%td=value
\ No newline at end of file diff --git a/src/app/views/deployments/show.haml b/src/app/views/deployments/show.haml index 6f92fdf..fdc6b99 100644 --- a/src/app/views/deployments/show.haml +++ b/src/app/views/deployments/show.haml @@ -12,6 +12,5 @@ %span.label.badge.count.dark=tab[:count] .section-controls %a.collapse{'href'=>'#'} Collapse
- .content.collapsible.toggle-view.pools
- %section.content-section.toggle-view#content
= render :partial => @view
\ No newline at end of file
- .content.collapsible.toggle-view.deployments#tab
- = render :partial => @view
\ No newline at end of file diff --git a/src/app/views/pools/show.haml b/src/app/views/pools/show.haml index 223aca9..68c51a3 100644 --- a/src/app/views/pools/show.haml +++ b/src/app/views/pools/show.haml @@ -17,6 +17,6 @@ %span.label.badge.count.dark=tab[:count] .section-controls %a.collapse{'href'=>'#'} Collapse
- .content.collapsible.toggle-view.pools
- .content.collapsible.toggle-view.pools#tab %ul.deployable-cards = render :partial => @view, :locals => {:deployments => @pool.deployments}
\ No newline at end of file diff --git a/src/features/deployment.feature b/src/features/deployment.feature index d11cf2a..85ef84b 100644 --- a/src/features/deployment.feature +++ b/src/features/deployment.feature @@ -151,3 +151,21 @@ Feature: Manage Deployments Then I should see "New Deployment in mockpool" And I should see "Deployment Details" And I should see "failed to get the deployable definition"
- Scenario: Show deployment switch to deployment properties and back
- Given there is a deployment named "testdeployment" belonging to "testdeployable" owned by "testuser"
- When I am on the deployments page
- And I follow "testdeployment"
- And I should see "testdeployment"
- And I follow "Properties"
- Then I should see the following:
| Property Name | Value |
| Pool | default_pool |
| Owner | John testuser |
| Name | testdeployment |
- When I follow "Instances"
- Then I should see "testdeployment"
Removed these blank lines ^^
diff --git a/src/public/javascripts/application.js b/src/public/javascripts/application.js index 5c9458f..975cf92 100644 --- a/src/public/javascripts/application.js +++ b/src/public/javascripts/application.js @@ -59,6 +59,27 @@ var Conductor = { } },
- tabAjaxRequest: function () {
- $('#tab-container-1-nav a').live("click",function(e) {
if (e.which==2||e.metaKey||e.ctrlKey||e.shiftKey) return true;
e.preventDefault();
var url = $(this).attr('href');
$.get(url, function(data) {
$('#tab').html(data)
.show();
});
Conductor.tabRemoveActiveClass();
$(this).addClass('active');
- });
- },
- tabRemoveActiveClass: function () {
- $('#tab-container-1-nav a').each(function(index) {
$(this).removeClass('active');
- });
- },
- enhanceListView: function () { $('#list-view table tbody a').live("click",function(e) { if (e.which==2||e.metaKey||e.ctrlKey||e.shiftKey) return true;
@@ -251,4 +272,5 @@ $(document).ready(function () { Conductor.multiDestroyValidation(); Conductor.closeNotification(); Conductor.enhanceUserMenu();
- Conductor.tabAjaxRequest(); });
diff --git a/src/spec/models/deployment_spec.rb b/src/spec/models/deployment_spec.rb index 990d0d1..bde2358 100644 --- a/src/spec/models/deployment_spec.rb +++ b/src/spec/models/deployment_spec.rb @@ -66,4 +66,8 @@ describe Deployment do @deployment.instances.count.should == 2 end
- it "should return properties hash" do
- @deployment.properties.should be_a_kind_of(Hash)
- @deployment.properties.should == {:created=>nil, :pool=>@deployment.pool.name, :owner=>"John Smith", :name=>@deployment.name}
- end end
ACK & pushed w/ small fixies. (mentioned inline)