diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/assets/javascripts/filters/compliance_control_set.js | 6 | ||||
| -rw-r--r-- | app/assets/javascripts/filters/import.js | 2 | ||||
| -rw-r--r-- | app/assets/javascripts/filters/time_table.js | 2 | ||||
| -rw-r--r-- | app/assets/javascripts/filters/workbench.js | 2 | ||||
| -rw-r--r-- | app/controllers/compliance_check_sets_controller.rb | 5 | ||||
| -rw-r--r-- | app/controllers/compliance_control_sets_controller.rb | 5 | ||||
| -rw-r--r-- | app/controllers/concerns/ransack_date_filter.rb | 27 | ||||
| -rw-r--r-- | app/controllers/imports_controller.rb | 33 | ||||
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 27 | ||||
| -rw-r--r-- | app/controllers/workbenches_controller.rb | 6 | ||||
| -rw-r--r-- | app/views/compliance_control_sets/_filters.html.slim | 2 | ||||
| -rw-r--r-- | app/views/compliance_control_sets/index.html.slim | 1 | 
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 | 
