108869472-sorting_changes

This commit is contained in:
Stas 2016-07-28 15:35:19 +03:00
parent b013acad7c
commit d2ce612078
4 changed files with 12 additions and 11 deletions

View file

@ -30,12 +30,13 @@ class Admin::ContactVersionsController < AdminController
def show def show
per_page = 7 per_page = 7
@version = ContactVersion.find(params[:id]) @version = ContactVersion.find(params[:id])
@versions = ContactVersion.where(item_id: @version.item_id).order(id: :desc) @versions = ContactVersion.where(item_id: @version.item_id).order(created_at: :desc, id: :desc)
@versions_map = @versions.all.map(&:id)
# what we do is calc amount of results until needed version # what we do is calc amount of results until needed version
# then we cacl which page it is # then we cacl which page it is
if params[:page].blank? if params[:page].blank?
counter = @versions.where("id > ?", @version.id).count counter = @versions_map.index(@version.id) + 1
page = counter / per_page page = counter / per_page
page += 1 if (counter % per_page) != 0 page += 1 if (counter % per_page) != 0
params[:page] = page params[:page] = page
@ -49,7 +50,7 @@ class Admin::ContactVersionsController < AdminController
end end
def create_where_string(key, value) def create_where_string(key, value)
" AND object->>'#{key}' ILIKE '%#{value}%'" " AND object->>'#{key}' ~* '#{value}'"
end end
end end

View file

@ -48,7 +48,7 @@ class Admin::DomainVersionsController < AdminController
def show def show
per_page = 7 per_page = 7
@version = DomainVersion.find(params[:id]) @version = DomainVersion.find(params[:id])
@versions = DomainVersion.where(item_id: @version.item_id).order(id: :desc) @versions = DomainVersion.where(item_id: @version.item_id).order(created_at: :desc, id: :desc)
@versions_map = @versions.all.map(&:id) @versions_map = @versions.all.map(&:id)
# what we do is calc amount of results until needed version # what we do is calc amount of results until needed version

View file

@ -81,27 +81,27 @@
%span{:style => "padding-right:10px; float: right;"} %span{:style => "padding-right:10px; float: right;"}
- if @version.previous - if (prev = @versions_map[(@versions_map.index(@version.id) - 1)]) && @versions_map.index(@version.id) != 0
= link_to(t(:previous), = link_to(t(:previous),
admin_contact_version_path(@version.previous.id), admin_contact_version_path(prev),
class: 'btn btn-primary') class: 'btn btn-primary')
- else - else
%a.btn.btn-primary.disabled{:href => "#"} %a.btn.btn-primary.disabled{:href => "#"}
%span= t(:previous) %span= t(:previous)
- if @version.next - if nxt = @versions_map[(@versions_map.index(@version.id) + 1)]
= link_to(t(:next), = link_to(t(:next),
admin_contact_version_path(@version.next.id), admin_contact_version_path(nxt),
class: 'btn btn-default') class: 'btn btn-default')
- else - else
%a.btn.btn-default.disabled{:href => "#"} %a.btn.btn-default.disabled{:href => "#"}
%span= t(:next) %span= t(:next)
.col-md-4 .col-md-4
.panel.panel-default{:style => "min-height:420px;"} .panel.panel-default{:style => "min-height:450px;"}
%ul.nav.nav-pills.nav-stacked %ul.nav.nav-pills.nav-stacked
- @versions.each do |vs| - @versions.each do |vs|
%li{class: (vs.id == @version.id) && :active} %li{class: (vs.id == @version.id) && :active}
= link_to admin_contact_version_path(vs.id, page: params[:page]) do = link_to admin_contact_version_path(vs) do
= l(vs.created_at, format: :short) = l(vs.created_at, format: :short)
= vs.event = vs.event
%span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"}

View file

@ -104,7 +104,7 @@
= domain.registrar.name = domain.registrar.name
%span{:style => "margin: 20px 20px; clear:both;"} %span{:style => "margin: 20px 20px; clear:both;"}
- if prev = @versions_map[(@versions_map.index(@version.id) - 1)] - if (prev = @versions_map[(@versions_map.index(@version.id) - 1)]) && @versions_map.index(@version.id) != 0
= link_to(t(:previous), = link_to(t(:previous),
admin_domain_version_path(prev), admin_domain_version_path(prev),
class: 'btn btn-primary') class: 'btn btn-primary')