summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-07-29 19:04:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-07-29 19:04:27 +0000
commitcfd7d07b69e27d7f3cfce569fd073ef35e81d474 (patch)
tree945f7c0c2a5d298932b263740ee394f87e7e06fd /app
parent9e07fb5e042bd94c38208c5d6be8dc0e044317e7 (diff)
downloadredmine-cfd7d07b69e27d7f3cfce569fd073ef35e81d474.tar.gz
redmine-cfd7d07b69e27d7f3cfce569fd073ef35e81d474.zip
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
Diffstat (limited to 'app')
-rw-r--r--app/helpers/issues_helper.rb19
-rw-r--r--app/views/issues/_form_custom_fields.rhtml2
-rw-r--r--app/views/issues/show.rhtml12
3 files changed, 21 insertions, 12 deletions
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index 73ac4be95..beb36b528 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -33,6 +33,25 @@ module IssuesHelper
"<strong>#{@cached_label_priority}</strong>: #{issue.priority.name}"
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
unless @sidebar_queries
# User can see public queries and his own queries
diff --git a/app/views/issues/_form_custom_fields.rhtml b/app/views/issues/_form_custom_fields.rhtml
index 752fb4d37..7a66ed330 100644
--- a/app/views/issues/_form_custom_fields.rhtml
+++ b/app/views/issues/_form_custom_fields.rhtml
@@ -1,6 +1,6 @@
<div class="splitcontentleft">
<% 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| %>
<p><%= custom_field_tag_with_label :issue, value %></p>
<% if i == split_on -%>
diff --git a/app/views/issues/show.rhtml b/app/views/issues/show.rhtml
index 776aa3387..a7d569268 100644
--- a/app/views/issues/show.rhtml
+++ b/app/views/issues/show.rhtml
@@ -45,17 +45,7 @@
<th class="estimated-hours"><%=l(:field_estimated_hours)%>:</th><td><%= l_hours(@issue.estimated_hours) %></td>
<% end %>
</tr>
-<tr>
-<% 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>
+<%= render_custom_fields_rows(@issue) %>
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
</table>
<hr />