Sha256: 3d380a171830e8baefe4d58b77a2e1766c59ef6274021a8452d825c293e793f0

Contents?: true

Size: 1.55 KB

Versions: 67

Compression:

Stored size: 1.55 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 << searches_from_history.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 search = current_user.searches.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 current_user.searches.update_all("user_id = NULL")
      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

67 entries across 67 versions & 1 rubygems

Version Path
blacklight-4.9.0 app/controllers/saved_searches_controller.rb
blacklight-4.8.0 app/controllers/saved_searches_controller.rb
blacklight-5.19.2 app/controllers/saved_searches_controller.rb
blacklight-5.19.1 app/controllers/saved_searches_controller.rb
blacklight-5.19.0 app/controllers/saved_searches_controller.rb
blacklight-5.18.0 app/controllers/saved_searches_controller.rb
blacklight-5.17.2 app/controllers/saved_searches_controller.rb
blacklight-5.17.1 app/controllers/saved_searches_controller.rb
blacklight-5.17.0 app/controllers/saved_searches_controller.rb
blacklight-5.16.4 app/controllers/saved_searches_controller.rb
blacklight-5.16.3 app/controllers/saved_searches_controller.rb
blacklight-5.16.2 app/controllers/saved_searches_controller.rb
blacklight-5.16.1 app/controllers/saved_searches_controller.rb
blacklight-5.16.0 app/controllers/saved_searches_controller.rb
blacklight-5.15.0 app/controllers/saved_searches_controller.rb
blacklight-5.14.0 app/controllers/saved_searches_controller.rb
blacklight-5.13.1 app/controllers/saved_searches_controller.rb
blacklight-5.13.0 app/controllers/saved_searches_controller.rb
blacklight-5.11.3 app/controllers/saved_searches_controller.rb
blacklight-5.12.1 app/controllers/saved_searches_controller.rb