From ff33eaa03137327ea4efb78ddb86052777b11a85 Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 20 Apr 2016 18:59:13 +0300 Subject: [PATCH 1/4] 108869472-like_query --- app/controllers/admin/domain_versions_controller.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 463bd8739..88e681b8b 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -9,12 +9,14 @@ class Admin::DomainVersionsController < AdminController search_params = params[:q].deep_dup if search_params[:registrant] - registrant = Contact.find_by(name: search_params[:registrant].strip) + #registrants = Contact.find_by(name: search_params[:registrant].strip) + registrants = Contact.where("name like ?", "%#{search_params[:registrant].strip}%") search_params.delete(:registrant) end if search_params[:registrar] - registrar = Registrar.find_by(name: search_params[:registrar].strip) + #registrar = Registrar.find_by(name: search_params[:registrar].strip) + registrars = Registrar.where("name like ?", "%#{search_params[:registrar].strip}%") search_params.delete(:registrar) end @@ -30,8 +32,8 @@ class Admin::DomainVersionsController < AdminController end end - whereS += " AND object->>'registrant_id' = '#{registrant.id}'" if registrant - whereS += " AND object->>'registrar_id' = '#{registrar.id}'" if registrar + whereS += " AND object->>'registrant_id' IN (#{registrants.map { |r| "'#{r.id.to_s}'" }.join ','})" if registrants + whereS += " AND object->>'registrar_id' IN (#{registrars.map { |r| "'#{r.id.to_s}'" }.join ','})" if registrars versions = DomainVersion.includes(:item).where(whereS) @q = versions.search(params[:q]) From a09e6b1a42679e02bd57010322bef4518ab2f2f3 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 21 Apr 2016 15:21:59 +0300 Subject: [PATCH 2/4] 108869472-new_qieries_and_views --- .../admin/contact_versions_controller.rb | 4 +-- app/views/admin/contact_versions/index.haml | 2 +- app/views/admin/contact_versions/show.haml | 34 +++++++++++-------- app/views/admin/domain_versions/show.haml | 20 ++++++++--- 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb index 215d6203c..9c8d05e61 100644 --- a/app/controllers/admin/contact_versions_controller.rb +++ b/app/controllers/admin/contact_versions_controller.rb @@ -30,7 +30,7 @@ class Admin::ContactVersionsController < AdminController def show per_page = 7 @version = ContactVersion.find(params[:id]) - @q = ContactVersion.where(item_id: @version.item_id).order(created_at: :asc).search + @q = ContactVersion.where(item_id: @version.item_id).order(created_at: :desc).search @versions = @q.result.page(params[:page]) @versions = @versions.per(per_page) end @@ -40,7 +40,7 @@ class Admin::ContactVersionsController < AdminController end def create_where_string(key, value) - " AND object->>'#{key}' ~ '#{value}'" + " AND object->>'#{key}' LIKE '%#{value}%'" end end diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index e39c20b1f..0e513f37b 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -11,7 +11,7 @@ .col-md-3 .form-group = f.label :id - = f.search_field :id, value: params[:q][:id], class: 'form-control', placeholder: t(:id) + = f.search_field :code, value: params[:q][:code], class: 'form-control', placeholder: t(:id) .col-md-3 .form-group = f.label :ident diff --git a/app/views/admin/contact_versions/show.haml b/app/views/admin/contact_versions/show.haml index 3d4785159..d48f22be6 100644 --- a/app/views/admin/contact_versions/show.haml +++ b/app/views/admin/contact_versions/show.haml @@ -19,14 +19,15 @@ %dt= t(:ident) %dd= ident_for(contact) - %dt= t(:email) - %dd= contact.email + - if contact.email.present? + %dt= t(:email) + %dd= contact.email - - if contact.phone + - if contact.phone.present? %dt= t(:phone) %dd= contact.phone - - if contact.fax + - if contact.fax.present? %dt= t(:fax) %dd= contact.fax @@ -50,20 +51,25 @@ %dt= t(:org_name) %dd= contact.org_name - %dt= t(:street) - %dd= contact.street.to_s.gsub("\n", '
').html_safe + - if contact.street.present? + %dt= t(:street) + %dd= contact.street.to_s.gsub("\n", '
').html_safe - %dt= t(:city) - %dd= contact.city + - if contact.city.present? + %dt= t(:city) + %dd= contact.city - %dt= t(:zip) - %dd= contact.zip + - if contact.zip.present? + %dt= t(:zip) + %dd= contact.zip - %dt= t(:state) - %dd= contact.state + - if contact.state.present? + %dt= t(:state) + %dd= contact.state - %dt= t(:country) - %dd= contact.country + - if contact.country.present? + %dt= t(:country) + %dd= contact.country %span{:style => "padding-right:10px; float: right;"} diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 9143abeed..206c274a2 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -13,7 +13,7 @@ .row .col-md-8 - .panel.panel-default{:style => "min-height:400px;"} + .panel.panel-default{:style => "min-height:450px;"} .panel-heading %h3.panel-title = l(@version.created_at, format: :short) @@ -24,7 +24,19 @@ %dt= t(:name) %dd= link_to(domain.name, admin_domain_path(@version.item_id)) %dt= t(:registered_at) - %dd= l(domain.registered_at, format: :short) + %dd + = l(domain.registered_at, format: :short) + + %dt= t(:created) + %dd + = l(domain.created_at, format: :short) + + %dt= t(:updated) + %dd + = l(domain.updated_at, format: :short) + + %br + %dt= t(:statuses) %dd - if domain.statuses.present? @@ -63,7 +75,7 @@ %br %dt= t(:registrar) %dd= domain.registrar.name - %span{:style => "padding-right:10px; padding-top:40px; float: right; bottom: 10px;"} + %span{:style => "padding-right:10px; float: right; bottom: 10px;"} - if @version.previous = link_to(t(:previous), admin_domain_version_path(@version.previous.id), @@ -80,7 +92,7 @@ %span= t(:next) .col-md-4 - .panel.panel-default{:style => "min-height:400px;"} + .panel.panel-default{:style => "min-height:450px;"} %ul.nav.nav-pills.nav-stacked - @versions.each do |vs| - if vs.id == @version.id and vs.reify From 76d5c96612d17ab829fa74cea8375c51bb069357 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 21 Apr 2016 16:19:47 +0300 Subject: [PATCH 3/4] 108869472-deleted_old_code --- app/controllers/admin/domain_versions_controller.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 88e681b8b..cbc3205a3 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -8,14 +8,12 @@ class Admin::DomainVersionsController < AdminController @versions = @q.result.page(params[:page]) search_params = params[:q].deep_dup - if search_params[:registrant] - #registrants = Contact.find_by(name: search_params[:registrant].strip) + if search_params[:registrant].present? registrants = Contact.where("name like ?", "%#{search_params[:registrant].strip}%") search_params.delete(:registrant) end - if search_params[:registrar] - #registrar = Registrar.find_by(name: search_params[:registrar].strip) + if search_params[:registrar].present? registrars = Registrar.where("name like ?", "%#{search_params[:registrar].strip}%") search_params.delete(:registrar) end From 95dce72bd69707349c6b38e5af02eeb4102c7b00 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 21 Apr 2016 16:21:19 +0300 Subject: [PATCH 4/4] 108869472-template_view_modified --- app/views/admin/domain_versions/show.haml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 206c274a2..c384e4efb 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -1,3 +1,6 @@ +- domain = Domain.new(@version.object.to_h) +- @version.object_changes.to_h.each{|k,v| domain[k]=v.last} + - if @version - children = HashWithIndifferentAccess.new(@version.children) - nameservers = Nameserver.where(id: children[:nameservers]) @@ -6,8 +9,6 @@ - registrant = Contact.where(id: children[:registrant]) - event = @version.event - creator = plain_username(@version.terminator) - - domain = Domain.new(@version.object.to_h) - - @version.object_changes.to_h.each{|k,v| domain[k]=v.last} = render 'shared/title', name: domain.name