diff options
Diffstat (limited to 'app/controllers/autocomplete_timebands_controller.rb')
| -rw-r--r-- | app/controllers/autocomplete_timebands_controller.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/controllers/autocomplete_timebands_controller.rb b/app/controllers/autocomplete_timebands_controller.rb new file mode 100644 index 000000000..3915bd69f --- /dev/null +++ b/app/controllers/autocomplete_timebands_controller.rb @@ -0,0 +1,31 @@ +class AutocompleteTimebandsController < InheritedResources::Base + respond_to :json, :only => [:index] + + before_action :switch_referential + + def switch_referential + Apartment::Tenant.switch!(referential.slug) + end + + def referential + @referential ||= current_organisation.referentials.find params[:referential_id] + end + + protected + + def select_timebands + if params[:route_id] + referential.timebands.joins( vehicle_journeys: :route).where( "routes.id IN (#{params[:route_id]})") + else + referential.timebands + end + end + + def referential_timebands + @referential_timebands ||= select_timebands + end + + def collection + @timebands = referential_timebands.select{ |p| p.fullname =~ /#{params[:q]}/i } + end +end |
