summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/user.rb4
-rw-r--r--config/initializers/devise.rb2
-rw-r--r--db/migrate/20131009115346_add_confirmable_to_users.rb15
-rw-r--r--db/schema.rb7
4 files changed, 25 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 29c53b88331..22292de40a6 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -43,7 +43,7 @@ require 'file_size_validator'
class User < ActiveRecord::Base
devise :database_authenticatable, :token_authenticatable, :lockable, :async,
- :recoverable, :rememberable, :trackable, :validatable, :omniauthable, :registerable
+ :recoverable, :rememberable, :trackable, :validatable, :omniauthable, :confirmable, :registerable
attr_accessible :email, :password, :password_confirmation, :remember_me, :bio, :name, :username,
:skype, :linkedin, :twitter, :color_scheme_id, :theme_id, :force_random_password,
@@ -398,4 +398,4 @@ class User < ActiveRecord::Base
self
end
-end \ No newline at end of file
+end
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 39c1b7c235b..b7cb808d2e5 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -54,6 +54,8 @@ Devise.setup do |config|
# The realm used in Http Basic Authentication. "Application" by default.
# config.http_authentication_realm = "Application"
+ config.reconfirmable = true
+
# It will change confirmation, password recovery and other workflows
# to behave the same regardless if the e-mail provided was right or wrong.
# Does not affect registerable.
diff --git a/db/migrate/20131009115346_add_confirmable_to_users.rb b/db/migrate/20131009115346_add_confirmable_to_users.rb
new file mode 100644
index 00000000000..249cbe704ed
--- /dev/null
+++ b/db/migrate/20131009115346_add_confirmable_to_users.rb
@@ -0,0 +1,15 @@
+class AddConfirmableToUsers < ActiveRecord::Migration
+ def self.up
+ add_column :users, :confirmation_token, :string
+ add_column :users, :confirmed_at, :datetime
+ add_column :users, :confirmation_sent_at, :datetime
+ add_column :users, :unconfirmed_email, :string
+ add_index :users, :confirmation_token, unique: true
+ User.update_all(confirmed_at: Time.now)
+ end
+
+ def self.down
+ remove_column :users, :confirmation_token, :confirmed_at, :confirmation_sent_at
+ remove_column :users, :unconfirmed_email
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index b3bc31c76dd..d6acb2f90e9 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20131005191208) do
+ActiveRecord::Schema.define(:version => 20131009115346) do
create_table "deploy_keys_projects", :force => true do |t|
t.integer "deploy_key_id", :null => false
@@ -284,10 +284,15 @@ ActiveRecord::Schema.define(:version => 20131005191208) do
t.datetime "password_expires_at"
t.integer "created_by_id"
t.string "avatar"
+ t.string "confirmation_token"
+ t.datetime "confirmed_at"
+ t.datetime "confirmation_sent_at"
+ t.string "unconfirmed_email"
end
add_index "users", ["admin"], :name => "index_users_on_admin"
add_index "users", ["authentication_token"], :name => "index_users_on_authentication_token", :unique => true
+ add_index "users", ["confirmation_token"], :name => "index_users_on_confirmation_token", :unique => true
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
add_index "users", ["extern_uid", "provider"], :name => "index_users_on_extern_uid_and_provider", :unique => true
add_index "users", ["name"], :name => "index_users_on_name"