Sha256: 2cb8f4d5fdf460bdefedd3044d25fa39b181c264bf7e1fbb61a002005b226393

Contents?: true

Size: 1.59 KB

Versions: 22

Compression:

Stored size: 1.59 KB

Contents

# -*- encoding : utf-8 -*-
class SavedSearchesController < ApplicationController
  include Blacklight::Configurable

  copy_blacklight_config_from(CatalogController)
  before_filter :require_user_authentication_provider
  before_filter :verify_user 
  
  def index
    @searches = current_user.searches
  end
  
  def save    
    current_user.searches << Search.find(params[:id])
    if current_user.save
      flash[:notice] = I18n.t('blacklight.saved_searches.add.success')
    else
      flash[:error] = I18n.t('blacklight.saved_searches.add.failure')
    end
    redirect_to :back
  end

  # Only dereferences the user rather than removing the item in case it
  # is in the session[:history]
  def forget
    if current_user.search_ids.include?(params[:id].to_i) 
      search = Search.find(params[:id])
      search.user_id = nil
      search.save

      flash[:notice] =I18n.t('blacklight.saved_searches.remove.success')
    else
      flash[:error] = I18n.t('blacklight.saved_searches.remove.failure')
    end
    redirect_to :back
  end
  
  # Only dereferences the user rather than removing the items in case they
  # are in the session[:history]
  def clear    
    if Search.update_all("user_id = NULL", "user_id = #{current_user.id}")
      flash[:notice] = I18n.t('blacklight.saved_searches.clear.success')
    else
      flash[:error] = I18n.t('blacklight.saved_searches.clear.failure') 
    end
    redirect_to :action => "index"
  end


  protected
  def verify_user
    flash[:notice] = I18n.t('blacklight.saved_searches.need_login') and raise Blacklight::Exceptions::AccessDenied unless current_user
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
blacklight-4.4.1 app/controllers/saved_searches_controller.rb
blacklight-4.4.0 app/controllers/saved_searches_controller.rb
blacklight-4.3.0 app/controllers/saved_searches_controller.rb
blacklight-4.2.2 app/controllers/saved_searches_controller.rb
blacklight-4.2.1 app/controllers/saved_searches_controller.rb
blacklight-4.2.0 app/controllers/saved_searches_controller.rb
blacklight-4.1.0 app/controllers/saved_searches_controller.rb
blacklight-4.0.1 app/controllers/saved_searches_controller.rb
blacklight-3.8.2 app/controllers/saved_searches_controller.rb
blacklight-4.0.0 app/controllers/saved_searches_controller.rb
blacklight-4.0.0.rc2 app/controllers/saved_searches_controller.rb
blacklight-4.0.0.rc1 app/controllers/saved_searches_controller.rb
blacklight-4.0.0.pre7 app/controllers/saved_searches_controller.rb
blacklight-4.0.0.pre6 app/controllers/saved_searches_controller.rb
blacklight-3.8.1 app/controllers/saved_searches_controller.rb
blacklight-3.8.0 app/controllers/saved_searches_controller.rb
blacklight-3.7.2 app/controllers/saved_searches_controller.rb
blacklight-3.7.1 app/controllers/saved_searches_controller.rb
blacklight-3.7.0 app/controllers/saved_searches_controller.rb
blacklight-3.6.1.1 app/controllers/saved_searches_controller.rb