From e23744bd8dbdd9c0beef84e8920fc258f332197c Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sun, 1 Nov 2009 13:07:46 +0000 Subject: [PATCH] Add :warning and :error flash messages which can be styled separately to the existing :notice messages. Also reviewd all existing flash messages and changed them to be errors or warnings when appropriate and checked that those which are not followed by a redirect are done as flash.now[] instead of flash[]. --- app/controllers/application_controller.rb | 2 +- app/controllers/message_controller.rb | 2 +- app/controllers/trace_controller.rb | 4 ++-- app/controllers/user_blocks_controller.rb | 8 ++++---- app/controllers/user_controller.rb | 22 +++++++++++----------- app/controllers/user_roles_controller.rb | 8 ++++---- app/views/layouts/site.html.erb | 6 ++++++ public/stylesheets/common.css | 14 ++++++++++++++ 8 files changed, 43 insertions(+), 23 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index ed007cad3..66ab92a5c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -47,7 +47,7 @@ class ApplicationController < ActionController::Base redirect_to params.merge(:cookie_test => "true") return false else - flash.now[:notice] = t 'application.require_cookies.cookies_needed' + flash.now[:warning] = t 'application.require_cookies.cookies_needed' end end end diff --git a/app/controllers/message_controller.rb b/app/controllers/message_controller.rb index 18b286973..73abc68cc 100644 --- a/app/controllers/message_controller.rb +++ b/app/controllers/message_controller.rb @@ -16,7 +16,7 @@ class MessageController < ApplicationController if @to_user if params[:message] if @user.sent_messages.count(:conditions => ["sent_on >= ?", Time.now.getutc - 1.hour]) >= APP_CONFIG['max_messages_per_hour'] - flash[:notice] = t 'message.new.limit_exceeded' + flash[:error] = t 'message.new.limit_exceeded' else @message = Message.new(params[:message]) @message.to_user_id = @to_user.id diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index 84026e8cd..2eaacbf34 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -117,11 +117,11 @@ class TraceController < ApplicationController (@trace.public? or @trace.user == @user) @title = t 'trace.view.title', :name => @trace.name else - flash[:notice] = t 'trace.view.trace_not_found' + flash[:error] = t 'trace.view.trace_not_found' redirect_to :controller => 'trace', :action => 'list' end rescue ActiveRecord::RecordNotFound - flash[:notice] = t 'trace.view.trace_not_found' + flash[:error] = t 'trace.view.trace_not_found' redirect_to :controller => 'trace', :action => 'list' end diff --git a/app/controllers/user_blocks_controller.rb b/app/controllers/user_blocks_controller.rb index fd9f03c4a..75c9df9dc 100644 --- a/app/controllers/user_blocks_controller.rb +++ b/app/controllers/user_blocks_controller.rb @@ -60,7 +60,7 @@ class UserBlocksController < ApplicationController end if @user_block.creator_id != @user.id - flash[:notice] = t('user_block.update.only_creator_can_edit') + flash[:error] = t('user_block.update.only_creator_can_edit') redirect_to :action => "edit" return end @@ -112,7 +112,7 @@ class UserBlocksController < ApplicationController # and return them to the blocks index. def require_moderator unless @user.moderator? - flash[:notice] = t('user_block.filter.not_a_moderator') + flash[:error] = t('user_block.filter.not_a_moderator') redirect_to :action => 'index' end end @@ -143,10 +143,10 @@ class UserBlocksController < ApplicationController @valid_params = false if !UserBlock::PERIODS.include?(@block_period) - flash[:notice] = t('user_block.filter.block_period') + flash[:error] = t('user_block.filter.block_period') elsif @user_block and !@user_block.active? - flash[:notice] = t('user_block.filter.block_expired') + flash[:error] = t('user_block.filter.block_expired') else @valid_params = true diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 3a65cea0a..ca84d7701 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -65,10 +65,10 @@ class UserController < ApplicationController set_locale if params[:user][:email] == @user.new_email - flash[:notice] = t 'user.account.flash update success confirm needed' + flash.now[:notice] = t 'user.account.flash update success confirm needed' Notifier.deliver_email_confirm(@user, @user.tokens.create) else - flash[:notice] = t 'user.account.flash update success' + flash.now[:notice] = t 'user.account.flash update success' end end end @@ -103,7 +103,7 @@ class UserController < ApplicationController Notifier.deliver_lost_password(user, token) flash.now[:notice] = t 'user.lost_password.notice email on way' else - flash.now[:notice] = t 'user.lost_password.notice email cannot find' + flash.now[:error] = t 'user.lost_password.notice email cannot find' end end end @@ -130,7 +130,7 @@ class UserController < ApplicationController end end else - flash[:notice] = t 'user.reset_password.flash token bad' + flash[:error] = t 'user.reset_password.flash token bad' redirect_to :action => 'lost_password' end end @@ -152,9 +152,9 @@ class UserController < ApplicationController if user session[:user] = user.id elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true) - flash.now[:notice] = t 'user.login.account not active' + flash.now[:error] = t 'user.login.account not active' else - flash.now[:notice] = t 'user.login.auth failure' + flash.now[:error] = t 'user.login.auth failure' end end @@ -211,7 +211,7 @@ class UserController < ApplicationController redirect_to :action => 'account', :display_name => @user.display_name end else - flash.now[:notice] = t 'user.confirm.failure' + flash.now[:error] = t 'user.confirm.failure' end end end @@ -231,7 +231,7 @@ class UserController < ApplicationController session[:user] = @user.id redirect_to :action => 'account', :display_name => @user.display_name else - flash.now[:notice] = t 'user.confirm_email.failure' + flash.now[:error] = t 'user.confirm_email.failure' end end end @@ -284,7 +284,7 @@ class UserController < ApplicationController friend.add_error(t('user.make_friend.failed', :name => name)) end else - flash[:notice] = t 'user.make_friend.already_a_friend', :name => name + flash[:warning] = t 'user.make_friend.already_a_friend', :name => name end redirect_to :controller => 'user', :action => 'view' @@ -299,7 +299,7 @@ class UserController < ApplicationController Friend.delete_all "user_id = #{@user.id} AND friend_user_id = #{friend.id}" flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name else - flash[:notice] = t 'user.remove_friend.not_a_friend', :name => friend.display_name + flash[:error] = t 'user.remove_friend.not_a_friend', :name => friend.display_name end redirect_to :controller => 'user', :action => 'view' @@ -346,7 +346,7 @@ private # and return them to the user page. def require_administrator unless @user.administrator? - flash[:notice] = t('user.filter.not_an_administrator') + flash[:error] = t('user.filter.not_an_administrator') redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name] end end diff --git a/app/controllers/user_roles_controller.rb b/app/controllers/user_roles_controller.rb index ee4de7ce0..2d867d2d8 100644 --- a/app/controllers/user_roles_controller.rb +++ b/app/controllers/user_roles_controller.rb @@ -23,7 +23,7 @@ class UserRolesController < ApplicationController private def require_administrator unless @user.administrator? - flash[:notice] = t'user_role.filter.not_an_administrator' + flash[:error] = t'user_role.filter.not_an_administrator' redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name end end @@ -58,7 +58,7 @@ class UserRolesController < ApplicationController def require_valid_role @role = params[:role] unless UserRole::ALL_ROLES.include?(@role) - flash[:notice] = t('user_role.filter.not_a_role', :role => @role) + flash[:error] = t('user_role.filter.not_a_role', :role => @role) redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name end end @@ -67,7 +67,7 @@ class UserRolesController < ApplicationController # checks that the user doesn't already have this role def not_in_role if @this_user.has_role? @role - flash[:notice] = t('user_role.filter.already_has_role', :role => @role) + flash[:error] = t('user_role.filter.already_has_role', :role => @role) redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name end end @@ -76,7 +76,7 @@ class UserRolesController < ApplicationController # checks that the user already has this role def in_role unless @this_user.has_role? @role - flash[:notice] = t('user_role.filter.doesnt_have_role', :role => @role) + flash[:error] = t('user_role.filter.doesnt_have_role', :role => @role) redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name end end diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index 34738f73b..cc30ee65a 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -18,6 +18,12 @@
+ <% if flash[:error] %> +
<%= flash[:error] %>
+ <% end %> + <% if flash[:warning] %> +
<%= flash[:warning] %>
+ <% end %> <% if flash[:notice] %>
<%= flash[:notice] %>
<% end %> diff --git a/public/stylesheets/common.css b/public/stylesheets/common.css index b05dcc3d9..aa40f689a 100644 --- a/public/stylesheets/common.css +++ b/public/stylesheets/common.css @@ -545,6 +545,20 @@ hr { display: table; } +#error { + border: 1px solid red; + padding: 7px; + background-color: #fff0f0; + margin-bottom: 20px; +} + +#warning { + border: 1px solid orange; + padding: 7px; + background-color: #fff6f0; + margin-bottom: 20px; +} + #notice { border: 1px solid green; padding: 7px; -- 2.43.2