aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorXinhui2017-03-06 11:41:36 +0100
committerXinhui2017-03-06 11:41:36 +0100
commit156133d5bdbc05fd283f50396f776b43e49e5249 (patch)
treec821022ee0792eb7cdf91ba5ac93cf21d69e28a4 /app/controllers
parentb74d373bc477fd60b083fa9a5b79b346cd9d07de (diff)
downloadchouette-core-156133d5bdbc05fd283f50396f776b43e49e5249.tar.bz2
Fix workbench#show filter referential by periode range
Refs #2665
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/workbenches_controller.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb
index 3818ea866..f3dc0c9b3 100644
--- a/app/controllers/workbenches_controller.rb
+++ b/app/controllers/workbenches_controller.rb
@@ -5,6 +5,7 @@ class WorkbenchesController < BreadcrumbController
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]
@@ -27,8 +28,17 @@ class WorkbenchesController < BreadcrumbController
def sort_column
Workbench.find(params[:id]).referentials.include?(params[:sort]) ? params[:sort] : 'name'
end
+
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : 'asc'
end
+ def ransack_periode
+ return unless 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)
+ start_range..end_range
+ end
end