[PATCH conductor] Error displayed after provider destroy fails
Imre Farkas
ifarkas at redhat.com
Tue Dec 27 13:16:29 UTC 2011
On 12/19/2011 02:40 PM, Tomas Hrcka wrote:
> ---
> 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] }
I would recommend using the flash.keep method here, making it a little
bit more readable.
> 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:
ACK, just one inline note.
More information about the aeolus-devel
mailing list