aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcedricnjanga2017-10-03 15:32:26 +0200
committercedricnjanga2017-10-03 16:33:49 +0200
commit9ea95b98c52f99494a13befa54cfd8cd298ab0c4 (patch)
tree11a795187148a63551b702fb2aecf502975eb9ef
parent983f5953d6df7166e91f52ba5eccaf27b8841f76 (diff)
downloadchouette-core-9ea95b98c52f99494a13befa54cfd8cd298ab0c4.tar.bz2
Refs #4665
Adapt date filters helpers according to this new concern Try to correct build error : "ransack period range undefined" All tests pass on my machine Refs #4661 Remove string column from ComplianceCheckSet
-rw-r--r--app/assets/javascripts/filters/compliance_control_set.js6
-rw-r--r--app/assets/javascripts/filters/import.js2
-rw-r--r--app/assets/javascripts/filters/time_table.js2
-rw-r--r--app/assets/javascripts/filters/workbench.js2
-rw-r--r--app/controllers/compliance_check_sets_controller.rb5
-rw-r--r--app/controllers/compliance_control_sets_controller.rb5
-rw-r--r--app/controllers/concerns/ransack_date_filter.rb27
-rw-r--r--app/controllers/imports_controller.rb33
-rw-r--r--app/controllers/time_tables_controller.rb27
-rw-r--r--app/controllers/workbenches_controller.rb6
-rw-r--r--app/views/compliance_control_sets/_filters.html.slim2
-rw-r--r--app/views/compliance_control_sets/index.html.slim1
12 files changed, 31 insertions, 87 deletions
diff --git a/app/assets/javascripts/filters/compliance_control_set.js b/app/assets/javascripts/filters/compliance_control_set.js
new file mode 100644
index 000000000..b0b00dea5
--- /dev/null
+++ b/app/assets/javascripts/filters/compliance_control_set.js
@@ -0,0 +1,6 @@
+const DateFilter = require('../helpers/date_filters')
+
+$(document).ready(function () {
+ const complianceControlSetDF = new DateFilter("#compliance_control_set_filter_btn", "Tous les champs du filtre de date doivent être remplis", "#q_updated_at_start_date_NUMi", "#q_updated_at_end_date_NUMi")
+ complianceControlSetDF()
+})
diff --git a/app/assets/javascripts/filters/import.js b/app/assets/javascripts/filters/import.js
index bb665d5ad..d437dc7ed 100644
--- a/app/assets/javascripts/filters/import.js
+++ b/app/assets/javascripts/filters/import.js
@@ -1,6 +1,6 @@
const DateFilter = require('../helpers/date_filters')
$(document).ready(function(){
- const importDF = new DateFilter("#import_filter_btn", "Tous les champs du filtre de date doivent être remplis", "#q_started_at_begin_NUMi", "#q_started_at_end_NUMi")
+ const importDF = new DateFilter("#import_filter_btn", "Tous les champs du filtre de date doivent être remplis", "#q_started_at_start_date_NUMi", "#q_started_at_end_date_NUMi")
importDF()
})
diff --git a/app/assets/javascripts/filters/time_table.js b/app/assets/javascripts/filters/time_table.js
index 9e24d03fe..a336d2664 100644
--- a/app/assets/javascripts/filters/time_table.js
+++ b/app/assets/javascripts/filters/time_table.js
@@ -1,7 +1,7 @@
$(document).ready(function(){
const DateFilter = require('../helpers/date_filters')
- const timetableDF = new DateFilter("#time_table_filter_btn", window.I18n.fr.time_tables.error_period_filter, "#q_start_date_gteq_NUMi", "#q_end_date_lteq_NUMi")
+ const timetableDF = new DateFilter("#time_table_filter_btn", window.I18n.fr.time_tables.error_period_filter, "#q_bounding_dates_start_date_NUMi", "#q_bounding_dates_end_date_NUMi")
timetableDF()
})
diff --git a/app/assets/javascripts/filters/workbench.js b/app/assets/javascripts/filters/workbench.js
index af3e13c59..dc5ac8487 100644
--- a/app/assets/javascripts/filters/workbench.js
+++ b/app/assets/javascripts/filters/workbench.js
@@ -1,6 +1,6 @@
const DateFilter = require('../helpers/date_filters')
$(document).ready(function(){
- const workbenchDF = new DateFilter("#referential_filter_btn", window.I18n.fr.referentials.error_period_filter, "#q_validity_period_begin_gteq_NUMi", "#q_validity_period_end_lteq_NUMi")
+ const workbenchDF = new DateFilter("#referential_filter_btn", window.I18n.fr.referentials.error_period_filter, "#q_validity_period_start_date_NUMi", "#q_validity_period_end_date_NUMi")
workbenchDF()
})
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index 3e093deab..fce8dcc56 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -1,15 +1,14 @@
class ComplianceCheckSetsController < BreadcrumbController
defaults resource_class: ComplianceCheckSet
include RansackDateFilter
- set_date_param "created_at", DateTime
- before_action :set_date_time_params, only: [:index]
+ before_action only: [:index] { set_date_time_params("created_at", DateTime) }
respond_to :html
belongs_to :workbench
def index
index! do |format|
- scope = ransack_period_range(scope: @compliance_check_sets, error_message: t('compliance_check_sets.filters.error_period_filter'), query: :where_created_at_between)
+ scope = self.ransack_period_range(scope: @compliance_check_sets, error_message: t('compliance_check_sets.filters.error_period_filter'), query: :where_created_at_between)
@q_for_form = scope.ransack(params[:q])
format.html {
@compliance_check_sets = ModelDecorator.decorate(
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 5371c65f5..9de90c21c 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -1,13 +1,12 @@
class ComplianceControlSetsController < BreadcrumbController
defaults resource_class: ComplianceControlSet
include RansackDateFilter
- set_date_param "updated_at", DateTime
- before_action :set_date_time_params, only: [:index]
+ before_action only: [:index] { set_date_time_params("updated_at", DateTime) }
respond_to :html
def index
index! do |format|
- scope = ransack_period_range(scope: @compliance_control_sets, error_message: t('imports.filters.error_period_filter'), query: :where_updated_at_between)
+ scope = self.ransack_period_range(scope: @compliance_control_sets, error_message: t('imports.filters.error_period_filter'), query: :where_updated_at_between)
@q_for_form = scope.ransack(params[:q])
format.html {
@compliance_control_sets = decorate_compliance_control_sets(@q_for_form.result)
diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb
index 361c26c98..225fd91ee 100644
--- a/app/controllers/concerns/ransack_date_filter.rb
+++ b/app/controllers/concerns/ransack_date_filter.rb
@@ -4,23 +4,23 @@ module RansackDateFilter
included do
- def set_date_time_params
+ def set_date_time_params(param_name, klass)
start_date = []
end_date = []
- if params[:q] && params[:q][@@date_param] && !params[:q][@@date_param].has_value?(nil) && !params[:q][@@date_param].has_value?("")
+ if params[:q] && params[:q][param_name] && !params[:q][param_name].has_value?(nil) && !params[:q][param_name].has_value?("")
[1, 2, 3].each do |key|
- start_date << params[:q][@@date_param]["start_date(#{key}i)"].to_i
- end_date << params[:q][@@date_param]["end_date(#{key}i)"].to_i
+ start_date << params[:q][param_name]["start_date(#{key}i)"].to_i
+ end_date << params[:q][param_name]["end_date(#{key}i)"].to_i
end
- params[:q].delete([@@date_param])
+ params[:q].delete([param_name])
- if @@klass == DateTime
- @begin_range = @@klass.new(*start_date,0,0,0) rescue nil
- @end_range = @@klass.new(*end_date,23,59,59) rescue nil
+ if klass == DateTime
+ @begin_range = klass.new(*start_date,0,0,0) rescue nil
+ @end_range = klass.new(*end_date,23,59,59) rescue nil
else
- @begin_range = @@klass.new(*start_date) rescue nil
- @end_range = @@klass.new(*end_date) rescue nil
+ @begin_range = klass.new(*start_date) rescue nil
+ @end_range = klass.new(*end_date) rescue nil
end
end
@@ -37,12 +37,5 @@ module RansackDateFilter
end
end
- def self.set_date_param(param_name, klass)
- @@date_param = param_name
- @@klass = klass
- end
-
- private_class_method :set_date_param
-
end
end \ No newline at end of file
diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index 4a12706bc..3c52dc935 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -1,9 +1,7 @@
class ImportsController < BreadcrumbController
include PolicyChecker
include RansackDateFilter
- set_date_param "started_at", DateTime
- before_action :set_date_time_params, only: [:index]
-
+ before_action only: [:index] { set_date_time_params("started_at", DateTime) }
skip_before_action :authenticate_user!, only: [:download]
defaults resource_class: Import, collection_name: 'imports', instance_name: 'import'
before_action :ransack_status_params, only: [:index]
@@ -52,7 +50,7 @@ class ImportsController < BreadcrumbController
def collection
scope = parent.imports.where(type: "WorkbenchImport")
- scope = ransack_period_range(scope: scope, error_message: t('imports.filters.error_period_filter'), query: :where_started_at_in)
+ scope = self.ransack_period_range(scope: scope, error_message: t('imports.filters.error_period_filter'), query: :where_started_at_in)
@q = scope.search(params[:q])
@@ -65,33 +63,6 @@ class ImportsController < BreadcrumbController
private
- def ransack_started_at_params
- start_date = []
- end_date = []
-
- if params[:q] && params[:q][:started_at] && !params[:q][:started_at].has_value?(nil) && !params[:q][:started_at].has_value?("")
- [1, 2, 3].each do |key|
- start_date << params[:q][:started_at]["begin(#{key}i)"].to_i
- end_date << params[:q][:started_at]["end(#{key}i)"].to_i
- end
- params[:q].delete([:started_at])
- @begin_range = DateTime.new(*start_date,0,0,0) rescue nil
- @end_range = DateTime.new(*end_date,23,59,59) rescue nil
- end
- end
-
- # Fake ransack filter
- # def ransack_period scope
- # return scope unless !!@begin_range && !!@end_range
-
- # if @begin_range > @end_range
- # flash.now[:error] = t('imports.filters.error_period_filter')
- # else
- # scope = scope.where_started_at_between(@begin_range..@end_range)
- # end
- # scope
- # end
-
def ransack_status_params
if params[:q]
return params[:q].delete(:status_eq_any) if params[:q][:status_eq_any].empty? || ( (Import.status.values & params[:q][:status_eq_any]).length >= 4 )
diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb
index 12dc26367..2d24d5aa6 100644
--- a/app/controllers/time_tables_controller.rb
+++ b/app/controllers/time_tables_controller.rb
@@ -1,8 +1,7 @@
class TimeTablesController < ChouetteController
include TimeTablesHelper
include RansackDateFilter
- set_date_param "bounding_dates", Date
- before_action :set_date_time_params, only: [:index]
+ before_action only: [:index] { set_date_time_params("bounding_dates", Date) }
defaults :resource_class => Chouette::TimeTable
respond_to :html
respond_to :xml
@@ -134,7 +133,7 @@ class TimeTablesController < ChouetteController
params[:q].delete("tag_search")
scope = select_time_tables.tagged_with(tags, :any => true) if tags.any?
end
- scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :overlapping)
+ scope = self.ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :overlapping)
@q = scope.search(params[:q])
if sort_column && sort_direction
@@ -162,28 +161,6 @@ class TimeTablesController < ChouetteController
end
private
- # def ransack_periode scope
- # return scope unless params[:q]
- # return scope unless params[:q]['end_date_lteq(1i)'].present?
-
- # begin_range = flatten_date('start_date_gteq')
- # end_range = flatten_date('end_date_lteq')
-
- # if begin_range > end_range
- # flash.now[:error] = t('referentials.errors.validity_period')
- # else
- # scope = scope.overlapping(begin_range, end_range)
- # params[:q] = params[:q].slice('comment_cont', 'color_cont_any')
- # @begin_range = begin_range
- # @end_range = end_range
- # end
- # scope
- # end
-
- # def flatten_date key
- # date_int = %w(1 2 3).map {|e| params[:q]["#{key}(#{e}i)"].to_i }
- # Date.new(*date_int)
- # end
def sort_column
referential.time_tables.column_names.include?(params[:sort]) ? params[:sort] : 'comment'
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb
index 68b6e176c..e271007d6 100644
--- a/app/controllers/workbenches_controller.rb
+++ b/app/controllers/workbenches_controller.rb
@@ -1,9 +1,7 @@
class WorkbenchesController < BreadcrumbController
before_action :query_params, only: [:show]
include RansackDateFilter
- set_date_param "validity_period", Date
- before_action :set_date_time_params, only: [:show]
-
+ before_action only: [:show] { set_date_time_params("validity_period", Date) }
defaults resource_class: Workbench
respond_to :html, only: [:show, :index]
@@ -14,7 +12,7 @@ class WorkbenchesController < BreadcrumbController
def show
scope = resource.all_referentials
scope = ransack_associated_lines(scope)
- scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :in_periode)
+ scope = self.ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :in_periode)
scope = ransack_status(scope)
@q_for_form = scope.ransack(params[:q])
diff --git a/app/views/compliance_control_sets/_filters.html.slim b/app/views/compliance_control_sets/_filters.html.slim
index f70a997f5..6a5d3ac44 100644
--- a/app/views/compliance_control_sets/_filters.html.slim
+++ b/app/views/compliance_control_sets/_filters.html.slim
@@ -19,4 +19,4 @@
.actions
= link_to t('actions.erase'), @compliance_control_set, class: 'btn btn-link'
- = f.submit t('actions.filter'), class: 'btn btn-default', id: 'referential_filter_btn' \ No newline at end of file
+ = f.submit t('actions.filter'), class: 'btn btn-default', id: 'compliance_control_set_filter_btn' \ No newline at end of file
diff --git a/app/views/compliance_control_sets/index.html.slim b/app/views/compliance_control_sets/index.html.slim
index ecb4eb75b..22c65dabc 100644
--- a/app/views/compliance_control_sets/index.html.slim
+++ b/app/views/compliance_control_sets/index.html.slim
@@ -53,3 +53,4 @@
= replacement_msg t('compliance_control_sets.search_no_results')
+= javascript_include_tag 'filters/compliance_control_set.js' \ No newline at end of file