Merge pull request #271 from jmmastey/dont-reencrypt-password

fix user password field to not accidentally re-encrypt itself on save
This commit is contained in:
Ken Johnson
2017-10-02 18:58:02 -04:00
committed by GitHub
2 changed files with 4 additions and 9 deletions
+1 -3
View File
@@ -29,10 +29,8 @@ class UsersController < ApplicationController
if user
user.skip_user_id_assign = true
user.skip_hash_password = true
user.update_attributes(user_params_without_password)
if !(params[:user][:password].empty?) && (params[:user][:password] == params[:user][:password_confirmation])
user.skip_hash_password = false
if params[:user][:password].present? && (params[:user][:password] == params[:user][:password_confirmation])
user.password = params[:user][:password]
end
message = true if user.save!
+1 -4
View File
@@ -11,7 +11,6 @@ class User < ApplicationRecord
validates_uniqueness_of :email
validates_format_of :email, :with => /.+@.+\..+/i
attr_accessor :skip_user_id_assign
attr_accessor :skip_hash_password
before_save :assign_user_id, :on => :create
before_save :hash_password
has_one :retirement, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy
@@ -70,12 +69,10 @@ class User < ApplicationRecord
end
def hash_password
unless @skip_hash_password == true
if password.present?
if password.present? && password_changed?
self.password = Digest::MD5.hexdigest(password)
end
end
end
def generate_token(column)
begin