From 949114e0f65232b405e084bcfcff37b1fd9a2926 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 3 Jan 2013 12:47:41 -0800 Subject: [PATCH] more reasonable solution for #17067 --- rt/lib/RT/URI/freeside/Internal.pm | 28 +++++++++++++--------------- rt/share/html/Elements/CustomerFields | 2 +- rt/share/html/Ticket/Elements/EditCustomers | 4 ++++ rt/share/html/Ticket/Elements/ShowCustomers | 2 +- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm index 61b256ef9..b0962860d 100644 --- a/rt/lib/RT/URI/freeside/Internal.pm +++ b/rt/lib/RT/URI/freeside/Internal.pm @@ -143,7 +143,7 @@ sub small_custview { } -sub _FreesideURILabelLong { +sub AsStringLong { my $self = shift; @@ -161,30 +161,28 @@ sub _FreesideURILabelLong { } elsif ( $table eq 'cust_svc' ) { my $string = ''; - # we now do this within the UI - #my $cust = $self->CustomerResolver; - #if ( $cust ) { - # $string = $cust->AsStringLong; - #} - $string .= $self->AsString; + my $cust = $self->CustomerResolver; + if ( $cust ) { + # the customer's small_custview + $string = $cust->AsStringLong(); + } + # + the service label and link + $string .= $self->ShortLink; return $string; } else { - return $self->_FreesideURILabel(); + return $self->SUPER::AsStringLong; } } -sub AsString { +sub ShortLink { + # because I don't want AsString to sometimes return a hunk of HTML, but + # on the other hand AsStringLong does something specific. my $self = shift; - if ( $self->{'fstable'} eq 'cust_svc' ) { - return '' . - $self->_FreesideURILabel . ''; - } else { - $self->SUPER::AsString; - } + '' . $self->_FreesideURILabel . ''; } sub CustomerResolver { diff --git a/rt/share/html/Elements/CustomerFields b/rt/share/html/Elements/CustomerFields index 199184b69..d5419d213 100644 --- a/rt/share/html/Elements/CustomerFields +++ b/rt/share/html/Elements/CustomerFields @@ -27,7 +27,7 @@ my @customer_fields = ( # ordered my @return = (); foreach my $c (ticket_cust_resolvers($Ticket)) { push @return, \'', - $c->_FreesideURILabel, + $c->AsString, \'', \'
'; } diff --git a/rt/share/html/Ticket/Elements/EditCustomers b/rt/share/html/Ticket/Elements/EditCustomers index e8aa69edc..cc9956f91 100644 --- a/rt/share/html/Ticket/Elements/EditCustomers +++ b/rt/share/html/Ticket/Elements/EditCustomers @@ -38,7 +38,11 @@ % } +% if ( $resolver->URI =~ /cust_main/ ) { <% $resolver->AsStringLong |n %> +% } elsif ( $resolver->URI =~ /cust_svc/ ) { + <% $resolver->ShortLink |n %> +% } % } diff --git a/rt/share/html/Ticket/Elements/ShowCustomers b/rt/share/html/Ticket/Elements/ShowCustomers index 175822f52..f9b0133b5 100644 --- a/rt/share/html/Ticket/Elements/ShowCustomers +++ b/rt/share/html/Ticket/Elements/ShowCustomers @@ -24,7 +24,7 @@ my %data = $m->comp('Customers', Ticket => $Ticket); <% $cust->AsStringLong |n %> % foreach my $svc ( @{ $data{cust_svc}{$custnum} || [] } ) { - <% $svc->AsString |n %> + <% $svc->ShortLink |n %>
% } -- 2.11.0