Class: ApplicationController

Inherits:
ActionController::Base
  • Object
show all
Includes:
ERB::Util
Defined in:
app/controllers/application_controller.rb

Overview

Copyright © 2008-2013 Michael Dvorkin and contributors.

Fat Free CRM is freely distributable under the terms of MIT license. See MIT-LICENSE file or www.opensource.org/licenses/mit-license.php


Instance Method Summary collapse

Instance Method Details

#auto_completeObject

Common auto_complete handler for all core controllers.




32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'app/controllers/application_controller.rb', line 32

def auto_complete
  @query = params[:auto_complete_query] || ''
  @auto_complete = hook(:auto_complete, self, query: @query, user: current_user)
  if @auto_complete.empty?
    exclude_ids = auto_complete_ids_to_exclude(params[:related])
    @auto_complete = klass.my.text_search(@query).search(id_not_in: exclude_ids).result.limit(10)
  else
    @auto_complete = @auto_complete.last
  end

  session[:auto_complete] = controller_name.to_sym
  respond_to do |format|
    format.any(:js, :html)   { render partial: 'auto_complete' }
    format.json do
      render json: @auto_complete.inject({}){|h, a|
                     h[a.id] = a.respond_to?(:full_name) ? h(a.full_name) : h(a.name); h
                   }
    end
  end
end