diff options
| author | Thomas Haddad | 2017-04-11 12:05:25 +0200 | 
|---|---|---|
| committer | Thomas Haddad | 2017-04-11 12:06:06 +0200 | 
| commit | cacf29a1b4a679e70a017053ed25e0ed7d095d10 (patch) | |
| tree | 9a35523ca563591f86dc78fe8a95ac4e18226009 | |
| parent | b23f6dca2395d87e2a3c0f8d8ca15303b240aef7 (diff) | |
| download | chouette-core-cacf29a1b4a679e70a017053ed25e0ed7d095d10.tar.bz2 | |
Refs #3094: Fix select2 in edit display primary and secondary operators
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
3 files changed, 13 insertions, 2 deletions
| diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/select2s/CompanySelect2.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/select2s/CompanySelect2.js index 7837cdbff..1f5e5e98f 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/select2s/CompanySelect2.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/select2s/CompanySelect2.js @@ -6,6 +6,7 @@ var Select2 = require('react-select2')  // get JSON full path  var origin = window.location.origin  var path = window.location.pathname.split('/', 3).join('/') +var line = window.location.pathname.split('/')[4]  class BSelect4 extends React.Component{ @@ -27,7 +28,7 @@ class BSelect4 extends React.Component{            width: '100%',            placeholder: 'Filtrer par transporteur...',            ajax: { -            url: origin + path + '/companies.json', +            url: origin + path + '/companies.json' + '?line_id=' + line,              dataType: 'json',              delay: '500',              data: function(params) { diff --git a/app/controllers/referential_companies_controller.rb b/app/controllers/referential_companies_controller.rb index 0966389b4..e8b104d14 100644 --- a/app/controllers/referential_companies_controller.rb +++ b/app/controllers/referential_companies_controller.rb @@ -27,7 +27,12 @@ class ReferentialCompaniesController < ChouetteController    end    def collection -    @q = referential.workbench.companies.search(params[:q]) +    scope = referential.line_referential.companies +    if params[:line_id] +      scope = referential.line_referential.lines.find(params[:line_id]).companies +    end + +    @q = scope.search(params[:q])      if sort_column && sort_direction        @companies ||= @q.result(:distinct => true).order(sort_column + ' ' + sort_direction).paginate(:page => params[:page]) diff --git a/app/models/chouette/line.rb b/app/models/chouette/line.rb index 50dd9b1b3..f44375e7d 100644 --- a/app/models/chouette/line.rb +++ b/app/models/chouette/line.rb @@ -14,6 +14,7 @@ class Chouette::Line < Chouette::ActiveRecord    belongs_to :company    belongs_to :network +  belongs_to :line_referential    has_array_of :secondary_companies, class_name: 'Chouette::Company' @@ -75,4 +76,8 @@ class Chouette::Line < Chouette::ActiveRecord      [name, company.try(:name)].compact.join(' - ')    end +  def companies +    line_referential.companies.where(id: ([company_id] + Array(secondary_company_ids)).compact) +  end +  end | 
