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[].
This commit is contained in:
Tom Hughes 2009-11-01 13:07:46 +00:00
parent 2541ad0f09
commit e23744bd8d
8 changed files with 43 additions and 23 deletions

View file

@ -47,7 +47,7 @@ class ApplicationController < ActionController::Base
redirect_to params.merge(:cookie_test => "true") redirect_to params.merge(:cookie_test => "true")
return false return false
else else
flash.now[:notice] = t 'application.require_cookies.cookies_needed' flash.now[:warning] = t 'application.require_cookies.cookies_needed'
end end
end end
end end

View file

@ -16,7 +16,7 @@ class MessageController < ApplicationController
if @to_user if @to_user
if params[:message] if params[:message]
if @user.sent_messages.count(:conditions => ["sent_on >= ?", Time.now.getutc - 1.hour]) >= APP_CONFIG['max_messages_per_hour'] 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 else
@message = Message.new(params[:message]) @message = Message.new(params[:message])
@message.to_user_id = @to_user.id @message.to_user_id = @to_user.id

View file

@ -117,11 +117,11 @@ class TraceController < ApplicationController
(@trace.public? or @trace.user == @user) (@trace.public? or @trace.user == @user)
@title = t 'trace.view.title', :name => @trace.name @title = t 'trace.view.title', :name => @trace.name
else else
flash[:notice] = t 'trace.view.trace_not_found' flash[:error] = t 'trace.view.trace_not_found'
redirect_to :controller => 'trace', :action => 'list' redirect_to :controller => 'trace', :action => 'list'
end end
rescue ActiveRecord::RecordNotFound 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' redirect_to :controller => 'trace', :action => 'list'
end end

View file

@ -60,7 +60,7 @@ class UserBlocksController < ApplicationController
end end
if @user_block.creator_id != @user.id 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" redirect_to :action => "edit"
return return
end end
@ -112,7 +112,7 @@ class UserBlocksController < ApplicationController
# and return them to the blocks index. # and return them to the blocks index.
def require_moderator def require_moderator
unless @user.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' redirect_to :action => 'index'
end end
end end
@ -143,10 +143,10 @@ class UserBlocksController < ApplicationController
@valid_params = false @valid_params = false
if !UserBlock::PERIODS.include?(@block_period) 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? elsif @user_block and !@user_block.active?
flash[:notice] = t('user_block.filter.block_expired') flash[:error] = t('user_block.filter.block_expired')
else else
@valid_params = true @valid_params = true

View file

@ -65,10 +65,10 @@ class UserController < ApplicationController
set_locale set_locale
if params[:user][:email] == @user.new_email 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) Notifier.deliver_email_confirm(@user, @user.tokens.create)
else else
flash[:notice] = t 'user.account.flash update success' flash.now[:notice] = t 'user.account.flash update success'
end end
end end
end end
@ -103,7 +103,7 @@ class UserController < ApplicationController
Notifier.deliver_lost_password(user, token) Notifier.deliver_lost_password(user, token)
flash.now[:notice] = t 'user.lost_password.notice email on way' flash.now[:notice] = t 'user.lost_password.notice email on way'
else 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 end
end end
@ -130,7 +130,7 @@ class UserController < ApplicationController
end end
end end
else else
flash[:notice] = t 'user.reset_password.flash token bad' flash[:error] = t 'user.reset_password.flash token bad'
redirect_to :action => 'lost_password' redirect_to :action => 'lost_password'
end end
end end
@ -152,9 +152,9 @@ class UserController < ApplicationController
if user if user
session[:user] = user.id session[:user] = user.id
elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true) 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 else
flash.now[:notice] = t 'user.login.auth failure' flash.now[:error] = t 'user.login.auth failure'
end end
end end
@ -211,7 +211,7 @@ class UserController < ApplicationController
redirect_to :action => 'account', :display_name => @user.display_name redirect_to :action => 'account', :display_name => @user.display_name
end end
else else
flash.now[:notice] = t 'user.confirm.failure' flash.now[:error] = t 'user.confirm.failure'
end end
end end
end end
@ -231,7 +231,7 @@ class UserController < ApplicationController
session[:user] = @user.id session[:user] = @user.id
redirect_to :action => 'account', :display_name => @user.display_name redirect_to :action => 'account', :display_name => @user.display_name
else else
flash.now[:notice] = t 'user.confirm_email.failure' flash.now[:error] = t 'user.confirm_email.failure'
end end
end end
end end
@ -284,7 +284,7 @@ class UserController < ApplicationController
friend.add_error(t('user.make_friend.failed', :name => name)) friend.add_error(t('user.make_friend.failed', :name => name))
end end
else else
flash[:notice] = t 'user.make_friend.already_a_friend', :name => name flash[:warning] = t 'user.make_friend.already_a_friend', :name => name
end end
redirect_to :controller => 'user', :action => 'view' 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}" Friend.delete_all "user_id = #{@user.id} AND friend_user_id = #{friend.id}"
flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name
else 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 end
redirect_to :controller => 'user', :action => 'view' redirect_to :controller => 'user', :action => 'view'
@ -346,7 +346,7 @@ private
# and return them to the user page. # and return them to the user page.
def require_administrator def require_administrator
unless @user.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] redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
end end
end end

View file

@ -23,7 +23,7 @@ class UserRolesController < ApplicationController
private private
def require_administrator def require_administrator
unless @user.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 redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
end end
end end
@ -58,7 +58,7 @@ class UserRolesController < ApplicationController
def require_valid_role def require_valid_role
@role = params[:role] @role = params[:role]
unless UserRole::ALL_ROLES.include?(@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 redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
end end
end end
@ -67,7 +67,7 @@ class UserRolesController < ApplicationController
# checks that the user doesn't already have this role # checks that the user doesn't already have this role
def not_in_role def not_in_role
if @this_user.has_role? @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 redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
end end
end end
@ -76,7 +76,7 @@ class UserRolesController < ApplicationController
# checks that the user already has this role # checks that the user already has this role
def in_role def in_role
unless @this_user.has_role? @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 redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
end end
end end

View file

@ -18,6 +18,12 @@
</head> </head>
<body> <body>
<div id="content"> <div id="content">
<% if flash[:error] %>
<div id="error"><%= flash[:error] %></div>
<% end %>
<% if flash[:warning] %>
<div id="warning"><%= flash[:warning] %></div>
<% end %>
<% if flash[:notice] %> <% if flash[:notice] %>
<div id="notice"><%= flash[:notice] %></div> <div id="notice"><%= flash[:notice] %></div>
<% end %> <% end %>

View file

@ -545,6 +545,20 @@ hr {
display: table; 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 { #notice {
border: 1px solid green; border: 1px solid green;
padding: 7px; padding: 7px;