1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-22 19:42:29 +00:00

Attachments prev/next navigation (#29395).

Patch by Jens Krämer.


git-svn-id: http://svn.redmine.org/redmine/trunk@17567 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2018-10-04 13:20:11 +00:00
parent 28c231473f
commit dcc7ecb34a
5 changed files with 34 additions and 0 deletions

View File

@ -32,6 +32,14 @@ class AttachmentsController < ApplicationController
def show
respond_to do |format|
format.html {
if @attachment.container.respond_to?(:attachments)
@attachments = @attachment.container.attachments.to_a
if index = @attachments.index(@attachment)
@paginator = Redmine::Pagination::Paginator.new(
@attachments.size, 1, index+1
)
end
end
if @attachment.is_diff?
@diff = File.read(@attachment.diskfile, :mode => "rb")
@diff_type = params[:type] || User.current.pref[:diff_type] || 'inline'

View File

@ -56,6 +56,14 @@ module AttachmentsHelper
end
end
def render_pagination
pagination_links_each @paginator do |text, parameters, options|
if att = @attachments[parameters[:page] - 1]
link_to text, named_attachment_path(att, att.filename)
end
end if @paginator
end
def render_api_attachment(attachment, api, options={})
api.attachment do
render_api_attachment_attributes(attachment, api)

View File

@ -12,6 +12,10 @@
</div>
<%= yield %>
<span class="pagination">
<%= render_pagination %>
</span>
<% html_title @attachment.filename %>
<% content_for :header_tags do -%>

View File

@ -666,6 +666,10 @@ span.pagination {margin-left:3px; color:#888; display:block;}
font-weight: bold;
}
span.pagination>span {white-space:nowrap;}
.controller-attachments.action-show span.pagination{
display: block;
margin-top: 1.2em;
}
#search-form fieldset p {margin:0.2em 0;}

View File

@ -287,6 +287,16 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert_response 404
end
def test_show_renders_pagination
get :show, :params => { :id => 5, :type => 'inline' }
assert_response :success
assert_select 'ul.pages li.next', :text => /next/i
assert_select 'ul.pages li.previous', :text => /previous/i
set_tmp_attachments_directory
end
def test_download_text_file
get :download, :params => {
:id => 4