gitcoinco/code_fund_ads

View on GitHub
app/controllers/search_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
class SearchController < ApplicationController
  before_action :authenticate_administrator!

  def show
    return handle_redirect if params[:sgid].present?

    q = params[:q].strip.downcase
    @results = {
      users: User.search_name(q).or(User.search_email(q)).order(created_at: :desc).limit(5),
      properties: Property.search_name(q).order(created_at: :desc).limit(5),
      campaigns: Campaign.search_name(q).order(created_at: :desc).limit(5),
      organizations: Organization.search_name(q).order(created_at: :desc).limit(5)
    }
    render layout: false
  end

  def handle_redirect
    obj = GlobalID.parse(params[:sgid]).find
    redirect_to obj
  end
end