so Search.tsf and Search.rdf work
[freeside.git] / FS / FS / svc_Common.pm
index db2fbbe..80d5e21 100644 (file)
@@ -6,6 +6,7 @@ use FS::Record qw( qsearch qsearchs fields dbh );
 use FS::cust_svc;
 use FS::part_svc;
 use FS::queue;
+use FS::cust_main;
 
 @ISA = qw( FS::Record );
 
@@ -546,6 +547,20 @@ sub clone_kludge_unsuspend {
   shift;
 }
 
+=item cust_name
+
+Given a svc_ object that contains fields from cust_main (say, from a
+JOINed search.  See httemplate/search/svc_* for examples), returns the 
+equivalent of "$svc_x->cust_svc->cust_pkg->name" (but much more efficient),
+or "(unlinked)" if this service is not linked to a customer.
+
+=cut
+
+sub cust_name {
+  my $svc_x = shift;
+  $svc_x->custnum ? FS::cust_main::name($svc_x) : '(unlinked)';
+}
+
 =back
 
 =head1 BUGS