Fixed: custom fields are not displayed in the same order on issue form and view.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2827 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2009-07-29 19:04:27 +00:00
parent 9e07fb5e04
commit cfd7d07b69
3 changed files with 21 additions and 12 deletions

View File

@ -33,6 +33,25 @@ module IssuesHelper
"<strong>#{@cached_label_priority}</strong>: #{issue.priority.name}" "<strong>#{@cached_label_priority}</strong>: #{issue.priority.name}"
end end
def render_custom_fields_rows(issue)
return if issue.custom_field_values.empty?
ordered_values = []
half = (issue.custom_field_values.size / 2.0).ceil
half.times do |i|
ordered_values << issue.custom_field_values[i]
ordered_values << issue.custom_field_values[i + half]
end
s = "<tr>\n"
n = 0
ordered_values.compact.each do |value|
s << "</tr>\n<tr>\n" if n > 0 && (n % 2) == 0
s << "\t<th>#{ h(value.custom_field.name) }:</th><td>#{ simple_format_without_paragraph(h(show_value(value))) }</td>\n"
n += 1
end
s << "</tr>\n"
s
end
def sidebar_queries def sidebar_queries
unless @sidebar_queries unless @sidebar_queries
# User can see public queries and his own queries # User can see public queries and his own queries

View File

@ -1,6 +1,6 @@
<div class="splitcontentleft"> <div class="splitcontentleft">
<% i = 0 %> <% i = 0 %>
<% split_on = @issue.custom_field_values.size / 2 %> <% split_on = (@issue.custom_field_values.size / 2.0).ceil - 1 %>
<% @issue.custom_field_values.each do |value| %> <% @issue.custom_field_values.each do |value| %>
<p><%= custom_field_tag_with_label :issue, value %></p> <p><%= custom_field_tag_with_label :issue, value %></p>
<% if i == split_on -%> <% if i == split_on -%>

View File

@ -45,17 +45,7 @@
<th class="estimated-hours"><%=l(:field_estimated_hours)%>:</th><td><%= l_hours(@issue.estimated_hours) %></td> <th class="estimated-hours"><%=l(:field_estimated_hours)%>:</th><td><%= l_hours(@issue.estimated_hours) %></td>
<% end %> <% end %>
</tr> </tr>
<tr> <%= render_custom_fields_rows(@issue) %>
<% n = 0 -%>
<% @issue.custom_field_values.each do |value| -%>
<th><%=h value.custom_field.name %>:</th><td><%= simple_format_without_paragraph(h(show_value(value))) %></td>
<% n = n + 1
if (n > 1)
n = 0 %>
</tr><tr>
<%end
end %>
</tr>
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %> <%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
</table> </table>
<hr /> <hr />