class EmpleadosController < ApplicationController
  before_action :user_is_admin?
  before_action :set_empleado, only: [:show, :edit, :update, :destroy]
  layout "admin"

  def index
    if params[:search]
      @empleados = User.search(params[:search]).limit(10)
    else
      @empleados = User.where.not(role: "patient").paginate(:page => params[:page])
    end
  end

  def show
  end

  def new
  	@empleado = User.new(role:"trainer")
  end

  def create
    @empleado = User.new(employee_params)
    session[:temp_pass] = @empleado.random_pass
    if @empleado.save
      redirect_to empleados_path
    else
      render :new
    end
  end

  def edit
  end

  def update
    respond_to do |format|
      if @empleado.update(employee_params)
        format.html { redirect_to empleados_path }
        format.json { render :show, status: :created }
        format.js { }
      else
        format.html { render :edit }
        format.json { render json: @empleado.errors, status: :unprocessable_entity }
        format.js { render json: @empleado.errors }
      end
    end
  end

  def destroy
    flash[:error] = "No se puede eliminar los empleados"
    redirect_to empleados_path
  end

  private

  def set_empleado
    if params[:id]
      @empleado = User.find(params[:id])
    else
      @empleado = current_user
    end
  end

  def employee_params
    params.require(:user).permit(:email, :full_name, :role, :tel, :dob, :avatar, :bio)
  end


end