ontology_search_controller.rb revision d4dfdee51766940878e289b8590594a598f5b0e1
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholesclass OntologySearchController < ApplicationController
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes def search
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = paginate_for(search_response)
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes render 'shared/_ontology_search'
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes def search_response
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes if params[:query].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = Ontology.search(params[:query]).records
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes else
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = Ontology.scoped
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes refine_search_response
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes def refine_search_response
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes if params[:ontology_type].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = @search_response.
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes filter_by_ontology_type(params[:ontology_type])
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes end
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes if params[:project].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = @search_response.filter_by_project(params[:project])
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes if params[:formality_level].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = @search_response.
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes filter_by_formality(params[:formality_level])
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes if params[:license].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = @search_response.filter_by_license(params[:license])
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes if params[:task].present?
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response = @search_response.filter_by_task(params[:task])
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes @search_response
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes def repository
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes Repository.find_by_path(params[:repository_id])
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes end
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholesend
8aa5c68ad507ea2ecfba3b7a8fc3359c79310eadbnicholes