aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/autocomplete_lines_controller.rb
blob: 0202ea0548eccda608b8560d7b9027ba228c4db1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class AutocompleteLinesController < ChouetteController
  include ReferentialSupport

  respond_to :json, only: :index

  protected

  def collection
    @lines = referential.line_referential.lines

    filter = <<~SQL
      lines.number LIKE ?
      OR lines.name LIKE ?
      OR companies.name ILIKE ?
    SQL
    @lines = @lines
      .joins(:company)
      .where(
        filter,
        *Array.new(3, "%#{params[:q]}%")
      )
      .search(params[:q])
      .result
      .paginate(page: params[:page])
  end
end