aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/workbenches_controller.rb
diff options
context:
space:
mode:
authorXinhui2017-03-17 15:22:25 +0100
committerXinhui2017-03-17 15:22:25 +0100
commitb2bdd31f0b073c8b073a26ad8185848bea454157 (patch)
treed440474da2b440490d0463cc56ce8c2794b65cb5 /app/controllers/workbenches_controller.rb
parent7a81157d7c508be4a76bad092c1e968f0efa6184 (diff)
downloadchouette-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.rb30
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