class SearchController

OpenIrekia v4.0.0

Copyright 2009-2013 eFaber, S.L. Copyright 2009-2013 Ejie, S.A. Copyrigth 2009-2013 Dirección de Gobierno Abierto y Comunicación en Internet;

Gobernu Irekirako eta Interneteko Komunikaziorako Zuzendaritza; Lehendakaritza.
Gobierno Vasco – Eusko Jaurlaritza

Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto sean aprobadas por la Comisión Europea– versiones posteriores de la EUPL (la Licencia); Solo podrá usarse esta obra si se respeta la Licencia. Puede obtenerse una copia de la Licencia en: ec.europa.eu/idabc/eupl Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, el programa distribuido con arreglo a la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Véase la Licencia en el idioma concreto que rige los permisos y limitaciones que establece la Licencia

http://open.irekia.net, openirekia@efaber.net

Public Instance Methods

create() click to toggle source
# File app/controllers/search_controller.rb, line 46
def create        
  set_criterio
  respond_to do |format|
    format.html { 
      redirect_to search_path(:id => @criterio.id, :sort => @sort)
    }
    format.js{
      update_page_contents
    }    
  end
end
destroy() click to toggle source
# File app/controllers/search_controller.rb, line 102
def destroy
  # @del_criterio=Criterio.find(session[:criterio_id])
  @del_criterio=Criterio.find(params[:id])
  session[:criterio_id] = @del_criterio.parent_id.nil? ? nil : @del_criterio.parent_id
  unless @del_criterio.parent_id.nil?
    @criterio=Criterio.find(@del_criterio.parent_id)
  else
    @photos=Photo.all
  end    
  # @del_criterio.destroy
  respond_to do |format|
    format.html { 
      if session[:criterio_id].present?
        redirect_to search_path(:id => session[:criterio_id])
      else
        redirect_to new_search_path
      end
    }
    format.js {
      if session[:criterio_id].present?
        @criterio=Criterio.find(session[:criterio_id])
        update_page_contents
      else
          
      end  
    }
  end
end
get_create() click to toggle source
# File app/controllers/search_controller.rb, line 58
def get_create
  set_criterio
  respond_to do |format|
    format.html { 
      redirect_to search_path(:id => @criterio.id, :sort => @sort)
    }
  end
end
new() click to toggle source
# File app/controllers/search_controller.rb, line 35
def new
  session[:criterio_id]=nil   
  @sort = params[:sort].present? ? params[:sort] : 'date'
  @criterio = Criterio.new(:title => '')
  set_query
  unless do_elasticsearch_and_save_results(false)
    redirect_to elasticsearch_not_available_redirect_url and return
  end        
  render :action => 'show'
end
set_criterio() click to toggle source
# File app/controllers/search_controller.rb, line 83
def set_criterio
  if params[:new]
    session[:criterio_id]=nil
  end
  if params[:value].blank?
    params[:value]='*'                           
  end
  title=String.new                         
  only_title = false
  if session[:criterio_id].present?
    parent_criterio = Criterio.find(session[:criterio_id])
    title << "#{parent_criterio.title} AND "            
    only_title = parent_criterio.only_title
  end                                  
  title << "#{params[:key]}: #{params[:value].strip}"
  @value = params[:value].strip   
  @criterio = Criterio.create(:title => title, :parent_id => session[:criterio_id], :ip => request.remote_ip, :only_title => only_title)
end
show() click to toggle source
# File app/controllers/search_controller.rb, line 26
def show
  @criterio=Criterio.find(params[:id])
  @only_title = @criterio.only_title  
  set_query                         
  unless do_elasticsearch_and_save_results(true, @only_title)
    redirect_to elasticsearch_not_available_redirect_url and return
  end  
end
update_page_contents() click to toggle source
# File app/controllers/search_controller.rb, line 67
def update_page_contents
  set_query
  unless do_elasticsearch_and_save_results(false)
    redirect_to elasticsearch_not_available_redirect_url and return
  end        
  render :update do |page|
    page.replace_html "search_results", :partial => 'search/search_results'
    page.replace_html "criterios_box", :partial => 'search/criterio', :collection => @criterios, :as => :criterio
    if @search_results.empty? || @search_results.length == 1 
      page.replace_html "facets_box", ''
    else  
      page.replace_html "facets_box", :partial => 'search/facets' 
    end  
  end
end