Created
January 12, 2010 02:44
-
-
Save mtyaka/274829 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 44386ff6756413d4f0f1f2feab8de18293a70764 Mon Sep 17 00:00:00 2001 | |
From: Matjaz Gregoric <mtyaka@gmail.com> | |
Date: Tue, 12 Jan 2010 03:03:16 +0100 | |
Subject: [PATCH 1/2] Add option to configure flash keys. | |
--- | |
app/controllers/confirmations_controller.rb | 4 ++-- | |
app/controllers/passwords_controller.rb | 4 ++-- | |
app/controllers/sessions_controller.rb | 8 ++++---- | |
generators/devise_install/templates/devise.rb | 5 +++++ | |
lib/devise.rb | 5 +++++ | |
5 files changed, 18 insertions(+), 8 deletions(-) | |
diff --git a/app/controllers/confirmations_controller.rb b/app/controllers/confirmations_controller.rb | |
index 99193f6..34f1c0d 100644 | |
--- a/app/controllers/confirmations_controller.rb | |
+++ b/app/controllers/confirmations_controller.rb | |
@@ -12,7 +12,7 @@ class ConfirmationsController < ApplicationController | |
self.resource = resource_class.send_confirmation_instructions(params[resource_name]) | |
if resource.errors.empty? | |
- set_flash_message :success, :send_instructions | |
+ set_flash_message Devise.success_flash_key, :send_instructions | |
redirect_to new_session_path(resource_name) | |
else | |
render_with_scope :new | |
@@ -24,7 +24,7 @@ class ConfirmationsController < ApplicationController | |
self.resource = resource_class.confirm!(:confirmation_token => params[:confirmation_token]) | |
if resource.errors.empty? | |
- set_flash_message :success, :confirmed | |
+ set_flash_message Devise.success_flash_key, :confirmed | |
sign_in_and_redirect(resource_name, resource) | |
else | |
render_with_scope :new | |
diff --git a/app/controllers/passwords_controller.rb b/app/controllers/passwords_controller.rb | |
index 6356b5e..63fffbb 100644 | |
--- a/app/controllers/passwords_controller.rb | |
+++ b/app/controllers/passwords_controller.rb | |
@@ -14,7 +14,7 @@ class PasswordsController < ApplicationController | |
self.resource = resource_class.send_reset_password_instructions(params[resource_name]) | |
if resource.errors.empty? | |
- set_flash_message :success, :send_instructions | |
+ set_flash_message Devise.success_flash_key, :send_instructions | |
redirect_to new_session_path(resource_name) | |
else | |
render_with_scope :new | |
@@ -33,7 +33,7 @@ class PasswordsController < ApplicationController | |
self.resource = resource_class.reset_password!(params[resource_name]) | |
if resource.errors.empty? | |
- set_flash_message :success, :updated | |
+ set_flash_message Devise.success_flash_key, :updated | |
sign_in_and_redirect(resource_name, resource) | |
else | |
render_with_scope :edit | |
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb | |
index 60a4ff8..4e24883 100644 | |
--- a/app/controllers/sessions_controller.rb | |
+++ b/app/controllers/sessions_controller.rb | |
@@ -6,7 +6,7 @@ class SessionsController < ApplicationController | |
# GET /resource/sign_in | |
def new | |
Devise::FLASH_MESSAGES.each do |message| | |
- set_now_flash_message :failure, message if params.try(:[], message) == "true" | |
+ set_now_flash_message Devise.failure_flash_key, message if params.try(:[], message) == "true" | |
end | |
build_resource | |
render_with_scope :new | |
@@ -15,10 +15,10 @@ class SessionsController < ApplicationController | |
# POST /resource/sign_in | |
def create | |
if authenticate(resource_name) | |
- set_flash_message :success, :signed_in | |
+ set_flash_message Devise.success_flash_key, :signed_in | |
sign_in_and_redirect(resource_name) | |
else | |
- set_now_flash_message :failure, warden.message || :invalid | |
+ set_now_flash_message Devise.failure_flash_key, warden.message || :invalid | |
build_resource | |
render_with_scope :new | |
end | |
@@ -26,7 +26,7 @@ class SessionsController < ApplicationController | |
# GET /resource/sign_out | |
def destroy | |
- set_flash_message :success, :signed_out if signed_in?(resource_name) | |
+ set_flash_message Devise.success_flash_key, :signed_out if signed_in?(resource_name) | |
sign_out_and_redirect(resource_name) | |
end | |
diff --git a/generators/devise_install/templates/devise.rb b/generators/devise_install/templates/devise.rb | |
index bf295eb..dae5281 100644 | |
--- a/generators/devise_install/templates/devise.rb | |
+++ b/generators/devise_install/templates/devise.rb | |
@@ -45,6 +45,11 @@ Devise.setup do |config| | |
# time the user will be asked for credentials again. | |
# config.timeout_in = 10.minutes | |
+ # Configure keys used for flash messages. By default, devise uses :success and | |
+ # :failure keys. | |
+ # config.success_flash_key = :notice | |
+ # config.failure_flash_key = :error | |
+ | |
# Load and configure the ORM. Supports :active_record, :data_mapper and :mongo_mapper. | |
# require 'devise/orm/mongo_mapper' | |
# config.orm = :mongo_mapper | |
diff --git a/lib/devise.rb b/lib/devise.rb | |
index 085209a..754ded1 100644 | |
--- a/lib/devise.rb | |
+++ b/lib/devise.rb | |
@@ -88,6 +88,11 @@ module Devise | |
mattr_accessor :mappings | |
@@mappings = {} | |
+ # Stores keys used for flash messages. | |
+ mattr_accessor :success_flash_key, :failure_flash_key | |
+ @@success_flash_key = :success | |
+ @@failure_flash_key = :failure | |
+ | |
# Stores the chosen ORM. | |
mattr_accessor :orm | |
@@orm = :active_record | |
-- | |
1.6.4.msysgit.0 | |
From 0ab6791b955bd2d37292cf2275f9c4f2ecd1e0d9 Mon Sep 17 00:00:00 2001 | |
From: Matjaz Gregoric <mtyaka@gmail.com> | |
Date: Tue, 12 Jan 2010 03:36:20 +0100 | |
Subject: [PATCH 2/2] Update the README. | |
--- | |
README.rdoc | 4 +++- | |
1 files changed, 3 insertions(+), 1 deletions(-) | |
diff --git a/README.rdoc b/README.rdoc | |
index 726648e..c7accf5 100644 | |
--- a/README.rdoc | |
+++ b/README.rdoc | |
@@ -185,7 +185,9 @@ You can also copy devise views to your application, being able to modify them ba | |
This is gonna copy all session, password, confirmation and mailer views to your app/views folder. | |
-== I18n | |
+== Flash messages and I18n | |
+ | |
+Devise uses flash keys :success and :failure by default. These can be changed in the devise initializer if you want to use different flash keys (such as :notice and :alert). | |
Devise uses flash messages with I18n with the flash keys :success and :failure. To customize your app, you can setup your locale file this way: | |
-- | |
1.6.4.msysgit.0 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment