---
src/app/controllers/pools_controller.rb | 17 ++++++++++++-----
src/app/views/deployments/_filter_view.haml | 2 +-
src/app/views/deployments/_pretty_view.haml | 2 +-
src/app/views/pools/_deployments.haml | 3 ++-
src/app/views/pools/_header_show.haml | 2 +-
src/app/views/pools/_history.haml | 3 ---
src/app/views/pools/_history_filter.haml | 2 ++
src/app/views/pools/_history_pretty.haml | 2 ++
src/app/views/pools/_permissions.haml | 3 +--
src/app/views/pools/_pretty_list.haml | 2 +-
src/app/views/pools/show.haml | 4 ++--
src/features/pool.feature | 1 -
src/public/javascripts/application.js | 19 ++++++++++++++++++-
13 files changed, 43 insertions(+), 19 deletions(-)
delete mode 100644 src/app/views/pools/_history.haml
create mode 100644 src/app/views/pools/_history_filter.haml
create mode 100644 src/app/views/pools/_history_pretty.haml
diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb
index 9e3b060..bb166d2 100644
--- a/src/app/controllers/pools_controller.rb
+++ b/src/app/controllers/pools_controller.rb
@@ -18,7 +18,7 @@ class PoolsController < ApplicationController
def index
clear_breadcrumbs
- save_breadcrumb(pools_path(:viewstate => @viewstate ? @viewstate.id : nil))
+ save_breadcrumb(pools_path(:viewstate => viewstate_id))
@user_pools = Pool.list_for_user(current_user, Privilege::VIEW)
if filter_view?
@@ -59,20 +59,27 @@ class PoolsController < ApplicationController
def show
@pool = Pool.find(params[:id])
- save_breadcrumb(pool_path(@pool), @pool.name)
+ save_breadcrumb(pool_path(@pool, :vievstate => viewstate_id), @pool.name)
require_privilege(Privilege::VIEW, @pool)
@statistics = @pool.statistics
- @view = filter_view? ? 'deployments/filter_view' : 'deployments/pretty_view'
+ @view = filter_view? ? 'deployments/filter_view' : 'deployments/pretty_view' unless params[:details_tab]
+ if params[:details_tab] == 'deployments'
+ @view = filter_view? ? 'deployments/filter_view' : 'deployments/pretty_view'
+ elsif params[:details_tab] == 'history'
+ @view = filter_view? ? 'history_filter' : 'history_pretty'
+ end
#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'},
{:name => 'Properties', :view => 'properties', :id => 'properties'},
- {:name => 'Permissions', :view => @view, :id => 'permissions'}
+ {: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
+ @deployments = @pool.deployments if @details_tab[:id] == 'deployments'
+ @view = @details_tab[:view]
respond_to do |format|
- format.js { render :partial => params[:only_tab] == "true" ? @details_tab[:view] : @view , :locals => {:deployments => @pool.deployments}}
+ format.js { render :partial => @view }
format.html { render :action => :show}
format.json { render :json => @pool }
end
diff --git a/src/app/views/deployments/_filter_view.haml b/src/app/views/deployments/_filter_view.haml
index 9812547..4b6a2f3 100644
--- a/src/app/views/deployments/_filter_view.haml
+++ b/src/app/views/deployments/_filter_view.haml
@@ -1,4 +1,4 @@
-= filter_table(@deployments_header, deployments) do |deployment|
+= filter_table(@deployments_header, @deployments) do |deployment|
%tr
%td
%input{:name => "deployment_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}" }
diff --git a/src/app/views/deployments/_pretty_view.haml b/src/app/views/deployments/_pretty_view.haml
index 5721367..b62f0f8 100644
--- a/src/app/views/deployments/_pretty_view.haml
+++ b/src/app/views/deployments/_pretty_view.haml
@@ -1 +1 @@
-= render :partial => deployments
\ No newline at end of file
+= render :partial => @deployments
\ No newline at end of file
diff --git a/src/app/views/pools/_deployments.haml b/src/app/views/pools/_deployments.haml
index ea2ddb3..23e6a78 100644
--- a/src/app/views/pools/_deployments.haml
+++ b/src/app/views/pools/_deployments.haml
@@ -1,4 +1,5 @@
-- deployments.in_groups_of(5, false) do |group|
+- @deployments ||= deployments
+- @deployments.in_groups_of(5, false) do |group|
%ul.deployment-array.small
- group.each do |deployment|
%li.deployment
diff --git a/src/app/views/pools/_header_show.haml b/src/app/views/pools/_header_show.haml
index f8d9f40..9ccb8f9 100644
--- a/src/app/views/pools/_header_show.haml
+++ b/src/app/views/pools/_header_show.haml
@@ -3,7 +3,7 @@
= [@pool.name, "Pool"].join(' ')
#obj_actions.button-container
.button-group
- = pretty_filter_toggle(pool_path(@pool, :view => 'pretty'), pool_path(@pool, :view => 'filter'))
+ = pretty_filter_toggle(pool_path(@pool, :view => 'pretty', :details_tab => @details_tab[:id]), pool_path(@pool, :view => 'filter', :details_tab => @details_tab[:id]))
= link_to 'New Deployment', launch_new_deployments_path(:pool_id => @pool.id), :class => 'button primary', :id => 'new_deployment_button'
.button-group
= link_to 'Edit', edit_pool_path(@pool), :class => 'button pill', :id => 'edit_pool_button'
diff --git a/src/app/views/pools/_history.haml b/src/app/views/pools/_history.haml
deleted file mode 100644
index 4769d92..0000000
--- a/src/app/views/pools/_history.haml
+++ /dev/null
@@ -1,3 +0,0 @@
-%h3
- History for
- = @pool.name
diff --git a/src/app/views/pools/_history_filter.haml b/src/app/views/pools/_history_filter.haml
new file mode 100644
index 0000000..709dabe
--- /dev/null
+++ b/src/app/views/pools/_history_filter.haml
@@ -0,0 +1,2 @@
+%h3
+ History(filter view) has not been implemented yet.
diff --git a/src/app/views/pools/_history_pretty.haml b/src/app/views/pools/_history_pretty.haml
new file mode 100644
index 0000000..f3aa855
--- /dev/null
+++ b/src/app/views/pools/_history_pretty.haml
@@ -0,0 +1,2 @@
+%h3
+ History(pretty view) has not been implemented yet.
diff --git a/src/app/views/pools/_permissions.haml b/src/app/views/pools/_permissions.haml
index fbd252e..43e570f 100644
--- a/src/app/views/pools/_permissions.haml
+++ b/src/app/views/pools/_permissions.haml
@@ -1,3 +1,2 @@
%h3
- Permissions for
- = @pool.name
+ Permissions have not been implemented yet.
diff --git a/src/app/views/pools/_pretty_list.haml b/src/app/views/pools/_pretty_list.haml
index dd6785b..9c6ee86 100644
--- a/src/app/views/pools/_pretty_list.haml
+++ b/src/app/views/pools/_pretty_list.haml
@@ -7,7 +7,7 @@
%div.pool.overview{:id => ['pool', pool.id], :class => ('collapsed' unless pool.deployments.count > 0)}
%header
%h3.name
- %a{:href => pool_path(pool)}= pool.name
+ = link_to pool.name, pool
%dl.statistics
%ul.groups
%li
diff --git a/src/app/views/pools/show.haml b/src/app/views/pools/show.haml
index 68c51a3..eebff5e 100644
--- a/src/app/views/pools/show.haml
+++ b/src/app/views/pools/show.haml
@@ -11,7 +11,7 @@
%ul#tab-container-1-nav
- @tabs.each do |tab|
%li
- %a{ :href => url_for(:details_tab => tab[:id], :only_tab => true), :id => "details_#{tab[:id]}", :class => "#{'active' if @details_tab[:id] == tab[:id]}"}
+ %a{ :href => url_for(:details_tab => tab[:id], :only_tab => true), :id => "details_#{tab[:id]}", :class => "#{'active' if @details_tab[:id] == tab[:id]} show"}
= tab[:name]
-if tab[:count]
%span.label.badge.count.dark=tab[:count]
@@ -19,4 +19,4 @@
%a.collapse{'href'=>'#'} Collapse
.content.collapsible.toggle-view.pools#tab
%ul.deployable-cards
- = render :partial => @view, :locals => {:deployments => @pool.deployments}
\ No newline at end of file
+ = render :partial => @view
diff --git a/src/features/pool.feature b/src/features/pool.feature
index c5867ef..9215efc 100644
--- a/src/features/pool.feature
+++ b/src/features/pool.feature
@@ -33,7 +33,6 @@ Feature: Manage Pools
Then I should get back a partial
And I should see "mockpool"
- @tag
Scenario: View Pool's Quota Usage
Given I have Pool Creator permissions on a pool named "mockpool"
And the "mockpool" Pool has a quota with following capacities:
diff --git a/src/public/javascripts/application.js b/src/public/javascripts/application.js
index 975cf92..fba9703 100644
--- a/src/public/javascripts/application.js
+++ b/src/public/javascripts/application.js
@@ -69,9 +69,26 @@ var Conductor = {
$('#tab').html(data)
.show();
});
+
+ if ($(this).hasClass("show"))
+ $.get('/pools/show/viewstate', function(data){
+ var data = JSON.parse(data);
+ Conductor.setupToogleTypeViewUrl(data.details_tab);
+ });
+
Conductor.tabRemoveActiveClass();
$(this).addClass('active');
- });
+ });
+ },
+
+ setupToogleTypeViewUrl: function (tab) {
+ var oldPrettyUrl = $("span.view-toggle a#pretty_view").attr('href');
+ var oldFilterUrl = $("span.view-toggle a#filter_view").attr('href');
+ var prettyUrl = oldPrettyUrl.replace(/tab=.*&/, "tab=" + tab + "&");
+ var filterUrl = oldFilterUrl.replace(/tab=.*&/, "tab=" + tab + "&");
+ $("span.view-toggle a#pretty_view").attr('href', prettyUrl);
+ $("span.view-toggle a#filter_view").attr('href', filterUrl);
+
},
tabRemoveActiveClass: function () {
--
1.7.4.4