From 812daff1e5f24695257e40a0ff55827fabed08bf Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Wed, 29 Jul 2015 11:59:35 +0300 Subject: [PATCH] Make date until inclusive in invoice search, registrar #2666 --- app/assets/javascripts/shared/general.coffee | 3 +- .../registrar/invoices_controller.rb | 31 ++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/shared/general.coffee b/app/assets/javascripts/shared/general.coffee index db6e371c3..17b4f5725 100644 --- a/app/assets/javascripts/shared/general.coffee +++ b/app/assets/javascripts/shared/general.coffee @@ -22,8 +22,7 @@ $(document).on 'page:change', -> tomorrow.setDate(today.getDate() + 1) $('.datepicker').datepicker( - dateFormat: "yy-mm-dd", - maxDate: tomorrow + dateFormat: "yy-mm-dd" ) if $('.js-combobox').length diff --git a/app/controllers/registrar/invoices_controller.rb b/app/controllers/registrar/invoices_controller.rb index 23af8ab77..543c4623d 100644 --- a/app/controllers/registrar/invoices_controller.rb +++ b/app/controllers/registrar/invoices_controller.rb @@ -6,15 +6,15 @@ class Registrar::InvoicesController < RegistrarController def index params[:q] ||= {} invoices = current_user.registrar.invoices.includes(:invoice_items, :account_activity) - params[:q][:sum_cache_gteq].gsub!(',', '.') if params[:q][:sum_cache_gteq] - params[:q][:sum_cache_lteq].gsub!(',', '.') if params[:q][:sum_cache_lteq] - @q = invoices.search(params[:q]) - @q.sorts = 'id desc' if @q.sorts.empty? - @invoices = @q.result.page(params[:page]) + + normalize_search_parameters do + @q = invoices.search(params[:q]) + @q.sorts = 'id desc' if @q.sorts.empty? + @invoices = @q.result.page(params[:page]) + end end - def show - end + def show; end def forward @invoice.billing_email = @invoice.buyer.billing_email @@ -51,4 +51,21 @@ class Registrar::InvoicesController < RegistrarController def set_invoice @invoice = Invoice.find(params[:id]) end + + def normalize_search_parameters + params[:q][:sum_cache_gteq].gsub!(',', '.') if params[:q][:sum_cache_gteq] + params[:q][:sum_cache_lteq].gsub!(',', '.') if params[:q][:sum_cache_lteq] + + ca_cache = params[:q][:due_date_lteq] + begin + end_time = params[:q][:due_date_lteq].try(:to_date) + params[:q][:due_date_lteq] = end_time.try(:end_of_day) + rescue + logger.warn('Invalid date') + end + + yield + + params[:q][:due_date_lteq] = ca_cache + end end