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.




36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/controllers/application_controller.rb', line 36

def auto_complete
  @query = params[:term] || ''
  @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(current_user).text_search(@query).ransack(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
      results = @auto_complete.map do |a|
        {
          id: a.id,
          text: a.respond_to?(:full_name) ? a.full_name : a.name
        }
      end
      render json: {
        results: results
      }
    end
  end
end