diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb index d6c7deb9e..59aedfcac 100644 --- a/app/controllers/admin/contact_versions_controller.rb +++ b/app/controllers/admin/contact_versions_controller.rb @@ -6,12 +6,18 @@ class Admin::ContactVersionsController < AdminController @q = ContactVersion.search(params[:q]) @versions = @q.result.page(params[:page]) + search_params = params[:q].deep_dup whereS = "1=1" - params[:q].each do |key, value| + search_params.each do |key, value| next if value.empty? - whereS += create_where_string(key, value) + case key + when 'event' + whereS += " AND event = '#{value}'" + else + whereS += create_where_string(key, value) + end end versions = ContactVersion.includes(:item).where(whereS) @@ -21,6 +27,14 @@ class Admin::ContactVersionsController < AdminController end + def show + per_page = 7 + @version = ContactVersion.find(params[:id]) + @q = ContactVersion.where(item_id: @version.item_id).search + @versions = @q.result.page(params[:page]) + @versions = @versions.per(per_page) + end + def search render json: ContactVersion.search_by_query(params[:q]) end diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 6aca493ea..4a309e9af 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -22,7 +22,12 @@ class Admin::DomainVersionsController < AdminController search_params.each do |key, value| next if value.empty? - whereS += create_where_string(key, value) + case key + when 'event' + whereS += " AND event = '#{value}'" + else + whereS += create_where_string(key, value) + end end whereS += " AND object->>'registrant_id' ~ '#{registrant.id}'" if registrant @@ -36,6 +41,14 @@ class Admin::DomainVersionsController < AdminController end + def show + per_page = 7 + @version = DomainVersion.find(params[:id]) + @q = DomainVersion.where(item_id: @version.item_id).search + @versions = @q.result.page(params[:page]) + @versions = @versions.per(per_page) + end + def search render json: DomainVersion.search_by_query(params[:q]) end diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index 00cdb53ee..f7602c565 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -23,6 +23,9 @@ .row .col-md-3 .col-md-3 + .form-group + = label_tag :action + = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .col-md-3 .form-group = label_tag t(:results_per_page) @@ -53,18 +56,21 @@ = t(:phone) %th{class: 'col-xs-2'} = t(:registrar) + %th{class: 'col-xs-2'} + = t(:action_date) %th{class: 'col-xs-2'} = t(:action) %tbody - @versions.each do |version| %tr - %td= version.reify.name + %td= link_to(version.reify.name, admin_contact_version_path(version.id)) %td= version.reify.code %td= ident_for(version.reify) %td= version.reify.phone %td - if version.reify.registrar = link_to(version.reify.registrar, admin_registrar_path(version.reify.registrar)) + %td= l(version.created_at, format: :short) %td= version.event diff --git a/app/views/admin/contact_versions/show.haml b/app/views/admin/contact_versions/show.haml new file mode 100644 index 000000000..13aeb327a --- /dev/null +++ b/app/views/admin/contact_versions/show.haml @@ -0,0 +1,96 @@ += render 'shared/title', name: @version.reify.name + +.row + .col-md-8 + .panel.panel-default{:style => "min-height:420px;"} + .panel-heading + %h3.panel-title + = l(@version.reify.updated_at, format: :short) + = @version.event + = plain_username(@version.terminator) + .panel-body + %dl.dl-horizontal + %dt= t(:id) + %dd= @version.reify.code + + %dt= t(:ident) + %dd= ident_for(@version.reify) + + %dt= t(:email) + %dd= @version.reify.email + + %dt= t(:phone) + %dd= @version.reify.phone + + - if @version.reify.fax + %dt= t(:fax) + %dd= @version.reify.fax + + %br + + %dt= t(:created) + %dd + = l(@version.reify.created_at, format: :short) + + %dt= t(:updated) + %dd + = l(@version.reify.updated_at, format: :short) + + %dt= t(:registrar) + %dd + - if @version.reify.registrar.present? + = link_to(@version.reify.registrar, admin_registrar_path(@version.reify.registrar)) + + %dl.dl-horizontal + - if @version.reify.org_name.present? + %dt= t(:org_name) + %dd= @version.reify.org_name + + %dt= t(:street) + %dd= @version.reify.street.to_s.gsub("\n", '
').html_safe + + %dt= t(:city) + %dd= @version.reify.city + + %dt= t(:zip) + %dd= @version.reify.zip + + %dt= t(:state) + %dd= @version.reify.state + + %dt= t(:country) + %dd= @version.reify.country + + + %span{:style => "padding-right:10px; float: right;"} + - if @version.previous + = link_to(t(:previous), + admin_contact_version_path(@version.previous.id), + class: 'btn btn-primary') + - else + %a.btn.btn-primary.disabled{:href => "#"} + %span= t(:previous) + - if @version.next + = link_to(t(:next), + admin_contact_version_path(@version.next.id), + class: 'btn btn-default') + - else + %a.btn.btn-default.disabled{:href => "#"} + %span= t(:next) + + .col-md-4 + .panel.panel-default{:style => "min-height:420px;"} + %ul.nav.nav-pills.nav-stacked + - @versions.each do |vs| + - if vs.id == @version.id + %li.active + = link_to admin_contact_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + - else + %li + = link_to admin_contact_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} + = paginate @versions \ No newline at end of file diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index f4b87cbae..6a8df123c 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -18,12 +18,15 @@ = f.search_field :registrar, value: params[:q][:registrar], class: 'form-control', placeholder: t(:registrant) .col-md-3 .form-group - = label_tag t(:results_per_page) - = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) + = label_tag :action + = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .row .col-md-3 .col-md-3 .col-md-3 + .form-group + = label_tag t(:results_per_page) + = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) .col-md-3{style: 'padding-top: 25px;'} %button.btn.btn-primary   @@ -46,18 +49,21 @@ = t(:registrant) %th{class: 'col-xs-2'} = t(:registrar) + %th{class: 'col-xs-2'} + = t(:action_date) %th{class: 'col-xs-2'} = t(:action) %tbody - @versions.each do |version| %tr - %td= version.reify.name + %td= link_to(version.reify.name, admin_domain_version_path(version.id)) %td - if version.reify.registrant = link_to(version.reify.registrant, admin_registrant_path(version.reify.registrant)) %td - if version.reify.registrar = link_to(version.reify.registrar, admin_registrar_path(version.reify.registrar)) + %td= l(version.created_at, format: :short) %td= version.event diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml new file mode 100644 index 000000000..5b11d15fb --- /dev/null +++ b/app/views/admin/domain_versions/show.haml @@ -0,0 +1,94 @@ += render 'shared/title', name: @version.reify.name + +- if @version + - children = HashWithIndifferentAccess.new(@version.children) + - nameservers = Nameserver.where(id: children[:nameservers]) + - tech_contacts = Contact.where(id: children[:tech_contacts]) + - admin_contacts = Contact.where(id: children[:admin_contacts]) + - registrant = Contact.where(id: children[:registrant]) + - event = @version.event + - creator = plain_username(@version.terminator) + + +.row + .col-md-8 + .panel.panel-default{:style => "min-height:400px;"} + .panel-heading + %h3.panel-title + = l(@version.reify.updated_at, format: :short) + = event + = creator + .panel-body + %dl.dl-horizontal + %dt= t(:name) + %dd= link_to(@version.reify.name, admin_domain_path(@version.item_id)) + %dt= t(:statuses) + %dd + - if @version.reify.statuses.present? + - @version.reify.statuses.each do |s| + = s + %dt= t(:registrant) + %dd + - registrant.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:admin_contacts) + %dd + - admin_contacts.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:tech_contacts) + %dd + - tech_contacts.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:nameservers) + %dd + - nameservers.each do |ns| + = ns[:hostname] + = ns[:ipv4] + = ns[:ipv6] + %br + %dt= t(:registrar) + %dd= @version.reify.registrar.name + %span{:style => "padding-right:10px; padding-top:40px; float: right; bottom: 10px;"} + - if @version.previous + = link_to(t(:previous), + admin_domain_version_path(@version.previous.id), + class: 'btn btn-primary') + - else + %a.btn.btn-primary.disabled{:href => "#"} + %span= t(:previous) + - if @version.next + = link_to(t(:next), + admin_domain_version_path(@version.next.id), + class: 'btn btn-default') + - else + %a.btn.btn-default.disabled{:href => "#"} + %span= t(:next) + + .col-md-4 + .panel.panel-default{:style => "min-height:400px;"} + %ul.nav.nav-pills.nav-stacked + - @versions.each do |vs| + - if vs.id == @version.id + %li.active + = link_to admin_domain_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + - else + %li + = link_to admin_domain_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} + = paginate @versions diff --git a/config/locales/en.yml b/config/locales/en.yml index e18601026..3a6650d4f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -281,7 +281,6 @@ en: domain_details: 'Domain details' registered_at: 'Registered at' password: 'Password' - authinfo_pw: 'AuthInfo pw' valid_from: 'Valid from' general: 'General' contacts: 'Contacts' @@ -353,8 +352,6 @@ en: status: 'Status' eedirekt: 'EEDirekt' contact: 'Contact' - credit_balance: 'Credit balance' - starting_balance: 'Starting balance' domain_transfer_requested: 'Domain transfer requested!' domain_transfer_approved: 'Domain transfer approved!' @@ -537,7 +534,6 @@ en: switch_to: Switch to admin_menu: Admin domain_transfer_was_approved: 'Domain transfer was approved, associated contacts were: %{contacts} and registrant was %{registrant}' - business_registry_service_not_available: "Business Registry service Ärireg is not available" # DEPP activemodel: @@ -559,7 +555,6 @@ en: username: 'Username' password: 'Password' - authinfo_pw: 'AuthInfo pw' log_in: 'Log in' domains: 'Domains' register: 'Register' @@ -910,7 +905,7 @@ en: edit_zone: 'Edit zone' there_are_count_domains_in_this_zone: 'There are %{count} domains in this zone' poll_pending_update_confirmed_by_registrant: 'Registrant confirmed domain update' - poll_pending_update_rejected_by_registrant: 'Registrant rejected domain update' + poll_pending_update_rejected_by_registranti: 'Registrant rejected domain update' poll_pending_delete_rejected_by_registrant: 'Registrant rejected domain deletion' poll_pending_delete_confirmed_by_registrant: 'Registrant confirmed domain deletion' manage: Manage @@ -939,3 +934,5 @@ en: add_blocked_domain: 'Add domain to blocked list' edit_pw: 'Edit Pw' optional: 'Optional' + next: 'Next' + previous: 'Previous'