Class: TinyPassport::UpdatePasswordForm

Inherits:
Object
  • Object
show all
Includes:
Formable
Defined in:
app/forms/tiny_passport/update_password_form.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#accountObject

Returns the value of attribute account.



6
7
8
# File 'app/forms/tiny_passport/update_password_form.rb', line 6

def 
  @account
end

#current_passwordObject

Returns the value of attribute current_password.



6
7
8
# File 'app/forms/tiny_passport/update_password_form.rb', line 6

def current_password
  @current_password
end

#passwordObject

Returns the value of attribute password.



6
7
8
# File 'app/forms/tiny_passport/update_password_form.rb', line 6

def password
  @password
end

#password_confirmationObject

Returns the value of attribute password_confirmation.



6
7
8
# File 'app/forms/tiny_passport/update_password_form.rb', line 6

def password_confirmation
  @password_confirmation
end

Instance Method Details

#password_confirmation_required?Boolean

如果两者都为不为空,则判断, 是否一致

Returns:

  • (Boolean)


13
14
15
# File 'app/forms/tiny_passport/update_password_form.rb', line 13

def password_confirmation_required?
  self.password.present? || self.password_confirmation.present?
end

#submit(params = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/forms/tiny_passport/update_password_form.rb', line 17

def submit params={}
  @password               = params[:password]
  @password_confirmation  = params[:password_confirmation]
  @current_password       = params[:current_password]
  @account = params[:account]

  if self.valid? && self.success?
    if self.
      # 密码需要改变才行
      if self..valid_password?(self.password)
        self.errors.add :password, :not_changed            # 没有改变
      end

      # 当前密码需要匹配
      unless self..valid_password?(self.current_password)
        self.errors.add :current_password, :not_matached   # 不匹配
      end
    else
      self.errors.add :account, :null  # 没有登录
    end

    if self.success?
      self..encrypted_password = self..generate_password_digest(self.password)
      self..save!
    else
      false
    end
  else
    false
  end
end