requests_controller.rb 1.06 KB
class VLibras::RequestsController < ApplicationController
  protect_from_forgery with: :null_session, :only => [ :callback ]

  before_filter :authenticate_user!, :except => [ :callback ]
  before_filter :check_vlibras_api_status, :except => [ :callback ]

  def rapid
    @request = VLibras::Request.new
  end

  def new

  end

  def create
    @request = VLibras::Request.build_from_params(params, current_user)

    if @request.save
      @request.perform_request(@request.files)

      flash[:success] = 'Sua requisição foi submetida com sucesso!'

      redirect_to v_libras_videos_path
    else
      flash[:error] = 'Algo deu errado com a sua requisição. Por favor verifique opções escolhidas.'
      flash[:warning] = @request.errors.full_messages.to_sentence.humanize

      # Warning: this code is also present on #perform_request, if the request is successfully done
      @request.files.values.each { |f| f.file.delete }

      redirect_to :back
    end
  end

  def callback
    ApiClient::CallbackProcessor.process(params)

    render :text => "OK!"
  end
end