On 10/14/2011 11:39 AM, Jirka Tomasek wrote:
---
src/app/controllers/providers_controller.rb | 4 +++-
src/features/provider.feature | 11 +++++++++++
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/src/app/controllers/providers_controller.rb
b/src/app/controllers/providers_controller.rb
index b60e9b4..1bdd4e2 100644
--- a/src/app/controllers/providers_controller.rb
+++ b/src/app/controllers/providers_controller.rb
@@ -22,7 +22,7 @@ class ProvidersController< ApplicationController
def index
@params = params
- @provider = @providers.first
+ @provider = session[:current_provider_id] ?
Provider.find(session[:current_provider_id]) : @providers.first
Provider can be deleted meantime, then Provider.find rises exception ->
we should add rescue block and set @provider.first in that case.
respond_to do |format|
format.html do
@@ -44,6 +44,7 @@ class ProvidersController< ApplicationController
def edit
@provider = Provider.find_by_id(params[:id])
+ session[:current_provider_id] = @provider.id
require_privilege(Privilege::MODIFY, @provider)
@alerts = provider_alerts(@provider)
@@ -142,6 +143,7 @@ class ProvidersController< ApplicationController
provider = Provider.find(params[:id])
require_privilege(Privilege::MODIFY, provider)
provider.destroy
+ session[:current_provider_id] = nil
respond_to do |format|
format.html { redirect_to providers_path, :notice =>
t("providers.index.deleted") }
diff --git a/src/features/provider.feature b/src/features/provider.feature
index 03f835a..dd4542a 100644
--- a/src/features/provider.feature
+++ b/src/features/provider.feature
@@ -92,6 +92,17 @@ Feature: Manage Providers
And I should see "Provider is disabled."
And I should not see "Error while stopping an instance"
+ Scenario: Persist selected provider
+ Given there is a provider named "provider1"
+ And there is a provider named "provider2"
+ When I am on the provider1's edit provider page
+ And I follow "Cloud Providers"
+ Then I should be on the provider1's edit provider page
+ When I am on the provider2's edit provider page
+ And I follow "Cloud Providers"
+ Then I should be on the provider2's edit provider page
+
+
# Scenario: Search for hardware profiles
# Given there are these providers:
# | name | url |
Hi, one note inline, could you please resend with that fix?
Jan