added pagination on revisions list
git-svn-id: http://redmine.rubyforge.org/svn/trunk@381 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
0ef114e006
commit
e951209d68
|
@ -47,7 +47,16 @@ class RepositoriesController < ApplicationController
|
||||||
@entry = @repository.scm.entry(@path, @rev)
|
@entry = @repository.scm.entry(@path, @rev)
|
||||||
show_error and return unless @entry
|
show_error and return unless @entry
|
||||||
end
|
end
|
||||||
@changesets = @repository.changesets_for_path(@path)
|
@repository.changesets_with_path @path do
|
||||||
|
@changeset_count = @repository.changesets.count
|
||||||
|
@changeset_pages = Paginator.new self, @changeset_count,
|
||||||
|
25,
|
||||||
|
params['page']
|
||||||
|
@changesets = @repository.changesets.find(:all,
|
||||||
|
:limit => @changeset_pages.items_per_page,
|
||||||
|
:offset => @changeset_pages.current.offset)
|
||||||
|
end
|
||||||
|
render :action => "revisions", :layout => false if request.xhr?
|
||||||
end
|
end
|
||||||
|
|
||||||
def entry
|
def entry
|
||||||
|
|
|
@ -36,6 +36,15 @@ class Repository < ActiveRecord::Base
|
||||||
super if root_url.blank?
|
super if root_url.blank?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def changesets_with_path(path="")
|
||||||
|
path = "/#{path}%"
|
||||||
|
path = url.gsub(/^#{root_url}/, '') + path if root_url && root_url != url
|
||||||
|
path.squeeze!("/")
|
||||||
|
Changeset.with_scope(:find => { :include => :changes, :conditions => ["#{Change.table_name}.path LIKE ?", path] }) do
|
||||||
|
yield
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def changesets_for_path(path="")
|
def changesets_for_path(path="")
|
||||||
path = "/#{path}%"
|
path = "/#{path}%"
|
||||||
path = url.gsub(/^#{root_url}/, '') + path if root_url && root_url != url
|
path = url.gsub(/^#{root_url}/, '') + path if root_url && root_url != url
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
<h3>Revisions</h3>
|
<h3>Revisions</h3>
|
||||||
|
|
||||||
<%= render :partial => 'revisions', :locals => {:project => @project, :path => @path, :changesets => @changesets, :entry => @entry }%>
|
<%= render :partial => 'revisions', :locals => {:project => @project, :path => @path, :changesets => @changesets, :entry => @entry }%>
|
||||||
<p><%= lwr(:label_modification, @changesets.length) %></p>
|
|
||||||
|
<p><%= pagination_links_full @changeset_pages %>
|
||||||
|
[ <%= @changeset_pages.current.first_item %> - <%= @changeset_pages.current.last_item %> / <%= @changeset_count %> ]</p>
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= stylesheet_link_tag "scm" %>
|
<%= stylesheet_link_tag "scm" %>
|
||||||
|
|
Loading…
Reference in New Issue