summaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2018-10-04 13:24:06 +0000
committerGo MAEDA <maeda@farend.jp>2018-10-04 13:24:06 +0000
commit7d615fd516c60c0c448d3a35f56641e14b463c61 (patch)
tree7d788ac9b72c7c729f5c14b43e619a8360e05a67 /app/controllers
parentdcc7ecb34a61d55193572ca8bc66c9859f3d6e49 (diff)
downloadredmine-7d615fd516c60c0c448d3a35f56641e14b463c61.tar.gz
redmine-7d615fd516c60c0c448d3a35f56641e14b463c61.zip
Repository entry pagination (#29395).
Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@17568 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/repositories_controller.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 0c6070b80..346ecf5c7 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -146,6 +146,13 @@ class RepositoriesController < ApplicationController
send_opt[:disposition] = disposition(@path)
send_data @repository.cat(@path, @rev), send_opt
else
+ # set up pagination from entry to entry
+ parent_path = @path.split('/')[0...-1].join('/')
+ @entries = @repository.entries(parent_path, @rev).reject(&:is_dir?)
+ if index = @entries.index{|e| e.name == @entry.name}
+ @paginator = Redmine::Pagination::Paginator.new(@entries.size, 1, index+1)
+ end
+
if !@entry.size || @entry.size <= Setting.file_max_size_displayed.to_i.kilobyte
content = @repository.cat(@path, @rev)
(show_error_not_found; return) unless content