From 9a1b46fe42873c5fa4c8bb9cf6755eed9e8315db Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 29 Dec 2007 11:36:30 +0000 Subject: [PATCH] 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 --- app/controllers/admin_controller.rb | 2 +- app/controllers/application.rb | 15 +++++++++++ app/controllers/boards_controller.rb | 2 +- app/controllers/issues_controller.rb | 2 +- app/controllers/repositories_controller.rb | 2 +- app/controllers/users_controller.rb | 2 +- app/controllers/wiki_controller.rb | 2 +- app/helpers/application_helper.rb | 30 ++++++++++++++++------ app/models/setting.rb | 5 ++++ app/views/admin/projects.rhtml | 3 +-- app/views/auth_sources/list.rhtml | 2 +- app/views/boards/show.rhtml | 3 +-- app/views/issue_statuses/list.rhtml | 2 +- app/views/issues/index.rhtml | 3 +-- app/views/news/index.rhtml | 2 +- app/views/repositories/revision.rhtml | 3 +-- app/views/repositories/revisions.rhtml | 3 +-- app/views/roles/list.rhtml | 2 +- app/views/settings/edit.rhtml | 3 +++ app/views/trackers/list.rhtml | 2 +- app/views/users/list.rhtml | 4 +-- app/views/wiki/history.rhtml | 3 +-- config/settings.yml | 2 ++ lang/bg.yml | 2 ++ lang/cs.yml | 2 ++ lang/de.yml | 2 ++ lang/en.yml | 2 ++ lang/es.yml | 2 ++ lang/fr.yml | 2 ++ lang/he.yml | 2 ++ lang/it.yml | 2 ++ lang/ja.yml | 2 ++ lang/ko.yml | 2 ++ lang/nl.yml | 2 ++ lang/pl.yml | 2 ++ lang/pt-br.yml | 2 ++ lang/pt.yml | 2 ++ lang/ro.yml | 2 ++ lang/ru.yml | 2 ++ lang/sr.yml | 2 ++ lang/sv.yml | 2 ++ lang/zh-tw.yml | 2 ++ lang/zh.yml | 2 ++ public/stylesheets/application.css | 3 +++ 44 files changed, 108 insertions(+), 34 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 5ad3d696b..0f8eb32a5 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -35,7 +35,7 @@ class AdminController < ApplicationController @project_count = Project.count(:conditions => conditions) @project_pages = Paginator.new self, @project_count, - 25, + per_page_option, params['page'] @projects = Project.find :all, :order => sort_clause, :conditions => conditions, 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) diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 200792370..5bf4499bd 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -40,7 +40,7 @@ class BoardsController < ApplicationController sort_update @topic_count = @board.topics.count - @topic_pages = Paginator.new self, @topic_count, 25, params['page'] + @topic_pages = Paginator.new self, @topic_count, per_page_option, params['page'] @topics = @board.topics.find :all, :order => "#{Message.table_name}.sticky DESC, #{sort_clause}", :include => [:author, {:last_reply => :author}], :limit => @topic_pages.items_per_page, diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index f202e9bba..be854f98e 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -45,7 +45,7 @@ class IssuesController < ApplicationController sort_update retrieve_query if @query.valid? - limit = %w(pdf csv).include?(params[:format]) ? Setting.issues_export_limit.to_i : 25 + limit = %w(pdf csv).include?(params[:format]) ? Setting.issues_export_limit.to_i : per_page_option @issue_count = Issue.count(:include => [:status, :project], :conditions => @query.statement) @issue_pages = Paginator.new self, @issue_count, limit, params['page'] @issues = Issue.find :all, :order => sort_clause, diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index ef332eb37..f8b1eae81 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -75,7 +75,7 @@ class RepositoriesController < ApplicationController def revisions @changeset_count = @repository.changesets.count @changeset_pages = Paginator.new self, @changeset_count, - 25, + per_page_option, params['page'] @changesets = @repository.changesets.find(:all, :limit => @changeset_pages.items_per_page, diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 3f3adb57d..f67d1ae53 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -39,7 +39,7 @@ class UsersController < ApplicationController @user_count = User.count(:conditions => conditions) @user_pages = Paginator.new self, @user_count, - 15, + per_page_option, params['page'] @users = User.find :all,:order => sort_clause, :conditions => conditions, diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index bc4b7b451..53c5ec53b 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -97,7 +97,7 @@ class WikiController < ApplicationController @page = @wiki.find_page(params[:page]) @version_count = @page.content.versions.count - @version_pages = Paginator.new self, @version_count, 25, params['p'] + @version_pages = Paginator.new self, @version_count, per_page_option, params['p'] # don't load text @versions = @page.content.versions.find :all, :select => "id, author_id, comments, updated_on, version", diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index a3509b99a..e510f881f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -103,26 +103,40 @@ module ApplicationHelper l(:actionview_datehelper_select_month_names).split(',')[month-1] end - def pagination_links_full(paginator, options={}, html_options={}) + def pagination_links_full(paginator, count=nil, options={}) page_param = options.delete(:page_param) || :page - + url_param = params.dup + html = '' html << link_to_remote(('« ' + l(:label_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 + {:update => "content", :url => url_param.merge(page_param => paginator.current.previous)}, + {:href => url_for(:params => url_param.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_param => n)}, :update => 'content'}, - {:href => url_for(:params => options.merge(page_param => n))}) + {:url => {:params => url_param.merge(page_param => n)}, :update => 'content'}, + {:href => url_for(:params => url_param.merge(page_param => n))}) end || '') html << ' ' + link_to_remote((l(:label_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 + {:update => "content", :url => url_param.merge(page_param => paginator.current.next)}, + {:href => url_for(:params => url_param.merge(page_param => paginator.current.next))}) if paginator.current.next + + unless count.nil? + html << [" (#{paginator.current.first_item}-#{paginator.current.last_item}/#{count})", per_page_links(paginator.items_per_page)].compact.join(' | ') + end + html end + def per_page_links(selected=nil) + links = Setting.per_page_options_array.collect do |n| + n == selected ? n : link_to_remote(n, {:update => "content", :url => params.dup.merge(:per_page => n)}, + {:href => url_for(params.dup.merge(:per_page => n))}) + end + links.size > 1 ? l(:label_display_per_page, links.join(', ')) : nil + end + def set_html_title(text) @html_header_title = text end diff --git a/app/models/setting.rb b/app/models/setting.rb index 4d4cf0045..46b6d76ce 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -95,6 +95,11 @@ class Setting < ActiveRecord::Base class_eval src, __FILE__, __LINE__ end + # Helper that returns an array based on per_page_options setting + def self.per_page_options_array + per_page_options.split(%r{[\s,]}).collect(&:to_i).select {|n| n > 0}.sort + end + # Checks if settings have changed since the values were read # and clears the cache hash if it's the case # Called once per request diff --git a/app/views/admin/projects.rhtml b/app/views/admin/projects.rhtml index e9d5e8537..295cfd101 100644 --- a/app/views/admin/projects.rhtml +++ b/app/views/admin/projects.rhtml @@ -45,7 +45,6 @@ -

<%= pagination_links_full @project_pages, :status => @status %> -[ <%= @project_pages.current.first_item %> - <%= @project_pages.current.last_item %> / <%= @project_count %> ]

+

<%= pagination_links_full @project_pages, @project_count %>

<% set_html_title l(:label_project_plural) -%> diff --git a/app/views/auth_sources/list.rhtml b/app/views/auth_sources/list.rhtml index f486f45b7..6836e6c67 100644 --- a/app/views/auth_sources/list.rhtml +++ b/app/views/auth_sources/list.rhtml @@ -25,4 +25,4 @@ -<%= pagination_links_full @auth_source_pages %> +

<%= pagination_links_full @auth_source_pages %>

diff --git a/app/views/boards/show.rhtml b/app/views/boards/show.rhtml index 8bcf960b2..01db0854c 100644 --- a/app/views/boards/show.rhtml +++ b/app/views/boards/show.rhtml @@ -43,8 +43,7 @@ <% end %> -

<%= pagination_links_full @topic_pages %> -[ <%= @topic_pages.current.first_item %> - <%= @topic_pages.current.last_item %> / <%= @topic_count %> ]

+

<%= pagination_links_full @topic_pages, @topic_count %>

<% else %>

<%= l(:label_no_data) %>

<% end %> diff --git a/app/views/issue_statuses/list.rhtml b/app/views/issue_statuses/list.rhtml index 05506f3c7..a45f5d4d0 100644 --- a/app/views/issue_statuses/list.rhtml +++ b/app/views/issue_statuses/list.rhtml @@ -32,6 +32,6 @@ -<%= pagination_links_full @issue_status_pages %> +

<%= pagination_links_full @issue_status_pages %>

<% set_html_title(l(:label_issue_status_plural)) -%> diff --git a/app/views/issues/index.rhtml b/app/views/issues/index.rhtml index de0fd4add..c298b9bcc 100644 --- a/app/views/issues/index.rhtml +++ b/app/views/issues/index.rhtml @@ -48,8 +48,7 @@ <%= link_to 'CSV', {:format => 'csv'}, :class => 'icon icon-csv' %>, <%= link_to 'PDF', {:format => 'pdf'}, :class => 'icon icon-pdf' %> -

<%= pagination_links_full @issue_pages %> -[ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ]

+

<%= pagination_links_full @issue_pages, @issue_count %>

<% end %> <% end %> <% end %> diff --git a/app/views/news/index.rhtml b/app/views/news/index.rhtml index 0b677d241..354467229 100644 --- a/app/views/news/index.rhtml +++ b/app/views/news/index.rhtml @@ -27,7 +27,7 @@ <%= textilizable(news.description) %> <% end %> <% end %> -<%= pagination_links_full @news_pages %> +

<%= pagination_links_full @news_pages %>

<% content_for :header_tags do %> <%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %> diff --git a/app/views/repositories/revision.rhtml b/app/views/repositories/revision.rhtml index d87dfa955..265070e37 100644 --- a/app/views/repositories/revision.rhtml +++ b/app/views/repositories/revision.rhtml @@ -56,8 +56,7 @@ <% end %> -

<%= pagination_links_full @changes_pages, :rev => @changeset.revision %> -[ <%= @changes_pages.current.first_item %> - <%= @changes_pages.current.last_item %> / <%= @changes_count %> ]

+

<%= pagination_links_full @changes_pages %>

<% content_for :header_tags do %> <%= stylesheet_link_tag "scm" %> diff --git a/app/views/repositories/revisions.rhtml b/app/views/repositories/revisions.rhtml index 4483a482c..99c3f7afd 100644 --- a/app/views/repositories/revisions.rhtml +++ b/app/views/repositories/revisions.rhtml @@ -9,8 +9,7 @@ <%= render :partial => 'revisions', :locals => {:project => @project, :path => '', :revisions => @changesets, :entry => nil }%> -

<%= pagination_links_full @changeset_pages %> -[ <%= @changeset_pages.current.first_item %> - <%= @changeset_pages.current.last_item %> / <%= @changeset_count %> ]

+

<%= pagination_links_full @changeset_pages,@changeset_count %>

<% content_for :header_tags do %> <%= stylesheet_link_tag "scm" %> diff --git a/app/views/roles/list.rhtml b/app/views/roles/list.rhtml index 02bb20f5e..fabc5edcd 100644 --- a/app/views/roles/list.rhtml +++ b/app/views/roles/list.rhtml @@ -29,7 +29,7 @@ -

<%= pagination_links_full @role_pages %>

+

<%= pagination_links_full @role_pages %>

<%= link_to l(:label_permissions_report), :action => 'report' %>

diff --git a/app/views/settings/edit.rhtml b/app/views/settings/edit.rhtml index 758045f05..b1db0e7ad 100644 --- a/app/views/settings/edit.rhtml +++ b/app/views/settings/edit.rhtml @@ -27,6 +27,9 @@

<%= text_field_tag 'settings[attachment_max_size]', Setting.attachment_max_size, :size => 6 %> KB

+

+<%= text_field_tag 'settings[per_page_options]', Setting.per_page_options_array.join(', '), :size => 20 %>
<%= l(:text_comma_separated) %>

+

<%= text_field_tag 'settings[issues_export_limit]', Setting.issues_export_limit, :size => 6 %>

diff --git a/app/views/trackers/list.rhtml b/app/views/trackers/list.rhtml index d339bdba0..447507210 100644 --- a/app/views/trackers/list.rhtml +++ b/app/views/trackers/list.rhtml @@ -30,6 +30,6 @@ -<%= pagination_links_full @tracker_pages %> +

<%= pagination_links_full @tracker_pages %>

<% set_html_title(l(:label_tracker_plural)) -%> diff --git a/app/views/users/list.rhtml b/app/views/users/list.rhtml index 3f879d7a6..fbac1e8e9 100644 --- a/app/views/users/list.rhtml +++ b/app/views/users/list.rhtml @@ -55,8 +55,6 @@ -

<%= pagination_links_full @user_pages, :status => @status %> -[ <%= @user_pages.current.first_item %> - <%= @user_pages.current.last_item %> / <%= @user_count %> ] -

+

<%= pagination_links_full @user_pages, @user_count %>

<% set_html_title(l(:label_user_plural)) -%> diff --git a/app/views/wiki/history.rhtml b/app/views/wiki/history.rhtml index fc77e7fb5..6462e9fdd 100644 --- a/app/views/wiki/history.rhtml +++ b/app/views/wiki/history.rhtml @@ -31,6 +31,5 @@ <%= submit_tag l(:label_view_diff), :class => 'small' %> -<%= pagination_links_full @version_pages, :page_param => :p %> -[ <%= @version_pages.current.first_item %> - <%= @version_pages.current.last_item %> / <%= @version_count %> ] +<%= pagination_links_full @version_pages, @version_count, :page_param => :p %> <% end %> diff --git a/config/settings.yml b/config/settings.yml index 9f6671f0d..1360b5501 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -37,6 +37,8 @@ attachment_max_size: issues_export_limit: format: int default: 500 +per_page_options: + default: '25,50,100' mail_from: default: redmine@somenet.foo bcc_recipients: diff --git a/lang/bg.yml b/lang/bg.yml index d9bcd6c7c..635ead5a5 100644 --- a/lang/bg.yml +++ b/lang/bg.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/cs.yml b/lang/cs.yml index fe29defe6..89cc177b5 100644 --- a/lang/cs.yml +++ b/lang/cs.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/de.yml b/lang/de.yml index c9cdc0c12..faa992933 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/en.yml b/lang/en.yml index 116935f73..36c060d36 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -198,6 +198,7 @@ setting_issue_list_default_columns: Default columns displayed on the issue list setting_repositories_encodings: Repositories encodings setting_emails_footer: Emails footer setting_protocol: Protocol +setting_per_page_options: Objects per page options label_user: User label_user_plural: Users @@ -456,6 +457,7 @@ label_user_mail_no_self_notified: "I don't want to be notified of changes that I label_registration_activation_by_email: account activation by email label_registration_manual_activation: manual account activation label_registration_automatic_activation: automatic account activation +label_display_per_page: 'Per page: %s' button_login: Login button_submit: Submit diff --git a/lang/es.yml b/lang/es.yml index 50c652f2c..6ec8db0f1 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -553,3 +553,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/fr.yml b/lang/fr.yml index d6ad5da56..c13500e03 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -198,6 +198,7 @@ setting_issue_list_default_columns: Colonnes affichées par défaut sur la liste setting_repositories_encodings: Encodages des dépôts setting_emails_footer: Pied-de-page des emails setting_protocol: Protocole +setting_per_page_options: Options d'objets affichés par page label_user: Utilisateur label_user_plural: Utilisateurs @@ -456,6 +457,7 @@ label_user_mail_no_self_notified: "Je ne veux pas être notifié des changements label_registration_activation_by_email: activation du compte par email label_registration_manual_activation: activation manuelle du compte label_registration_automatic_activation: activation automatique du compte +label_display_per_page: 'Par page: %s' button_login: Connexion button_submit: Soumettre diff --git a/lang/he.yml b/lang/he.yml index 0ed57e527..09070bd82 100644 --- a/lang/he.yml +++ b/lang/he.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/it.yml b/lang/it.yml index d266f797e..8c87a8b34 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/ja.yml b/lang/ja.yml index 4206f3db6..150c62283 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -551,3 +551,5 @@ setting_bcc_recipients: ブラインドカーボンコピーで受信(bcc) button_annotate: 注釈 label_issues_by: %s別の問題 field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/ko.yml b/lang/ko.yml index 76debf345..001ddd395 100644 --- a/lang/ko.yml +++ b/lang/ko.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/nl.yml b/lang/nl.yml index a8b5cc64a..0c8085ba1 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -551,3 +551,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/pl.yml b/lang/pl.yml index 5fa50ec51..c086cce63 100644 --- a/lang/pl.yml +++ b/lang/pl.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Odbiorcy kopii tajnej (kt/bcc) button_annotate: Adnotuj label_issues_by: Zagadnienia wprowadzone przez %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/pt-br.yml b/lang/pt-br.yml index ed31915dd..564ee4b0a 100644 --- a/lang/pt-br.yml +++ b/lang/pt-br.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/pt.yml b/lang/pt.yml index 72ba4d2b0..aaab55a51 100644 --- a/lang/pt.yml +++ b/lang/pt.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/ro.yml b/lang/ro.yml index 6f1eb7810..6fdce2081 100644 --- a/lang/ro.yml +++ b/lang/ro.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/ru.yml b/lang/ru.yml index c7697ae1a..1be4615bb 100644 --- a/lang/ru.yml +++ b/lang/ru.yml @@ -550,3 +550,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/sr.yml b/lang/sr.yml index b5e9ecfe3..a4bed33ea 100644 --- a/lang/sr.yml +++ b/lang/sr.yml @@ -551,3 +551,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/sv.yml b/lang/sv.yml index d789a2a37..fd84f2a58 100644 --- a/lang/sv.yml +++ b/lang/sv.yml @@ -551,3 +551,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/zh-tw.yml b/lang/zh-tw.yml index 4d730c1a9..6bc341cba 100644 --- a/lang/zh-tw.yml +++ b/lang/zh-tw.yml @@ -550,3 +550,5 @@ enumeration_issue_priorities: 項目重要性 enumeration_doc_categories: 文件分類 enumeration_activities: 活動 (time tracking) field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/lang/zh.yml b/lang/zh.yml index 6876daa17..31e8b239b 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -553,3 +553,5 @@ setting_bcc_recipients: Blind carbon copy recipients (bcc) button_annotate: Annotate label_issues_by: Issues by %s field_searchable: Searchable +label_display_per_page: 'Per page: %s' +setting_per_page_options: Objects per page options diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index aa4b29712..37bddbc05 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -126,6 +126,9 @@ div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid .autoscroll {overflow-x: auto; padding:1px; width:100%; margin-bottom: 1.2em;} #user_firstname, #user_lastname, #user_mail, #my_account_form select { width: 90%; } +.pagination {font-size: 90%} +p.pagination {margin-top:8px;} + /***** Tabular forms ******/ .tabular p{ margin: 0;