app/views/admin/domain_versions/archive.haml
= render 'shared/title', name: t(:domains)
.row
.col-md-12
= search_form_for [:admin, @q], html: { style: 'margin-bottom: 0;', class: 'js-form', autocomplete: 'off' } do |f|
.row
.col-md-3
.form-group
= label_tag :name
= f.search_field :name, value: params[:q][:name], class: 'form-control', placeholder: t(:name)
.col-md-3
.form-group
= label_tag :registrant
= f.search_field :registrant, value: params[:q][:registrant], class: 'form-control', placeholder: t('.registrant_placeholder')
.col-md-3
.form-group
= label_tag t(:registrar_name)
= select_tag '[q][registrar]', options_for_select(Registrar.all.map { |r| [r.name] }, selected: params[:q][:registrar]), { include_blank: true, class: 'form-control', placeholder: t('.registrant')}
.col-md-3
.form-group
= label_tag :action
= select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy'], ['Create', 'create']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' }
.row
.col-md-3
.form-group
= f.label t(:created_at_from)
= f.search_field :created_at_gteq, value: params[:q][:created_at_gteq], class: 'form-control js-datepicker', placeholder: t(:created_at_from)
.col-md-3
.form-group
= f.label t(:created_at_until)
= f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control js-datepicker', placeholder: t(:created_at_until)
.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;float:right;padding-right: 0px;'}
%button.btn.btn-primary
%span.glyphicon.glyphicon-search
= link_to(t('.csv_btn'), admin_domain_versions_path(format: :csv, params: params.permit!), class: 'btn btn-default')
= link_to(t('.reset_btn'), admin_domain_versions_path, class: 'btn btn-default')
%hr
.row
.col-md-12
.table-responsive
%table.table.table-hover.table-bordered.table-condensed
%thead
%tr
%th{class: 'col-xs-2'}
= t(:name)
%th{class: 'col-xs-2'}
= t('.registrant')
%th{class: 'col-xs-2'}
= t(:registrar_name)
%th{class: 'col-xs-2'}
= t(:action)
%th{class: 'col-xs-2'}
= t(:created_at)
%tbody
- @versions.each do |version|
- if version
- domain = ObjectVersionsParser.new(version).parse
%tr
%td= link_to(domain.name, admin_domain_version_path(version.id))
%td
- if domain.registrant
= domain.registrant.name
- else
- contact = Contact.all_versions_for([domain.registrant_id], version.created_at).first
- if contact.nil? && ver = Version::ContactVersion.where(item_id: domain.registrant_id).last
- merged_obj = ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last }
- result = ver.object.to_h.merge(merged_obj)&.slice(*Contact&.column_names)
- contact = Contact.new(result)
= contact.try(:name)
= " ".html_safe
= "(#{t(:deleted)})"
%td
- if domain.registrar
= link_to(domain.registrar, admin_registrar_path(domain.registrar))
%td= version.event
%td= l(version.created_at, format: :short)
.row
.col-md-6
= paginate @versions
.col-md-6.text-right
.pagination
= t(:result_count, count: @versions.total_count)