class PpaParticipativo::Cidadaos::OmniauthCallbacksController < Devise::OmniauthCallbacksController
	def facebook
		if request.env["omniauth.auth"].info.email.blank?
			redirect_to "/cidadaos/auth/facebook?auth_type=rerequest&scope=email"
		else
			@cidadao = PpaParticipativo::Cidadao.from_omniauth(request.env["omniauth.auth"])
			if @cidadao.persisted?
				sign_in @cidadao
				set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
				redirect_to stored_location_for(:cidadao) || ppa_participativo_participe_path
			elsif @cidadao.errors[:email].present?
				redirect_to ppa_participativo_path, alert: 'Usuário já possui conta no sistema. Não é possível logar com Facebook.'
			else
				session["devise.facebook_data"] = request.env["omniauth.auth"]
				redirect_to new_cidadao_registration_url, alert: "Ocorreu um erro com sua autenticação. Por favor complete o cadastro." ||  @cidadao.errors
			end
		end
	end

	def failure
		set_flash_message(:alert, :failure, :kind => "Facebook", reason: params[:error_reason])
		redirect_to ppa_participativo_path
	end
end
