Sha256: 58d63de2e43ea1e151459e893539025efbd172f94d281f70fb3c33d4745fffca

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

class PasswordController < BaseController
  renders_with_error_proc :below_field
  layout 'login'

  def new
  end

  def create
    flash[:notice] = t(:'adva.passwords.flash.create.notification')
    if user = User.find_by_email(params[:user][:email])
      token = user.assign_token 'password'
      user.save!
      trigger_event user, :password_reset_requested, :token => "#{user.id};#{token}"
      redirect_to edit_password_url
    else
      render :action => :new
    end
  end

  def edit
    params[:token] = nil unless current_user # TODO: maybe solve this nicer?
  end

  def update
    if current_user && current_user.update_attributes(params[:user].slice(:password))
      trigger_event current_user, :password_updated
      flash[:notice] = t(:'adva.passwords.flash.update.success')
      authenticate_user(:email => current_user.email, :password => params[:user][:password])
      redirect_to root_url
    else
      params[:token] = nil # ugh
      flash[:error] = t(:'adva.passwords.flash.update.failure')
      render :action => :edit
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
adva_user-0.0.1 app/controllers/password_controller.rb
adva-0.0.1 adva_user/app/controllers/password_controller.rb