Add :warning and :error flash messages which can be styled separately to
authorTom Hughes <tom@compton.nu>
Sun, 1 Nov 2009 13:07:46 +0000 (13:07 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 1 Nov 2009 13:07:46 +0000 (13:07 +0000)
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
app/controllers/message_controller.rb
app/controllers/trace_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/user_controller.rb
app/controllers/user_roles_controller.rb
app/views/layouts/site.html.erb
public/stylesheets/common.css

index ed007cad34c1ee1b0674fb67dafab322adb09419..66ab92a5cf379fa374d986a99261c72f170ee5d1 100644 (file)
@@ -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
index 18b286973cc0513f3bec72c8d9d78b1ca961bb81..73abc68cc2d9cfa7fbea7395ebbeadb5cf2f6340 100644 (file)
@@ -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
index 84026e8cd4d420f6f437778df8924db6c6179777..2eaacbf34fc2296161116511b6e6e763f97b6282 100644 (file)
@@ -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
 
index fd9f03c4a9c4315d614dbd1a0855fa1576bd4a4b..75c9df9dc90be24f13f1ebee83f895bd94d80e4f 100644 (file)
@@ -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
index 3a65cea0afdabe30250178752c655a62d70e4718..ca84d770199b347dc88a9f7555d30b25c4f6cce3 100644 (file)
@@ -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
index ee4de7ce092e1ff954bc7d937f80bf4318d48dfd..2d867d2d830ded02365bad71b5df5194b1b82832 100644 (file)
@@ -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
index 34738f73b9805897d80e29d0c7f45d12ec5ea007..cc30ee65af2aac10b94e38b67b40b1182f03a62d 100644 (file)
   </head>
   <body>
     <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] %>
         <div id="notice"><%= flash[:notice] %></div>
       <% end %>
index b05dcc3d9e69210a8441b560df765557ecc5e449..aa40f689af8b30030391672bb365d2298f8bd5f7 100644 (file)
@@ -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;