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

@ -1,18 +1,48 @@
class Admin::DomainVersionsController < AdminController
load_and_authorize_resource
# rubocop:disable Style/GuardClause
def index
# @domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first
# @versions = @domain.versions
params[:q] ||= {}
@q = DomainVersion.includes(:item).search(params[:q])
@versions = @q.result.page(params[:page])
search_params = params[:q].deep_dup
if search_params[:registrant]
registrant = Contact.find_by_name(search_params[:registrant])
search_params.delete(:registrant)
end
if search_params[:registrar]
registrar = Registrar.find_by_name(search_params[:registrar])
search_params.delete(:registrar)
end
whereS = "1=1"
search_params.each do |key, value|
next if value.empty?
whereS += create_where_string(key, value)
end
whereS += " AND object->>'registrant_id' ~ '#{registrant.id}'" if registrant
whereS += " AND object->>'registrar_id' ~ '#{registrar.id}'" if registrar
versions = DomainVersion.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
render "admin/domain_versions/archive"
# Depricated it had to load legal document. We may do it by parsing and adding link.
# if @domain.pending_json.present?
# frame = Nokogiri::XML(@domain.pending_json['frame'])
# @pending_user = User.find(@domain.pending_json['current_user_id'])
# @pending_domain = Epp::Domain.find(@domain.id)
# @pending_domain.update(frame, @pending_user, false)
# end
end
# rubocop:enable Style/GuardClause
def search
render json: DomainVersion.search_by_query(params[:q])
end
def create_where_string(key, value)
" AND object->>'#{key}' ~ '#{value}'"
end
end