more reasonable solution for #17067
authorMark Wells <mark@freeside.biz>
Thu, 3 Jan 2013 20:47:41 +0000 (12:47 -0800)
committerMark Wells <mark@freeside.biz>
Thu, 3 Jan 2013 20:47:41 +0000 (12:47 -0800)
rt/lib/RT/URI/freeside/Internal.pm
rt/share/html/Elements/CustomerFields
rt/share/html/Ticket/Elements/EditCustomers
rt/share/html/Ticket/Elements/ShowCustomers

index 61b256e..b096286 100644 (file)
@@ -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 '<B><A HREF="' . $self->HREF . '">' . 
-          $self->_FreesideURILabel . '</A></B>';
-  } else {
-    $self->SUPER::AsString;
-  }
+  '<B><A HREF="'.$self->HREF.'">' . $self->_FreesideURILabel . '</A></B>';
 }
 
 sub CustomerResolver {
index 199184b..d5419d2 100644 (file)
@@ -27,7 +27,7 @@ my @customer_fields = ( # ordered
                 my @return = ();
                 foreach my $c (ticket_cust_resolvers($Ticket)) {
                     push @return, \'<A HREF="', $c->HREF, \'">',
-                                  $c->_FreesideURILabel,
+                                  $c->AsString,
                                   \'</A>',
                                   \'<BR>';
                 }
index e8aa69e..cc9956f 100644 (file)
 %       }
     </td>
     <td>
+%       if ( $resolver->URI =~ /cust_main/ ) {
       <% $resolver->AsStringLong |n %>
+%       } elsif ( $resolver->URI =~ /cust_svc/ ) {
+      <% $resolver->ShortLink |n %>
+%       }
     </td>
   </tr>
 %     }
index 175822f..f9b0133 100644 (file)
@@ -24,7 +24,7 @@ my %data = $m->comp('Customers', Ticket => $Ticket);
     <td class="value">
       <% $cust->AsStringLong |n %>
 %   foreach my $svc ( @{ $data{cust_svc}{$custnum} || [] } ) {
-      <% $svc->AsString |n %>
+      <% $svc->ShortLink |n %>
       <br>
 %   }
     </td>