summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/controller_extension/flash.rb18
-rw-r--r--app/controllers/users_controller.rb5
2 files changed, 19 insertions, 4 deletions
diff --git a/app/controllers/controller_extension/flash.rb b/app/controllers/controller_extension/flash.rb
index 1642141..45072cf 100644
--- a/app/controllers/controller_extension/flash.rb
+++ b/app/controllers/controller_extension/flash.rb
@@ -4,9 +4,13 @@ module ControllerExtension::Flash
protected
def flash_for(resource, options = {})
- return unless resource.changed?
- add_flash_message_for resource
- add_flash_errors_for resource if options[:with_errors]
+ if resource.is_a? Exception
+ add_flash_message_for_exception resource
+ else
+ return unless resource.changed?
+ add_flash_message_for resource
+ add_flash_errors_for resource if options[:with_errors]
+ end
end
def add_flash_message_for(resource)
@@ -40,4 +44,12 @@ module ControllerExtension::Flash
flash[:error] += "<br>"
flash[:error] += resource.errors.full_messages.join(". <br>")
end
+
+ #
+ # This is pretty crude. It would be good to l10n in the future.
+ #
+ def add_flash_message_for_exception(exc)
+ flash[:error] = exc.to_s
+ end
+
end
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index dcf7607..3943afc 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -40,7 +40,10 @@ class UsersController < ApplicationController
## added so updating service level works, but not sure we will actually want this. also not sure that this is place to prevent user from updating own effective service level, but here as placeholder:
def update
@user.update_attributes(params[:user]) unless (!admin? and params[:user][:effective_service_level])
- respond_with @user
+ if @user.valid?
+ flash[:notice] = I18n.t(:changes_saved)
+ end
+ respond_with @user, :location => edit_user_path(@user)
end
def deactivate