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
|
||||
def history
|
||||
@page = @wiki.find_page(params[:page])
|
||||
# don't load text
|
||||
|
||||
@version_count = @page.content.versions.count
|
||||
@version_pages = Paginator.new self, @version_count, 25, params['p']
|
||||
# don't load text
|
||||
@versions = @page.content.versions.find :all,
|
||||
: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
|
||||
|
||||
# remove a wiki page and its history
|
||||
|
|
|
@ -94,20 +94,22 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def pagination_links_full(paginator, options={}, html_options={})
|
||||
page_param = options.delete(:page_param) || :page
|
||||
|
||||
html = ''
|
||||
html << link_to_remote(('« ' + l(:label_previous)),
|
||||
{:update => "content", :url => options.merge(:page => paginator.current.previous)},
|
||||
{:href => url_for(:params => options.merge(:page => paginator.current.previous))}) + ' ' if paginator.current.previous
|
||||
{:update => "content", :url => options.merge(page_param => 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|
|
||||
link_to_remote(n.to_s,
|
||||
{:url => {:params => options.merge(:page => n)}, :update => 'content'},
|
||||
{:href => url_for(:params => options.merge(:page => n))})
|
||||
{:url => {:params => options.merge(page_param => n)}, :update => 'content'},
|
||||
{:href => url_for(:params => options.merge(page_param => n))})
|
||||
end || '')
|
||||
|
||||
html << ' ' + link_to_remote((l(:label_next) + ' »'),
|
||||
{:update => "content", :url => options.merge(:page => paginator.current.next)},
|
||||
{:href => url_for(:params => options.merge(:page => paginator.current.next))}) if paginator.current.next
|
||||
{:update => "content", :url => options.merge(page_param => paginator.current.next)},
|
||||
{:href => url_for(:params => options.merge(page_param => paginator.current.next))}) if paginator.current.next
|
||||
html
|
||||
end
|
||||
|
||||
|
|
|
@ -25,4 +25,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><%= link_to l(:button_back), :action => 'index', :page => @page.title %></p>
|
||||
<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>
|
||||
|
|
Loading…
Reference in New Issue