108869472-archive

This commit is contained in:
Stas 2016-01-12 18:37:05 +02:00
parent a8ff887717
commit 9278e6703f
5 changed files with 171 additions and 39 deletions

View file

@ -3,37 +3,30 @@ class Admin::ContactVersionsController < AdminController
def index
params[:q] ||= {}
@q = ContactVersion.search(params[:q])
@versions = @q.result.page(params[:page])
versions = ContactVersion.all
whereS = "1=1"
normalize_search_parameters do
@q = versions.search(params[:q])
@versions = @q.result.page(params[:page])
params[:q].each do |key, value|
next if value.empty?
whereS += create_where_string(key, value)
end
versions = ContactVersion.includes(:item).where(whereS)
@q = versions.search(params[:q])
@versions = @q.result.page(params[:page])
@versions = @versions.per(params[:results_per_page]) if params[:results_per_page].to_i > 0
end
def search
render json: ContactVersion.search_by_query(params[:q])
end
def normalize_search_parameters
ca_cache = params[:q][:created_at_lteq]
begin
end_time = params[:q][:created_at_lteq].try(:to_date)
params[:q][:created_at_lteq] = end_time.try(:end_of_day)
end_time = params[:q][:updated_at_gteq].try(:to_date)
params[:q][:updated_at_lteq] = end_time.try(:end_of_day)
rescue
logger.warn('Invalid date')
end
yield
params[:q][:created_at_lteq] = ca_cache
def create_where_string(key, value)
" AND object->>'#{key}' ~ '#{value}'"
end
end