diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb new file mode 100644 index 000000000..cd49011a0 --- /dev/null +++ b/app/controllers/admin/contact_versions_controller.rb @@ -0,0 +1,39 @@ +class Admin::ContactVersionsController < AdminController + load_and_authorize_resource + + def index + params[:q] ||= {} + @q = ContactVersion.search(params[:q]) + @versions = @q.result.page(params[:page]) + + versions = ContactVersion.all + + normalize_search_parameters do + @q = versions.search(params[:q]) + @versions = @q.result.page(params[:page]) + end + + @versions = @versions.per(params[:results_per_page]) if params[:results_per_page].to_i > 0 + end + + def search + render json: ContactVersion.search_by_query(params[:q]) + end + + def normalize_search_parameters + ca_cache = params[:q][:created_at_lteq] + begin + end_time = params[:q][:created_at_lteq].try(:to_date) + params[:q][:created_at_lteq] = end_time.try(:end_of_day) + end_time = params[:q][:updated_at_gteq].try(:to_date) + params[:q][:updated_at_lteq] = end_time.try(:end_of_day) + rescue + logger.warn('Invalid date') + end + + yield + + params[:q][:created_at_lteq] = ca_cache + end + +end diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 35fffbaa2..985c680f9 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -1,8 +1,8 @@ -#class Admin::DomainVersionsController < AdminController - #load_and_authorize_resource +class Admin::DomainVersionsController < AdminController + load_and_authorize_resource # rubocop:disable Style/GuardClause - #def index + def index # @domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first # @versions = @domain.versions @@ -13,6 +13,6 @@ # @pending_domain = Epp::Domain.find(@domain.id) # @pending_domain.update(frame, @pending_user, false) # end - #end + end # rubocop:enable Style/GuardClause - #end + end diff --git a/app/controllers/admin/domains_versions_controller.rb b/app/controllers/admin/domains_versions_controller.rb deleted file mode 100644 index 505ebf2c1..000000000 --- a/app/controllers/admin/domains_versions_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -class Admin::DomainsVersionsController < AdminController - load_and_authorize_resource - - def index - - end -end diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml new file mode 100644 index 000000000..e86b56e5b --- /dev/null +++ b/app/views/admin/contact_versions/index.haml @@ -0,0 +1,40 @@ += render 'shared/title', name: t(:contact_versions) + + +%hr +.row + .col-md-12 + .table-responsive + %table.table.table-hover.table-bordered.table-condensed + %thead + %tr + %th{class: 'col-xs-2'} + = sort_link(@q, 'name', t(:ID)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'code', t(:item_id)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'ident', t(:event)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'email', t(:object)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'registrar_name', t(:registrar)) + %tbody + - @versions.each do |version| + %tr + %td= 1 + %td= 2 + %td= 3 + %td= 4 + %td= 5 + +.row + .col-md-6 + = paginate @versions + .col-md-6.text-right + .pagination + = t(:result_count, count: @contacts.total_count) + +:coffee + $(".js-reset-form").on "click", (e) -> + e.preventDefault(); + window.location = "#{admin_contact_versions_path}" diff --git a/app/views/layouts/admin/application.haml b/app/views/layouts/admin/application.haml index a4481d6e6..6baef9abf 100644 --- a/app/views/layouts/admin/application.haml +++ b/app/views/layouts/admin/application.haml @@ -58,8 +58,8 @@ %li= link_to t(:account_activities), admin_account_activities_path %li.divider %li.dropdown-header= t(:archive) - %li= link_to t(:domains_history), admin_domains_versions_path - %li= link_to t(:contacts_history), admin_contacts_versions_path + %li= link_to t(:domains_history), admin_domain_versions_path + %li= link_to t(:contacts_history), admin_contact_versions_path %li.divider %li.dropdown-header= t(:system) %li= link_to t(:settings), admin_settings_path diff --git a/config/routes.rb b/config/routes.rb index 7a5f6cb2a..2dfc608cd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -201,13 +201,13 @@ Rails.application.routes.draw do end end - resources :domains_versions do + resources :domain_versions do collection do get 'search' end end - resources :contacts_versions do + resources :contact_versions do collection do get 'search' end