diff options
| author | Xinhui | 2017-03-17 15:22:25 +0100 | 
|---|---|---|
| committer | Xinhui | 2017-03-17 15:22:25 +0100 | 
| commit | b2bdd31f0b073c8b073a26ad8185848bea454157 (patch) | |
| tree | d440474da2b440490d0463cc56ce8c2794b65cb5 /app/controllers/workbenches_controller.rb | |
| parent | 7a81157d7c508be4a76bad092c1e968f0efa6184 (diff) | |
| download | chouette-core-b2bdd31f0b073c8b073a26ad8185848bea454157.tar.bz2 | |
Fix workbench#show validate ransack validity_periode range
Refs #2810
Diffstat (limited to 'app/controllers/workbenches_controller.rb')
| -rw-r--r-- | app/controllers/workbenches_controller.rb | 30 | 
1 files changed, 19 insertions, 11 deletions
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb index 44c6b174b..56c97a445 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -3,14 +3,16 @@ class WorkbenchesController < BreadcrumbController    respond_to :html, :only => [:show]    def show -    scope = Workbench.find(params[:id]) -    scope = params[:q] ? scope.all_referentials : scope.referentials.ready -    scope = scope.in_periode(ransack_periode) if ransack_periode -    @q = scope.ransack(params[:q]) -    @q.organisation_name_eq_any ||= current_organisation.name unless params[:q] +    scope   = Workbench.find(params[:id]) +    scope   = params[:q] ? scope.all_referentials : scope.referentials.ready +    periode = ransack_periode +    scope   = scope.in_periode(periode) if periode +    @q      = scope.ransack(params[:q]) -    @collection = @q.result(distinct: true) +    @q.organisation_name_eq_any ||= current_organisation.name unless params[:q] +    @collection  = @q.result(distinct: true)      @wbench_refs = @collection.order(sort_column + ' ' + sort_direction).paginate(page: params[:page], per_page: 30) +      show! do        build_breadcrumb :show      end @@ -36,11 +38,17 @@ class WorkbenchesController < BreadcrumbController    end    def ransack_periode -    return unless params[:q] && params[:q]['validity_period'] +    if params[:q] && params[:q]['validity_period'] +      periode     = params[:q]['validity_period'] +      start_range = Date.civil(periode["begin_gteq(1i)"].to_i, periode["begin_gteq(2i)"].to_i, periode["begin_gteq(3i)"].to_i) +      end_range   = Date.civil(periode["end_lteq(1i)"].to_i, periode["end_lteq(2i)"].to_i, periode["end_lteq(3i)"].to_i) -    periode     = params[:q]['validity_period'] -    start_range = Date.civil(periode["begin_gteq(1i)"].to_i, periode["begin_gteq(2i)"].to_i, periode["begin_gteq(3i)"].to_i) -    end_range   = Date.civil(periode["end_lteq(1i)"].to_i, periode["end_lteq(2i)"].to_i, periode["end_lteq(3i)"].to_i) -    start_range..end_range +      if start_range > end_range +        flash.now[:error] = t('referentials.errors.validity_period') +        false +      else +        start_range..end_range +      end +    end    end  end  | 
