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
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) def syntax_highlight(name, content)
Redmine::SyntaxHighlighting.highlight_by_filename(content, name) Redmine::SyntaxHighlighting.highlight_by_filename(content, name)
end end

View File

@ -2,13 +2,13 @@
<table class="filecontent syntaxhl"> <table class="filecontent syntaxhl">
<tbody> <tbody>
<% line_num = 1 %> <% 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> <tr>
<th class="line-num" id="L<%= line_num %>"> <th class="line-num" id="L<%= line_num %>">
<a href="#L<%= line_num %>"><%= line_num %></a> <a href="#L<%= line_num %>"><%= line_num %></a>
</th> </th>
<td class="line-code"> <td class="line-code">
<pre><%= line %></pre> <pre><%= line.html_safe %></pre>
</td> </td>
</tr> </tr>
<% line_num += 1 %> <% line_num += 1 %>

View File

@ -14,14 +14,14 @@
<table class="filecontent annotate syntaxhl"> <table class="filecontent annotate syntaxhl">
<tbody> <tbody>
<% line_num = 1 %> <% 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] %> <% revision = @annotate.revisions[line_num - 1] %>
<tr class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %>"> <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> <th class="line-num" id="L<%= line_num %>"><a href="#L<%= line_num %>"><%= line_num %></a></th>
<td class="revision"> <td class="revision">
<%= (revision.identifier ? link_to_revision(revision, @repository) : format_revision(revision)) if revision %></td> <%= (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="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> </tr>
<% line_num += 1 %> <% line_num += 1 %>
<% end %> <% end %>