Rails3: prevent double rendering file view and annotate on Rails 3.0.11 and Rails 3.1.3

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8988 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2012-02-25 06:01:48 +00:00
parent b7ead65fde
commit b4630c03f7
3 changed files with 10 additions and 4 deletions

View File

@ -355,6 +355,12 @@ module ApplicationHelper
end
end
def syntax_highlight_lines(name, content)
lines = []
syntax_highlight(name, content).each_line { |line| lines << line }
lines
end
def syntax_highlight(name, content)
Redmine::SyntaxHighlighting.highlight_by_filename(content, name)
end

View File

@ -2,13 +2,13 @@
<table class="filecontent syntaxhl">
<tbody>
<% line_num = 1 %>
<% syntax_highlight(filename, Redmine::CodesetUtil.to_utf8_by_setting(content)).each_line do |line| %>
<% syntax_highlight_lines(filename, Redmine::CodesetUtil.to_utf8_by_setting(content)).each do |line| %>
<tr>
<th class="line-num" id="L<%= line_num %>">
<a href="#L<%= line_num %>"><%= line_num %></a>
</th>
<td class="line-code">
<pre><%= line %></pre>
<pre><%= line.html_safe %></pre>
</td>
</tr>
<% line_num += 1 %>

View File

@ -14,14 +14,14 @@
<table class="filecontent annotate syntaxhl">
<tbody>
<% line_num = 1 %>
<% syntax_highlight(@path, Redmine::CodesetUtil.to_utf8_by_setting(@annotate.content)).each_line do |line| %>
<% syntax_highlight_lines(@path, Redmine::CodesetUtil.to_utf8_by_setting(@annotate.content)).each do |line| %>
<% revision = @annotate.revisions[line_num - 1] %>
<tr class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %>">
<th class="line-num" id="L<%= line_num %>"><a href="#L<%= line_num %>"><%= line_num %></a></th>
<td class="revision">
<%= (revision.identifier ? link_to_revision(revision, @repository) : format_revision(revision)) if revision %></td>
<td class="author"><%= h(revision.author.to_s.split('<').first) if revision %></td>
<td class="line-code"><pre><%= line %></pre></td>
<td class="line-code"><pre><%= line.html_safe %></pre></td>
</tr>
<% line_num += 1 %>
<% end %>