class Sadmin::AccountController

Modificar datos de usuario para usuarios con privilegios (todos menos Person, Journalist y Politician sin permisos)

Public Instance Methods

edit() click to toggle source
# File app/controllers/sadmin/account_controller.rb, line 31
def edit
  @user = current_user
end
show() click to toggle source
# File app/controllers/sadmin/account_controller.rb, line 27
def show
  @user = current_user    
end
update() click to toggle source

Actualizar un usuario

# File app/controllers/sadmin/account_controller.rb, line 36
def update
  if params[:submit_cancel]      
    redirect_to admin_users_path
  else
    @user = current_user
    if params[:user][:type]
      # Tengo que hacer esto para que cambie el class de user y actualice bien el departamento
      @user.type= params[:user][:type]
      @user.save
      @user = User.find(params[:id])
    end
    
    approving_user = @user.status.eql?("pendiente") && params[:user][:status].eql?("aprobado")

    if @user.update_attributes(params[:user])
      flash[:notice] = 'El usuario se ha actualizado correctamente.'
      
      if @user.is_a?(Journalist) && approving_user
        email = Notifier.create_welcome_journalist(@user)

        begin
          logger.info("Mandando bienvenida a #{@user.email}")
          Notifier.deliver(email)
        rescue Net::SMTPServerBusy, Net::SMTPSyntaxError => err_type
          logger.info("Error al mandar mail de bienvenida: " + err_type)
          flash[:error] = t('session.Error_servidor_correo')
        end
      end
      
      redirect_to sadmin_account_url
    else
      render :action => 'edit'
    end
  end
end