internetee/registry

View on GitHub
app/views/admin/contacts/index.haml

Summary

Maintainability
Test Coverage
= render 'shared/title', name: t(:contacts)

.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
            = f.label :name
            = f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name)
        .col-md-3
          .form-group
            = f.label t(:id)
            = f.search_field :code_matches, value: params[:q][:code_matches], class: 'form-control', placeholder: t(:id)
        .col-md-3
          .form-group
            = f.label t(:ident)
            = f.search_field :ident_matches, value: params[:q][:ident_matches], class: 'form-control', placeholder: t(:ident)
        .col-md-3
          .form-group
            = label_tag t(:ident_type)
            = select_tag '[q][ident_type_eq]', options_for_select(ident_types, params[:q][:ident_type_eq]), { placeholder: t(:choose), multiple: true, class: 'form-control js-combobox' }
      .row
        .col-md-3
          .form-group
            = f.label t(:email)
            = f.search_field :email_matches, value: params[:q][:email_matches], class: 'form-control', placeholder: t(:email)
        .col-md-3
          .form-group
            = label_tag t(:country)
            = select_tag '[q][country_code_eq]', options_for_select(ApplicationController.helpers.all_country_options(params[:q][:country_code_eq]), params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control' }
        .col-md-6
          .form-group
            = label_tag t(:contact_type)
            = select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
      .row
        .col-md-3
          .form-group
            = f.label t(:registrar_name)
            = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control', placeholder: t(:choose)
        .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
            = f.label t(:updated_at)
            = f.search_field :updated_at_gteq, value: params[:q][:updated_at_gteq], class: 'form-control js-datepicker', placeholder: t(:updated_at)
      .row
        .col-md-6
          .form-group
            = label_tag t(:status)
            = select_tag :statuses_contains, options_for_select(Contact::STATUSES, params[:statuses_contains]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
        .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
          .form-group
            = label_tag :only_no_country_code, "Ident CC missing"
            = check_box_tag :only_no_country_code, '1',params[:only_no_country_code].eql?('1'), style: 'width:auto;height:auto;float:right'

      .row
        .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_contacts_path(format: :csv, params: params.permit!), class: 'btn btn-default')
          = link_to(t('.reset_btn'), admin_contacts_path, class: 'btn btn-default')
%hr
.row
  .col-md-12
    .table-responsive
      %table.table.table-hover.table-bordered.table-condensed.contacts
        %thead
          %tr
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'name', t(:name))
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'code', t(:id))
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'ident', t(:ident))
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'email', t(:email))
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'created_at', t(:created_at))
            %th{class: 'col-xs-2'}
              = sort_link(@q, 'registrar_name', t(:registrar_name))
        %tbody
          - @contacts.each do |contact|
            %tr
              %td= link_to(contact, admin_contact_path(contact))
              %td= contact.code
              %td= ident_for(contact)
              %td= contact.email
              %td= l(contact.created_at, format: :short)
              %td
                - if contact.registrar
                  = link_to(contact.registrar, admin_registrar_path(contact.registrar))

.row
  .col-md-6
    = paginate @contacts
  .col-md-6.text-right
    .pagination
      = t(:result_count, count: @contacts.total_count)