From 4b9ba0fe13d5afdfe19e4ae77a1c66d02add0ea7 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Wed, 25 May 2016 11:09:06 +0300 Subject: [PATCH] Story#108869472 - contact history uses same pagination what domain history does --- .../admin/contact_versions_controller.rb | 17 +++++++++++++---- app/views/admin/contact_versions/show.haml | 16 +++++----------- app/views/admin/domain_versions/show.haml | 14 ++++---------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb index 9c8d05e61..cf7648720 100644 --- a/app/controllers/admin/contact_versions_controller.rb +++ b/app/controllers/admin/contact_versions_controller.rb @@ -29,10 +29,19 @@ class Admin::ContactVersionsController < AdminController def show per_page = 7 - @version = ContactVersion.find(params[:id]) - @q = ContactVersion.where(item_id: @version.item_id).order(created_at: :desc).search - @versions = @q.result.page(params[:page]) - @versions = @versions.per(per_page) + @version = ContactVersion.find(params[:id]) + @versions = ContactVersion.where(item_id: @version.item_id).order(created_at: :desc) + + # what we do is calc amount of results until needed version + # then we cacl which page it is + if params[:page].blank? + counter = @versions.where("created_at > ?", @version.created_at).count + page = counter / per_page + page += 1 if (counter % per_page) != 0 + params[:page] = page + end + + @versions = @versions.page(params[:page]).per(per_page) end def search diff --git a/app/views/admin/contact_versions/show.haml b/app/views/admin/contact_versions/show.haml index d48f22be6..6bfe88ecc 100644 --- a/app/views/admin/contact_versions/show.haml +++ b/app/views/admin/contact_versions/show.haml @@ -92,15 +92,9 @@ .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.created_at, format: :short) - = vs.event - - else - %li - = link_to admin_contact_version_path(vs.id) do - = l(vs.created_at, format: :short) - = vs.event + %li{class: (vs.id == @version.id) && :active} + = link_to admin_contact_version_path(vs.id, page: params[:page]) do + = l(vs.created_at, format: :short) + = vs.event %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} - = paginate @versions \ No newline at end of file + = paginate @versions, theme: :admin \ No newline at end of file diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 2a245ab1f..999714ad3 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -96,15 +96,9 @@ .panel.panel-default{:style => "min-height:450px;"} %ul.nav.nav-pills.nav-stacked - @versions.each do |vs| - - if vs.id == @version.id - %li.active - = link_to admin_domain_version_path(vs) do - = l(vs.created_at, format: :short) - = vs.event - - else - %li - = link_to admin_domain_version_path(vs) do - = l(vs.created_at, format: :short) - = vs.event + %li{class: (vs.id == @version.id) && :active} + = link_to admin_domain_version_path(vs) do + = l(vs.created_at, format: :short) + = vs.event %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} = paginate @versions, theme: :admin