aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/workbenches_controller.rb
diff options
context:
space:
mode:
authorXinhui2017-03-20 12:34:31 +0100
committerXinhui2017-03-20 12:34:42 +0100
commit5dddb8943e1e879967d4480f494c3b4c3f44c2da (patch)
tree5b0072f0e3640b81fb18e4f470a22edc3acfd304 /app/controllers/workbenches_controller.rb
parent87c5dd24db078ea43c182d847e313f90cc482f0f (diff)
downloadchouette-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.rb27
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