[PATCH conductor] Error displayed after provider destroy fails

Tomas Hrcka thrcka at redhat.com
Mon Dec 19 13:40:58 UTC 2011


---
 src/app/controllers/providers_controller.rb |   13 ++++++++-----
 src/config/locales/en.yml                   |    3 ++-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb
index 1d568f1..efd00b7 100644
--- a/src/app/controllers/providers_controller.rb
+++ b/src/app/controllers/providers_controller.rb
@@ -20,7 +20,6 @@ class ProvidersController < ApplicationController
 
   def index
     @params = params
-
     begin
       @provider = Provider.find(session[:current_provider_id]) if session[:current_provider_id]
     rescue ActiveRecord::RecordNotFound => exc
@@ -32,7 +31,7 @@ class ProvidersController < ApplicationController
     respond_to do |format|
       format.html do
         if @providers.present?
-          redirect_to edit_provider_path(@provider), :notice => flash[:notice]
+          redirect_to edit_provider_path(@provider), :flash => { :notice => flash[:notice], :error => flash[:error] }
         else
           render :action => :index
         end
@@ -148,11 +147,15 @@ class ProvidersController < ApplicationController
   def destroy
     provider = Provider.find(params[:id])
     require_privilege(Privilege::MODIFY, provider)
-    provider.destroy
-    session[:current_provider_id] = nil
+    if provider.destroy
+      session[:current_provider_id] = nil
+      flash[:notice] = t("providers.flash.notice.deleted")
+    else
+      flash[:error] = t("providers.flash.error.not_deleted", :errors => provider.errors)
+    end
 
     respond_to do |format|
-      format.html { redirect_to providers_path, :notice => t("providers.index.deleted") }
+      format.html { redirect_to providers_path }
     end
   end
 
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 7189c5f..6d2d9d0 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -886,7 +886,6 @@ en:
       provider_type: Provider Type
       x_deltacloud_driver: X-Deltacloud-Driver
       x_deltacloud_provider: X-Deltacloud-Provider
-      deleted: "Provider has been successfully deleted."
       no_providers_available: No providers available. Please create one first.
       create_new_provider: "Create New Provider"
     new:
@@ -913,9 +912,11 @@ en:
         added: "Provider added."
         updated: "Provider updated."
         connected: "Successfully Connected to Provider"
+        deleted: "Provider has been successfully deleted."
       error:
         not_added: "Cannot add the provider."
         not_updated: "Cannot update the provider."
+        not_deleted: "Provider was not deleted, because of errors %{errors}"
       warning:
         connect_failed: "Failed to connect to Provider!"
     alerts:
-- 
1.7.7.4




More information about the aeolus-devel mailing list