Defect #24473 ยป fix_cache_issues.patch
app/helpers/application_helper.rb | ||
---|---|---|
170 | 170 |
end |
171 | 171 | |
172 | 172 |
# Helper that formats object for html or text rendering |
173 |
def format_object(object, html=true, &block) |
|
173 |
def format_object(object, html=true, originator=nil, &block)
|
|
174 | 174 |
if block_given? |
175 | 175 |
object = yield object |
176 | 176 |
end |
... | ... | |
199 | 199 |
object.visible? && html ? link_to_issue(object) : "##{object.id}" |
200 | 200 |
when 'CustomValue', 'CustomFieldValue' |
201 | 201 |
if object.custom_field |
202 |
f = object.custom_field.format.formatted_custom_value(self, object, html) |
|
202 |
f = object.custom_field.format.formatted_custom_value(self, object, html, originator)
|
|
203 | 203 |
if f.nil? || f.is_a?(String) |
204 | 204 |
f |
205 | 205 |
else |
app/helpers/custom_fields_helper.rb | ||
---|---|---|
120 | 120 |
end |
121 | 121 | |
122 | 122 |
# Return a string used to display a custom value |
123 |
def show_value(custom_value, html=true) |
|
124 |
format_object(custom_value, html) |
|
123 |
def show_value(custom_value, html=true, originator=nil)
|
|
124 |
format_object(custom_value, html, originator)
|
|
125 | 125 |
end |
126 | 126 | |
127 | 127 |
# Return a string used to display a custom value |
... | ... | |
138 | 138 |
# displayed, with the custom field and the formatted value as arguments |
139 | 139 |
def render_custom_field_values(object, &block) |
140 | 140 |
object.visible_custom_field_values.each do |custom_value| |
141 |
formatted = show_value(custom_value) |
|
141 |
formatted = show_value(custom_value, true, object)
|
|
142 | 142 |
if formatted.present? |
143 | 143 |
yield custom_value.custom_field, formatted |
144 | 144 |
end |
app/helpers/issues_helper.rb | ||
---|---|---|
228 | 228 |
values.each_with_index do |value, i| |
229 | 229 |
css = "cf_#{value.custom_field.id}" |
230 | 230 |
m = (i < half ? :left : :right) |
231 |
rows.send m, custom_field_name_tag(value.custom_field), show_value(value), :class => css |
|
231 |
rows.send m, custom_field_name_tag(value.custom_field), show_value(value, true, issue), :class => css
|
|
232 | 232 |
end |
233 | 233 |
end |
234 | 234 |
end |
... | ... | |
318 | 318 |
end |
319 | 319 |
end |
320 | 320 |
issue.visible_custom_field_values(user).each do |value| |
321 |
items << "#{value.custom_field.name}: #{show_value(value, false)}" |
|
321 |
items << "#{value.custom_field.name}: #{show_value(value, false, issue)}"
|
|
322 | 322 |
end |
323 | 323 |
items |
324 | 324 |
end |
app/helpers/queries_helper.rb | ||
---|---|---|
152 | 152 |
value.to_s(issue) {|other| link_to_issue(other, :subject => false, :tracker => false)}.html_safe, |
153 | 153 |
:class => value.css_classes_for(issue)) |
154 | 154 |
else |
155 |
format_object(value) |
|
155 |
format_object(value, true, issue)
|
|
156 | 156 |
end |
157 | 157 |
end |
158 | 158 | |
... | ... | |
170 | 170 |
end |
171 | 171 | |
172 | 172 |
def csv_value(column, object, value) |
173 |
format_object(value, false) do |value| |
|
173 |
format_object(value, false, object) do |value|
|
|
174 | 174 |
case value.class.name |
175 | 175 |
when 'Float' |
176 | 176 |
sprintf("%.2f", value).gsub('.', l(:general_csv_decimal_separator)) |
app/views/users/show.html.erb | ||
---|---|---|
14 | 14 |
<% end %> |
15 | 15 |
<% @user.visible_custom_field_values.each do |custom_value| %> |
16 | 16 |
<% if !custom_value.value.blank? %> |
17 |
<li><%= custom_value.custom_field.name %>: <%= show_value(custom_value) %></li> |
|
17 |
<li><%= custom_value.custom_field.name %>: <%= show_value(custom_value, true, @user) %></li>
|
|
18 | 18 |
<% end %> |
19 | 19 |
<% end %> |
20 | 20 |
<li><%=l(:label_registered_on)%>: <%= format_date(@user.created_on) %></li> |
lib/redmine/export/pdf/issues_pdf_helper.rb | ||
---|---|---|
70 | 70 |
|
71 | 71 |
half = (issue.visible_custom_field_values.size / 2.0).ceil |
72 | 72 |
issue.visible_custom_field_values.each_with_index do |custom_value, i| |
73 |
(i < half ? left : right) << [custom_value.custom_field.name, show_value(custom_value, false)] |
|
73 |
(i < half ? left : right) << [custom_value.custom_field.name, show_value(custom_value, false, issue)]
|
|
74 | 74 |
end |
75 | 75 |
|
76 | 76 |
if pdf.get_rtl |
... | ... | |
350 | 350 |
query.inline_columns.collect do |column| |
351 | 351 |
s = if column.is_a?(QueryCustomFieldColumn) |
352 | 352 |
cv = issue.visible_custom_field_values.detect {|v| v.custom_field_id == column.custom_field.id} |
353 |
show_value(cv, false) |
|
353 |
show_value(cv, false, issue)
|
|
354 | 354 |
else |
355 | 355 |
value = issue.send(column.name) |
356 | 356 |
if column.name == :subject |
lib/redmine/field_format.rb | ||
---|---|---|
174 | 174 |
[] |
175 | 175 |
end |
176 | 176 | |
177 |
def formatted_custom_value(view, custom_value, html=false) |
|
178 |
formatted_value(view, custom_value.custom_field, custom_value.value, custom_value.customized, html) |
|
177 |
def formatted_custom_value(view, custom_value, html=false, originator=nil) |
|
178 |
customized_obj = originator || custom_value.customized |
|
179 |
formatted_value(view, custom_value.custom_field, custom_value.value, customized_obj, html) |
|
179 | 180 |
end |
180 | 181 | |
181 | 182 |
def formatted_value(view, custom_field, value, customized=nil, html=false) |