Sha256: 2c9295c5a6f48616eb3ca56b225fcae4746fac78bf094da74c391f96ffa87653

Contents?: true

Size: 1.83 KB

Versions: 13

Compression:

Stored size: 1.83 KB

Contents

class MyAdmin::RecoversController < MyAdmin::MyAdminController
  
  def new
    
  end
    
  def create
    user = MyAdmin::User.recover(params[:recover][:username], params[:recover][:email])
    
    if user.nil? 
      flash.now[:error] = I18n.t("activerecord.errors.my_admin.user.invalid_username_email")
      render :new
    else
      if user.is_active?
        MyAdmin::RecoverMailer.send_recover_mail(user).deliver
        redirect_to send("new_#{admin_prefix}_sessions_path"), :flash => { :success => I18n.t("my_admin.messages.recover.send_email") }
      else
        flash.now[:error] = I18n.t("activerecord.errors.my_admin.user.inactive_user")
        render :new
      end
    end
    
  end
    
  def show
    @user = get_user
  end
  
  def update
    @user = get_user
    if (@user.update_attributes(recovers_params))
      @user.update_attribute(:encrypted_recover, nil)
      my_admin_sign_in @user
      redirect_to send("#{admin_prefix}_root_path"), :flash => { :notice => I18n.t("my_admin.messages.user.password_changed") }
    else
      render :show
    end
  end
  
  protected
  
    def get_user
      user = MyAdmin::User.find_by_encrypted_recover(params[:id])
      if(user.nil?)
        redirect_to send("new_#{admin_prefix}_sessions_path"), :flash => { :error => I18n.t("activerecord.errors.my_admin.user.invalid_recover_id") }
      elsif !user.is_active?
        redirect_to send("new_#{admin_prefix}_sessions_path"), :flash => { :error => I18n.t("activerecord.errors.my_admin.user.inactive_user") }
      end
      user
    end
  
    def verify_login
      redirect_to send("#{admin_prefix}_root_path") if my_admin_signed_in?
      redirect_to send("unlock_#{admin_prefix}_sessions_path") if my_admin_locked?
    end
    
    def recovers_params
      params.require(:recover).permit(:password, :password_confirmation)
    end
  
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
my_admin-0.1.13 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.12 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.11 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.10 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.9 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.8 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.7 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.6 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.5 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.4 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.3 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.2 app/controllers/my_admin/recovers_controller.rb
my_admin-0.1.1 app/controllers/my_admin/recovers_controller.rb