Added pagination on wiki page history.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@571 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
600018d5ad
commit
6d7a855ca2
|
@ -77,10 +77,17 @@ class WikiController < ApplicationController
|
||||||
# show page history
|
# show page history
|
||||||
def history
|
def history
|
||||||
@page = @wiki.find_page(params[:page])
|
@page = @wiki.find_page(params[:page])
|
||||||
|
|
||||||
|
@version_count = @page.content.versions.count
|
||||||
|
@version_pages = Paginator.new self, @version_count, 25, params['p']
|
||||||
# don't load text
|
# don't load text
|
||||||
@versions = @page.content.versions.find :all,
|
@versions = @page.content.versions.find :all,
|
||||||
:select => "id, author_id, comments, updated_on, version",
|
:select => "id, author_id, comments, updated_on, version",
|
||||||
:order => 'version DESC'
|
:order => 'version DESC',
|
||||||
|
:limit => @version_pages.items_per_page,
|
||||||
|
:offset => @version_pages.current.offset
|
||||||
|
|
||||||
|
render :layout => false if request.xhr?
|
||||||
end
|
end
|
||||||
|
|
||||||
# remove a wiki page and its history
|
# remove a wiki page and its history
|
||||||
|
|
|
@ -94,20 +94,22 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def pagination_links_full(paginator, options={}, html_options={})
|
def pagination_links_full(paginator, options={}, html_options={})
|
||||||
|
page_param = options.delete(:page_param) || :page
|
||||||
|
|
||||||
html = ''
|
html = ''
|
||||||
html << link_to_remote(('« ' + l(:label_previous)),
|
html << link_to_remote(('« ' + l(:label_previous)),
|
||||||
{:update => "content", :url => options.merge(:page => paginator.current.previous)},
|
{:update => "content", :url => options.merge(page_param => paginator.current.previous)},
|
||||||
{:href => url_for(:params => options.merge(:page => paginator.current.previous))}) + ' ' if paginator.current.previous
|
{:href => url_for(:params => options.merge(page_param => paginator.current.previous))}) + ' ' if paginator.current.previous
|
||||||
|
|
||||||
html << (pagination_links_each(paginator, options) do |n|
|
html << (pagination_links_each(paginator, options) do |n|
|
||||||
link_to_remote(n.to_s,
|
link_to_remote(n.to_s,
|
||||||
{:url => {:params => options.merge(:page => n)}, :update => 'content'},
|
{:url => {:params => options.merge(page_param => n)}, :update => 'content'},
|
||||||
{:href => url_for(:params => options.merge(:page => n))})
|
{:href => url_for(:params => options.merge(page_param => n))})
|
||||||
end || '')
|
end || '')
|
||||||
|
|
||||||
html << ' ' + link_to_remote((l(:label_next) + ' »'),
|
html << ' ' + link_to_remote((l(:label_next) + ' »'),
|
||||||
{:update => "content", :url => options.merge(:page => paginator.current.next)},
|
{:update => "content", :url => options.merge(page_param => paginator.current.next)},
|
||||||
{:href => url_for(:params => options.merge(:page => paginator.current.next))}) if paginator.current.next
|
{:href => url_for(:params => options.merge(page_param => paginator.current.next))}) if paginator.current.next
|
||||||
html
|
html
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -25,4 +25,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<p><%= pagination_links_full @version_pages, :page_param => :p %>
|
||||||
|
[ <%= @version_pages.current.first_item %> - <%= @version_pages.current.last_item %> / <%= @version_count %> ]</p>
|
||||||
|
|
||||||
<p><%= link_to l(:button_back), :action => 'index', :page => @page.title %></p>
|
<p><%= link_to l(:button_back), :action => 'index', :page => @page.title %></p>
|
Loading…
Reference in New Issue