Skip to Content Skip to Search
Methods
C
E
N
U
Included Modules

Instance Public methods

change()

# File engines/member/app/controllers/member/passwords_controller.rb, line 63
def change
end

change_update()

# File engines/member/app/controllers/member/passwords_controller.rb, line 66
def change_update
  if current_member.authenticate(passwords_params[:current_password])
    current_member.password = passwords_params[:new_password]

    if current_member.save(context: :update_password)
      flash[:success] = I18n.t("member.alerts.password_update_success", site_id: current_site.id)
      redirect_to account_path
    else
      if current_member.errors[:password].first.nil?
        current_member.errors.add(
          :password,
          I18n.t("member.alerts.new_password_is_invalid", site_id: current_site.id)
        )
      end
      render "change"
    end
  else
    current_member.errors.add(
      :current_password,
      I18n.t("member.alerts.password_update_error", site_id: current_site.id)
    )
    render "change"
  end
end

code()

POST /member/password/code

# File engines/member/app/controllers/member/passwords_controller.rb, line 15
def code
  email = passwords_params[:email]&.strip&.downcase
  @member = DB::Member.find_by("email = :email AND site_id = :site_id",
    {email: email, site_id: current_site.id})

  if @member
    service = Service::SecureToken.new.generate
    @member.update_attribute(:reset_password_digest, service.token_digest)
    @member.update_attribute(:reset_password_sent_at, service.timestamp)
    Emailer.member_password_reset(current_site,
      {member_id: @member.id, code: service.token}).deliver_later
    flash.now[:success] = I18n.t(
      "member.alerts.password_reset_request_success",
      site_id: current_site.id,
      email: @member.email
    )
  else
    redirect_to new_password_path, flash: {
      error: I18n.t("member.alerts.password_reset_request_error", site_id: current_site.id)
    }
  end
end

edit()

GET /member/password/edit?=reset_password_token=12345&id=12345

# File engines/member/app/controllers/member/passwords_controller.rb, line 39
def edit
  if @member && valid_token?
    render "edit"
  else
    flash.now[:error] = I18n.t(
      "member.alerts.password_reset_expired_error",
      site_id: current_site.id
    )
    render "new"
  end
end

new()

GET /member/password/new

# File engines/member/app/controllers/member/passwords_controller.rb, line 11
def new
end

update()

PUT /member/password

# File engines/member/app/controllers/member/passwords_controller.rb, line 52
def update
  @member.password = member_params[:password]
  if valid_token? && @member.save
    @member.update_columns(reset_password_digest: nil, reset_password_sent_at: nil)
    redirect_to "/member/sign_in",
      notice: I18n.t("member.alerts.password_reset_success", site_id: current_site.id)
  else
    render "edit"
  end
end