aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haddad2017-04-11 12:05:25 +0200
committerThomas Haddad2017-04-11 12:06:06 +0200
commitcacf29a1b4a679e70a017053ed25e0ed7d095d10 (patch)
tree9a35523ca563591f86dc78fe8a95ac4e18226009
parentb23f6dca2395d87e2a3c0f8d8ca15303b240aef7 (diff)
downloadchouette-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>
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/select2s/CompanySelect2.js3
-rw-r--r--app/controllers/referential_companies_controller.rb7
-rw-r--r--app/models/chouette/line.rb5
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