diff options
| author | jpl | 2017-04-25 16:05:38 +0200 | 
|---|---|---|
| committer | jpl | 2017-04-25 16:05:44 +0200 | 
| commit | 4d88dfa88facab8ca4ac367288c4987cde131827 (patch) | |
| tree | 0b2cc2a7ec10f4edfd501590885155a3d285b4b7 /app/controllers | |
| parent | 5848e03e9655d74cdea84eb66286cf7696ee2ee4 (diff) | |
| download | chouette-core-4d88dfa88facab8ca4ac367288c4987cde131827.tar.bz2 | |
Refs #3172: fix bouding_dates filter on tt#index
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index eedfef07c..b23345607 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -99,6 +99,7 @@ class TimeTablesController < ChouetteController        params[:q].delete("tag_search")        scope = select_time_tables.tagged_with(tags, :wild => true, :any => true) if tags.any?      end +    scope = ransack_periode(scope)      @q = scope.search(params[:q])      if sort_column && sort_direction @@ -126,6 +127,24 @@ class TimeTablesController < ChouetteController    end    private +  # Fake ransack filter +  def ransack_periode scope +    return scope unless params[:q] +    periode = params[:q] +    return scope if periode['end_date_lteq(1i)'].empty? || periode['start_date_gteq(1i)'].empty? + +    begin_range = Date.civil(periode["start_date_gteq(1i)"].to_i, periode["start_date_gteq(2i)"].to_i, periode["start_date_gteq(3i)"].to_i) +    end_range   = Date.civil(periode["end_date_lteq(1i)"].to_i, periode["end_date_lteq(2i)"].to_i, periode["end_date_lteq(3i)"].to_i) + +    if begin_range > end_range +      flash.now[:error] = t('referentials.errors.validity_period') +    else +      @begin_range = begin_range +      @end_range   = end_range +    end +    scope +  end +    def sort_column      referential.time_tables.column_names.include?(params[:sort]) ? params[:sort] : 'comment'    end | 
