OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/views/common/_diff.html.erb

92 lines
3.3 KiB

<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2021 the OpenProject GmbH
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2013 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See docs/COPYRIGHT.rdoc for more details.
++#%>
<% diff = Redmine::UnifiedDiff.new(diff, type: diff_type, max_lines: Setting.diff_max_lines_displayed.to_i) -%>
<% diff.each do |table_file| -%>
<div class="autoscroll">
<% if diff.diff_type == 'sbs' -%>
<table class="filecontent">
<thead>
<tr>
<th colspan="4" class="filename"><%= h(to_utf8_for_attachments(table_file.file_name)) %></th>
</tr>
</thead>
<tbody>
<% table_file.each_line do |spacing, line| -%>
<% if spacing -%>
<tr class="spacing">
<th class="line-num">...</th>
<td></td>
<th class="line-num">...</th>
<td></td>
</tr>
<% end -%>
<tr>
<th class="line-num"><%= line.nb_line_left %></th>
<td class="line-code <%= line.type_diff_left %>">
<pre><%=to_utf8_for_attachments line.html_line_left %></pre>
</td>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff_right %>">
<pre><%=to_utf8_for_attachments line.html_line_right %></pre>
</td>
</tr>
<% end -%>
</tbody>
</table>
<% else -%>
<table class="filecontent">
<thead>
<tr>
<th colspan="3" class="filename"><%= to_utf8_for_attachments(table_file.file_name) %></th>
</tr>
</thead>
<tbody>
<% table_file.each_line do |spacing, line| %>
<% if spacing -%>
<tr class="spacing">
<th class="line-num">...</th>
<th class="line-num">...</th>
<td></td>
</tr>
<% end -%>
<tr>
<th class="line-num"><%= line.nb_line_left %></th>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff %>">
<pre><%=to_utf8_for_attachments line.html_line %></pre>
</td>
</tr>
<% end -%>
</tbody>
</table>
<% end -%>
</div>
<% end -%>
<%= t(:text_diff_truncated) if diff.truncated? %>