- # Display custom field contents, separated by newlines.
- # For Image custom fields we also show a thumbnail here.
-
- my $values = $cf->ValuesForObject( $_[0] );
- return if $values->Count == 0;
- my @values;
- # it is guaranteed to be the same type for all fields, right?
- my $v = $values->First;
- my $cftype = $v->CustomFieldObj->Type;
-
- do {
- if ($cftype eq 'Image') {
- push @values,
- \($m->scomp( '/Elements/ShowCustomFieldImage',
- Object => $v ));
- } elsif ( $cftype eq 'Date' or $cftype eq 'DateTime' ) {
- # then actually return the date object;
- # ProcessColumnMapValue will stringify it
- my $DateObj = RT::Date->new( $session{'CurrentUser'} );
- $DateObj->Set(Format => 'unknown', Value => $v->Content);
- push @values, $DateObj;
- } else {
- push @values, $v->Content;
+ return $cf;
+ },
+ render => sub {
+ my ($cf, $ocfvs) = @_;
+ my $comp = $m->comp_exists("/Elements/ShowCustomField".$cf->Type)
+ ? "/Elements/ShowCustomField".$cf->Type
+ : undef;
+
+ my @values = map {
+ $comp
+ ? \($m->scomp( $comp, Object => $_ ))
+ : $_->Content
+ } @$ocfvs;
+
+ if (@values > 1) {
+ for my $value (splice @values) {
+ push @values, \"<li>", $value, \"</li> \n";