diff options
| author | Luc Donnet | 2018-02-01 17:20:18 +0100 | 
|---|---|---|
| committer | GitHub | 2018-02-01 17:20:18 +0100 | 
| commit | c172bdb34862b6b48ea52e0de71a9444f14c2478 (patch) | |
| tree | 20186a872b2f7307bd6dccba9557000c5ca83617 | |
| parent | 2ee24e51608592202ebe209c6ef23bb7dc539525 (diff) | |
| parent | 7eab1a2999b5d993ec8ebf9655d52e278b88081d (diff) | |
| download | chouette-core-c172bdb34862b6b48ea52e0de71a9444f14c2478.tar.bz2 | |
Merge pull request #274 from af83/5576-vehicle-journeys--filter-by-line
5576 vehicle journeys  filter by line
| -rw-r--r-- | app/assets/stylesheets/components/_select2.sass | 3 | ||||
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 7 | ||||
| -rw-r--r-- | app/views/referential_vehicle_journeys/_filters.html.slim | 18 | 
3 files changed, 27 insertions, 1 deletions
| diff --git a/app/assets/stylesheets/components/_select2.sass b/app/assets/stylesheets/components/_select2.sass index 38603e11a..f31387c9f 100644 --- a/app/assets/stylesheets/components/_select2.sass +++ b/app/assets/stylesheets/components/_select2.sass @@ -79,6 +79,9 @@          .select2-search--inline .select2-search__field            height: 28px +      .select2-selection__rendered +        padding-right: 20px +      .select2-container--bootstrap .select2-selection        border-color: rgba($grey, 0.3) diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 1756a7098..6146d5be8 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -59,8 +59,8 @@ module Chouette      }      # We need this for the ransack object in the filters -    ransacker :stop_area_ids      ransacker :purchase_window_date_gt +    ransacker :stop_area_ids      # returns VehicleJourneys with at least 1 day in their time_tables      # included in the given range @@ -375,5 +375,10 @@ module Chouette          ')          .where('"time_tables_vehicle_journeys"."vehicle_journey_id" IS NULL')      end + +    def self.lines +      lines_query = joins(:route).select("routes.line_id").to_sql +      Chouette::Line.where("id IN (#{lines_query})") +    end    end  end diff --git a/app/views/referential_vehicle_journeys/_filters.html.slim b/app/views/referential_vehicle_journeys/_filters.html.slim index bfb5b77dd..67bb60e8d 100644 --- a/app/views/referential_vehicle_journeys/_filters.html.slim +++ b/app/views/referential_vehicle_journeys/_filters.html.slim @@ -15,6 +15,24 @@          = f.input :company_id_eq_any, collection: @all_companies.select(:id, :name).order(name: :asc), as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + l.name + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}        - else          = f.input :company_id_eq_any, collection: [[I18n.t('companies.search_no_results_for_filter'), nil]], as: :check_boxes, label: false, disabled: true, required: false, wrapper_html: { class: 'checkbox_list disabled'} + +    .form-group.togglable +      = f.label Chouette::Line.model_name.human, +          required: false, +          class: 'control-label' +      .form-inline.filter_menu +        = f.input :route_line_id_eq, +            as: :select, +            collection: @vehicle_journeys.lines, +            selected: params[:q] && params[:q][:line_id], +            input_html: { \ +              'data-select2ed': 'true', +              'data-select2ed-placeholder': t('referentials.filters.line') \ +            }, +            label: false, +            label_method: :display_name, +            wrapper_html: { class: 'filter_menu-item select2ed' } +      .form-group.togglable.name-filter        = f.label Chouette::VehicleJourney.human_attribute_name(:published_journey_name), required: false, class: 'control-label'        .inputs.form-inline.checkbox_list | 
