# 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
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
</tbody>
</table>
-<p><%= link_to l(:button_back), :action => 'index', :page => @page.title %></p>
\ No newline at end of file
+<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>