diff options
| author | cedricnjanga | 2017-10-02 17:34:49 +0200 | 
|---|---|---|
| committer | cedricnjanga | 2017-10-02 17:36:41 +0200 | 
| commit | cba31dc411ceb47f80202c1d3a32a2e031630b13 (patch) | |
| tree | 429718a617260f5013bb9d07b828e3d1bd26c738 | |
| parent | 466dde61ed0cdf32c06cb3738e32f38c50c4558e (diff) | |
| download | chouette-core-cba31dc411ceb47f80202c1d3a32a2e031630b13.tar.bz2 | |
Refs #4665
Add a controller concern to deal with date filters
| -rw-r--r-- | app/controllers/compliance_check_sets_controller.rb | 37 | ||||
| -rw-r--r-- | app/controllers/compliance_control_sets_controller.rb | 33 | ||||
| -rw-r--r-- | app/controllers/concerns/ransack_date_filter.rb | 48 | ||||
| -rw-r--r-- | app/controllers/imports_controller.rb | 28 | ||||
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 49 | ||||
| -rw-r--r-- | app/controllers/workbenches_controller.rb | 32 | ||||
| -rw-r--r-- | app/models/chouette/time_table.rb | 4 | ||||
| -rw-r--r-- | app/models/compliance_check_set.rb | 4 | ||||
| -rw-r--r-- | app/models/compliance_control_set.rb | 4 | ||||
| -rw-r--r-- | app/models/import.rb | 4 | ||||
| -rw-r--r-- | app/views/compliance_check_sets/_filters.html.slim | 4 | ||||
| -rw-r--r-- | app/views/compliance_control_sets/_filters.html.slim | 4 | ||||
| -rw-r--r-- | app/views/imports/_filters.html.slim | 4 | ||||
| -rw-r--r-- | app/views/time_tables/_filter.html.slim | 5 | ||||
| -rw-r--r-- | app/views/workbenches/_filters.html.slim | 4 | ||||
| -rw-r--r-- | spec/features/workbenches_spec.rb | 16 | 
16 files changed, 129 insertions, 151 deletions
| diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb index d61fbafdb..3e093deab 100644 --- a/app/controllers/compliance_check_sets_controller.rb +++ b/app/controllers/compliance_check_sets_controller.rb @@ -1,13 +1,15 @@  class ComplianceCheckSetsController < BreadcrumbController    defaults resource_class: ComplianceCheckSet -  before_action :ransack_created_at_params, only: [:index] +  include RansackDateFilter +  set_date_param "created_at", DateTime +  before_action :set_date_time_params, only: [:index]    respond_to :html    belongs_to :workbench    def index      index! do |format| -      scope = ransack_period @compliance_check_sets +      scope = 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( @@ -17,35 +19,4 @@ class ComplianceCheckSetsController < BreadcrumbController        }      end    end - - -  private - -  def ransack_created_at_params -    start_date = [] -    end_date = [] - -    if params[:q] && params[:q][:created_at] && !params[:q][:created_at].has_value?(nil) && !params[:q][:created_at].has_value?("") -      [1, 2, 3].each do |key| -        start_date << params[:q][:created_at]["begin(#{key}i)"].to_i -        end_date << params[:q][:created_at]["end(#{key}i)"].to_i -      end -      params[:q].delete(:created_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('compliance_check_sets.filters.error_period_filter') -    else -      scope = scope.where_created_at_between(@begin_range, @end_range) -    end -    scope -  end -  end
\ No newline at end of file diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb index e3304c0b8..0e4520d1f 100644 --- a/app/controllers/compliance_control_sets_controller.rb +++ b/app/controllers/compliance_control_sets_controller.rb @@ -1,11 +1,13 @@  class ComplianceControlSetsController < BreadcrumbController    defaults resource_class: ComplianceControlSet -  before_action :ransack_updated_at_params, only: [:index] +  include RansackDateFilter +  set_date_param "updated_at", DateTime +  before_action :set_date_time_params, only: [:index]    respond_to :html    def index      index! do |format| -      scope = ransack_period @compliance_control_sets +      scope = 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) @@ -44,33 +46,6 @@ class ComplianceControlSetsController < BreadcrumbController      )    end -  def ransack_updated_at_params -    start_date = [] -    end_date = [] - -    if params[:q] && params[:q][:updated_at] && !params[:q][:updated_at].has_value?(nil) && !params[:q][:updated_at].has_value?("") -      [1, 2, 3].each do |key| -        start_date <<  params[:q][:updated_at]["begin(#{key}i)"].to_i -        end_date <<  params[:q][:updated_at]["end(#{key}i)"].to_i -      end -      params[:q].delete([:updated_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_updated_at_between(@begin_range, @end_range) -    end -    scope -  end -    def compliance_control_set_params      params.require(:compliance_control_set).permit(:name, :id)    end diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb new file mode 100644 index 000000000..20ab764b3 --- /dev/null +++ b/app/controllers/concerns/ransack_date_filter.rb @@ -0,0 +1,48 @@ +module RansackDateFilter +  extend ActiveSupport::Concern +  cattr_accessor :date_param + +    included do + +      def set_date_time_params +        start_date = [] +        end_date = [] + +        if params[:q] && params[:q][@@date_param] && !params[:q][@@date_param].has_value?(nil) && !params[:q][@@date_param].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 +          end +        params[:q].delete([@@date_param]) + +        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 +        end +      end + +      # Fake ransack filter +      def ransack_period_range **options +        return options[:scope] unless !!@begin_range && !!@end_range + +        if @begin_range > @end_range +          flash.now[:error] = options[:error_message] +        else +          scope = options[:scope].send options[:query], @begin_range..@end_range +        end +        scope +      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 f2e65e445..4a12706bc 100644 --- a/app/controllers/imports_controller.rb +++ b/app/controllers/imports_controller.rb @@ -1,8 +1,11 @@  class ImportsController < BreadcrumbController    include PolicyChecker +  include RansackDateFilter +  set_date_param "started_at", DateTime +  before_action :set_date_time_params, only: [:index] +    skip_before_action :authenticate_user!, only: [:download]    defaults resource_class: Import, collection_name: 'imports', instance_name: 'import' -  before_action :ransack_started_at_params, only: [:index]    before_action :ransack_status_params, only: [:index]    respond_to :html    belongs_to :workbench @@ -48,7 +51,8 @@ class ImportsController < BreadcrumbController    protected    def collection      scope = parent.imports.where(type: "WorkbenchImport") -    scope = ransack_period scope + +    scope = ransack_period_range(scope: scope, error_message:  t('imports.filters.error_period_filter'), query: :where_started_at_in)      @q = scope.search(params[:q]) @@ -77,16 +81,16 @@ class ImportsController < BreadcrumbController    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_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] diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index 0054963c9..12dc26367 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -1,5 +1,8 @@  class TimeTablesController < ChouetteController    include TimeTablesHelper +  include RansackDateFilter +  set_date_param "bounding_dates", Date +  before_action :set_date_time_params, only: [:index]    defaults :resource_class => Chouette::TimeTable    respond_to :html    respond_to :xml @@ -131,7 +134,7 @@ class TimeTablesController < ChouetteController        params[:q].delete("tag_search")        scope = select_time_tables.tagged_with(tags, :any => true) if tags.any?      end -    scope = ransack_periode(scope) +    scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :overlapping)      @q = scope.search(params[:q])      if sort_column && sort_direction @@ -159,28 +162,28 @@ 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 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 d597ba371..68b6e176c 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -1,5 +1,8 @@  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]    defaults resource_class: Workbench    respond_to :html, only: [:show, :index] @@ -11,7 +14,7 @@ class WorkbenchesController < BreadcrumbController    def show      scope = resource.all_referentials      scope = ransack_associated_lines(scope) -    scope = ransack_period(scope) +    scope = 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]) @@ -69,33 +72,6 @@ class WorkbenchesController < BreadcrumbController    end    # Fake ransack filter -  def ransack_period scope -    period = params[:q]['validity_period'] -    return scope unless period - -    begin -      if period['begin_gteq'].kind_of?(Array) -        begin_range = Date.new(*period['begin_gteq'].map(&:to_i)) -        end_range   = Date.new(*period['end_lteq'].map(&:to_i)) -      else -        begin_range = Date.new(period["begin_gteq(1i)"].to_i, period["begin_gteq(2i)"].to_i, period["begin_gteq(3i)"].to_i) -        end_range   = Date.new(period["end_lteq(1i)"].to_i, period["end_lteq(2i)"].to_i, period["end_lteq(3i)"].to_i) -      end -    rescue Exception => e -      return scope -    end - -    if begin_range > end_range -      flash.now[:error] = t('referentials.errors.validity_period') -    else -      scope        = scope.in_periode(begin_range..end_range) -      @begin_range = begin_range -      @end_range   = end_range -    end -    scope -  end - -  # Fake ransack filter    def ransack_status scope      archived   = !params[:q]['archived_at_not_null'].to_i.zero?      unarchived = !params[:q]['archived_at_null'].to_i.zero? diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index 8821a5201..72496273e 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -21,12 +21,12 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord    belongs_to :calendar    belongs_to :created_from, class_name: 'Chouette::TimeTable' -  scope :overlapping, -> (date_start, date_end) do +  scope :overlapping, -> (period_range) do      joins("        LEFT JOIN time_table_periods ON time_tables.id = time_table_periods.time_table_id        LEFT JOIN time_table_dates ON time_tables.id = time_table_dates.time_table_id      ") -    .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :start) OR (time_table_dates.date BETWEEN :start AND :end)", {start: date_start, end: date_end}) +    .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :begin) OR (time_table_dates.date BETWEEN :begin AND :end)", {begin: period_range.begin, end: period_range.end})    end    after_save :save_shortcuts diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb index 4c00c3516..e4146e0e2 100644 --- a/app/models/compliance_check_set.rb +++ b/app/models/compliance_check_set.rb @@ -11,8 +11,8 @@ class ComplianceCheckSet < ActiveRecord::Base    enumerize :status, in: %w[new pending successful warning failed running aborted canceled] -  scope :where_created_at_between, ->(start_date, end_date) do -    where('created_at BETWEEN ? AND ?', start_date, end_date) +  scope :where_created_at_between, ->(period_range) do +    where('created_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)    end  end diff --git a/app/models/compliance_control_set.rb b/app/models/compliance_control_set.rb index 40e269146..1ab0fd6d2 100644 --- a/app/models/compliance_control_set.rb +++ b/app/models/compliance_control_set.rb @@ -4,7 +4,7 @@ class ComplianceControlSet < ActiveRecord::Base    has_many :compliance_controls, dependent: :destroy    validates :name, presence: true -  scope :where_updated_at_between, ->(start_date, end_date) do -    where('updated_at BETWEEN ? AND ?', start_date, end_date) +  scope :where_updated_at_between, ->(period_range) do +    where('updated_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)    end  end diff --git a/app/models/import.rb b/app/models/import.rb index 74f7ef10c..64f713914 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -9,8 +9,8 @@ class Import < ActiveRecord::Base    has_many :resources, class_name: "ImportResource", dependent: :destroy    has_many :children, foreign_key: :parent_id, class_name: "Import", dependent: :destroy -  scope :where_started_at_between, ->(start_date, end_date) do -     where('started_at BETWEEN ? AND ?', start_date, end_date) +  scope :where_started_at_in, ->(period_range) do +    where('started_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)     end    extend Enumerize diff --git a/app/views/compliance_check_sets/_filters.html.slim b/app/views/compliance_check_sets/_filters.html.slim index a9467a7fe..c5c968c6a 100644 --- a/app/views/compliance_check_sets/_filters.html.slim +++ b/app/views/compliance_check_sets/_filters.html.slim @@ -15,8 +15,8 @@        = f.label Import.human_attribute_name(:created_at), required: false, class: 'control-label'        .filter_menu          = f.simple_fields_for :created_at do |p| -          = p.input :begin, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true -          = p.input :end, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true +          = p.input :start_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true +          = p.input :end_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true    .actions      = link_to t('actions.erase'), @compliance_checks_sets, class: 'btn btn-link' diff --git a/app/views/compliance_control_sets/_filters.html.slim b/app/views/compliance_control_sets/_filters.html.slim index 56cac8bd2..f70a997f5 100644 --- a/app/views/compliance_control_sets/_filters.html.slim +++ b/app/views/compliance_control_sets/_filters.html.slim @@ -14,8 +14,8 @@        = f.label Import.human_attribute_name(:updated_at), required: false, class: 'control-label'        .filter_menu          = f.simple_fields_for :updated_at do |p| -          = p.input :begin, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true -          = p.input :end, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true +          = p.input :start_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true +          = p.input :end_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true    .actions      = link_to t('actions.erase'), @compliance_control_set, class: 'btn btn-link' diff --git a/app/views/imports/_filters.html.slim b/app/views/imports/_filters.html.slim index 85099b99a..b1f23e2c8 100644 --- a/app/views/imports/_filters.html.slim +++ b/app/views/imports/_filters.html.slim @@ -15,8 +15,8 @@        = f.label Import.human_attribute_name(:started_at), required: false, class: 'control-label'        .filter_menu          = f.simple_fields_for :started_at do |p| -          = p.input :begin, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true -          = p.input :end, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true +          = p.input :start_date, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true +          = p.input :end_date, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true    .actions      = link_to t('actions.erase'), workbench_imports_path(@workbench), class: 'btn btn-link' diff --git a/app/views/time_tables/_filter.html.slim b/app/views/time_tables/_filter.html.slim index 043aa87d0..a4d90d1cc 100644 --- a/app/views/time_tables/_filter.html.slim +++ b/app/views/time_tables/_filter.html.slim @@ -14,8 +14,9 @@      .form-group.togglable        = f.label Chouette::TimeTable.human_attribute_name(:bounding_dates), required: false, class: 'control-label'        .filter_menu -        = f.input :start_date_gteq, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true -        = f.input :end_date_lteq, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true +        = f.simple_fields_for :bounding_dates do |p| +          = f.input :start_date, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true +          = f.input :end_date, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true    .actions diff --git a/app/views/workbenches/_filters.html.slim b/app/views/workbenches/_filters.html.slim index 8da629e9c..4d9e0066c 100644 --- a/app/views/workbenches/_filters.html.slim +++ b/app/views/workbenches/_filters.html.slim @@ -25,8 +25,8 @@        = f.label Referential.human_attribute_name(:validity_period), required: false, class: 'control-label'        .filter_menu          = f.simple_fields_for :validity_period do |p| -          = p.input :begin_gteq, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true -          = p.input :end_lteq, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true +          = p.input :start_date, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true +          = p.input :end_date, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true    .actions      = link_to t('actions.erase'), @workbench, class: 'btn btn-link' diff --git a/spec/features/workbenches_spec.rb b/spec/features/workbenches_spec.rb index 14809dec1..e33f8c134 100644 --- a/spec/features/workbenches_spec.rb +++ b/spec/features/workbenches_spec.rb @@ -113,8 +113,8 @@ describe 'Workbenches', type: :feature do          it 'should show results for referential in range' do            dates = referential.validity_period.to_a -          fill_validity_field dates[0], 'begin_gteq' -          fill_validity_field dates[1], 'end_lteq' +          fill_validity_field dates[0], 'start_date' +          fill_validity_field dates[1], 'end_date'            click_button I18n.t('actions.filter')            expect(page).to have_content(referential.name) @@ -123,8 +123,8 @@ describe 'Workbenches', type: :feature do          it 'should keep filtering on sort' do            dates = referential.validity_period.to_a -          fill_validity_field dates[0], 'begin_gteq' -          fill_validity_field dates[1], 'end_lteq' +          fill_validity_field dates[0], 'start_date' +          fill_validity_field dates[1], 'end_date'            click_button I18n.t('actions.filter')            find('a[href*="&sort=validity_period"]').click @@ -134,8 +134,8 @@ describe 'Workbenches', type: :feature do          end          it 'should not show results for out off range' do -          fill_validity_field(Date.today - 2.year, 'begin_gteq') -          fill_validity_field(Date.today - 1.year, 'end_lteq') +          fill_validity_field(Date.today - 2.year, 'start_date') +          fill_validity_field(Date.today - 1.year, 'end_date')            click_button I18n.t('actions.filter')            expect(page).to_not have_content(referential.name) @@ -144,12 +144,12 @@ describe 'Workbenches', type: :feature do          it 'should keep value on submit' do            dates = referential.validity_period.to_a -          ['begin_gteq', 'end_lteq'].each_with_index do |field, index| +          ['start_date', 'end_date'].each_with_index do |field, index|              fill_validity_field dates[index], field            end            click_button I18n.t('actions.filter') -          ['begin_gteq', 'end_lteq'].each_with_index do |field, index| +          ['start_date', 'end_date'].each_with_index do |field, index|              expect(find("#q_validity_period_#{field}_3i").value).to eq dates[index].day.to_s              expect(find("#q_validity_period_#{field}_2i").value).to eq dates[index].month.to_s              expect(find("#q_validity_period_#{field}_1i").value).to eq dates[index].year.to_s | 
