diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 8946b006d..86af8e792 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -63,8 +63,11 @@ module Admin # rubocop:enable Metrics/MethodLength def versions + per_page = 10 @domain = Domain.where(id: params[:domain_id]).includes({ versions: :item }).first @versions = @domain.versions + @last_version = @versions.last + @old_versions = Kaminari.paginate_array(@versions.not_creates.reverse).page(params[:page]).per(per_page) end def keep diff --git a/app/views/admin/domains/versions.haml b/app/views/admin/domains/versions.haml index 7447ab6f8..e47463302 100644 --- a/app/views/admin/domains/versions.haml +++ b/app/views/admin/domains/versions.haml @@ -25,17 +25,25 @@ domain: @pending_domain, pending_user: @pending_user, statuses_link: true -# current version - - if @domain.versions.present? - %tr.small - = render 'admin/domains/partials/version', - domain: @domain, version: @domain.versions.last + - if @versions.present? + - if params[:page].blank? || (params[:page].present? && params[:page].to_i < 2) + %tr.small + = render 'admin/domains/partials/version', + domain: @domain, version: @last_version -# all other older versions - - @domain.versions.not_creates.reverse.each do |version| + - @old_versions.each do |version| %tr.small = render 'admin/domains/partials/version', domain: version.reify, version: version.previous +.row + .col-md-6 + = paginate @old_versions + .col-md-6.text-right + .pagination + = t(:result_count, count: @old_versions.total_count + 1) + :javascript window.addEventListener('load', function() { $(document).on('click', '.js-pending, .js-event', function(e) { diff --git a/config/locales/en.yml b/config/locales/en.yml index f80b14533..069f997ce 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -622,7 +622,10 @@ en: contact_ident: 'Contact ident' results_per_page: 'Results per page' nameserver_hostname: 'Nameserver hostname' - result_count: '%{count} results' + result_count: + zero: 'No results' + other: '%{count} results' + one: '1 result' failed_to_generate_invoice_invoice_number_limit_reached: 'Failed to generate invoice - invoice number limit reached' is_too_small_minimum_deposit_is: 'is too small. Minimum deposit is %{amount} %{currency}' poll_pending_update_confirmed_by_registrant: 'Registrant confirmed domain update'