summaryrefslogtreecommitdiffstats
path: root/app/controllers/application.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-29 11:36:30 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-29 11:36:30 +0000
commit9a1b46fe42873c5fa4c8bb9cf6755eed9e8315db (patch)
tree55c78bfcc226b12a1f8cbb1469caa7528be78a6f /app/controllers/application.rb
parent7eec539222731f5b3fca40d6dbaae8f00f01feba (diff)
downloadredmine-9a1b46fe42873c5fa4c8bb9cf6755eed9e8315db.tar.gz
redmine-9a1b46fe42873c5fa4c8bb9cf6755eed9e8315db.zip
New setting added to specify how many objects should be displayed on most paginated lists.
Default is: 25, 50, 100 (users can choose one of these values). If one value only is entered in this setting (eg. 25), the 'per page' links are not displayed (prior behaviour). git-svn-id: http://redmine.rubyforge.org/svn/trunk@1026 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/application.rb')
-rw-r--r--app/controllers/application.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/controllers/application.rb b/app/controllers/application.rb
index ad86b6b33..607ac091b 100644
--- a/app/controllers/application.rb
+++ b/app/controllers/application.rb
@@ -158,6 +158,21 @@ class ApplicationController < ActionController::Base
attachments
end
+ # Returns the number of objects that should be displayed
+ # on the paginated list
+ def per_page_option
+ per_page = nil
+ if params[:per_page] && Setting.per_page_options_array.include?(params[:per_page].to_s.to_i)
+ per_page = params[:per_page].to_s.to_i
+ session[:per_page] = per_page
+ elsif session[:per_page]
+ per_page = session[:per_page]
+ else
+ per_page = Setting.per_page_options_array.first || 25
+ end
+ per_page
+ end
+
# qvalues http header parser
# code taken from webrick
def parse_qvalues(value)