end
api.created_on attachment.created_on
end
+
+ def render_file_content(attachment, content)
+ if attachment.is_markdown?
+ render :partial => 'common/markup', :locals => {:markup_text_formatting => 'markdown', :markup_text => content}
+ elsif attachment.is_textile?
+ render :partial => 'common/markup', :locals => {:markup_text_formatting => 'textile', :markup_text => content}
+ else
+ render :partial => 'common/file', :locals => {:content => content, :filename => attachment.filename}
+ end
+ end
end
Redmine::MimeType.is_type?('text', filename) || Redmine::SyntaxHighlighting.filename_supported?(filename)
end
+ def is_markdown?
+ Redmine::MimeType.of(filename) == 'text/markdown'
+ end
+
+ def is_textile?
+ self.filename =~ /\.textile$/i
+ end
+
def is_image?
Redmine::MimeType.is_type?('image', filename)
end
end
end
+ def test_show_text_file_formated_markdown
+ set_tmp_attachments_directory
+ a = Attachment.new(:container => Issue.find(1),
+ :file => uploaded_test_file('testfile.md', 'text/plain'),
+ :author => User.find(1))
+ assert a.save
+ assert_equal 'testfile.md', a.filename
+
+ get :show, :params => {
+ :id => a.id
+ }
+ assert_response :success
+ assert_equal 'text/html', @response.content_type
+ assert_select 'div.wiki', :html => "<h1>Header 1</h1>\n\n<h2>Header 2</h2>\n\n<h3>Header 3</h3>"
+ end
+
+ def test_show_text_file_fromated_textile
+ set_tmp_attachments_directory
+ a = Attachment.new(:container => Issue.find(1),
+ :file => uploaded_test_file('testfile.textile', 'text/plain'),
+ :author => User.find(1))
+ assert a.save
+ assert_equal 'testfile.textile', a.filename
+
+ get :show, :params => {
+ :id => a.id
+ }
+ assert_response :success
+ assert_equal 'text/html', @response.content_type
+ assert_select 'div.wiki', :html => "<h1>Header 1</h1>\n\n\n\t<h2>Header 2</h2>\n\n\n\t<h3>Header 3</h3>"
+ end
+
def test_show_image
@request.session[:user_id] = 2
get :show, :params => {