Commit 1e9dafdd authored by maeda's avatar maeda

Attachments prev/next navigation (#29395).

Patch by Jens Krämer.


git-svn-id: https://svn.redmine.org/redmine/trunk@17567 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 598f9112
......@@ -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'
......
......@@ -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)
......
......@@ -12,6 +12,10 @@
</div>
<%= yield %>
<span class="pagination">
<%= render_pagination %>
</span>
<% html_title @attachment.filename %>
<% content_for :header_tags do -%>
......
......@@ -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;}
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment