diff options
| author | Xinhui | 2017-03-20 12:34:31 +0100 |
|---|---|---|
| committer | Xinhui | 2017-03-20 12:34:42 +0100 |
| commit | 5dddb8943e1e879967d4480f494c3b4c3f44c2da (patch) | |
| tree | 5b0072f0e3640b81fb18e4f470a22edc3acfd304 /app/controllers/workbenches_controller.rb | |
| parent | 87c5dd24db078ea43c182d847e313f90cc482f0f (diff) | |
| download | chouette-core-5dddb8943e1e879967d4480f494c3b4c3f44c2da.tar.bz2 | |
Check presence of date before filtering by validity_periode
Refs #2877
Diffstat (limited to 'app/controllers/workbenches_controller.rb')
| -rw-r--r-- | app/controllers/workbenches_controller.rb | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb index 3a2b8afb1..a3370192b 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -6,7 +6,7 @@ class WorkbenchesController < BreadcrumbController scope = Workbench.find(params[:id]) scope = params[:q] ? scope.all_referentials : scope.referentials.ready periode = ransack_periode - scope = scope.in_periode(periode) unless periode.nil? + scope = scope.in_periode(periode) if periode @q = scope.ransack(params[:q]) @q.organisation_name_eq_any ||= current_organisation.name unless params[:q] @@ -38,19 +38,18 @@ class WorkbenchesController < BreadcrumbController end def ransack_periode - if params[:q] && params[:q]['validity_period'] - unless params[:q]['validity_period']['begin_gteq(3i)'].empty? or params[:q]['validity_period']['end_gteq(3i)'].empty? - 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) - - if start_range > end_range - flash.now[:error] = t('referentials.errors.validity_period') - false - else - start_range..end_range - end - end + return false unless params[:q] && params[:q]['validity_period'] + periode = params[:q]['validity_period'] + return false if periode['end_lteq(1i)'].empty? || periode['begin_gteq(1i)'].empty? + + 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) + + if start_range > end_range + flash.now[:error] = t('referentials.errors.validity_period') + false + else + start_range..end_range end end end |
