- eval {
- use FS::UID qw(dbh);
- use FS::Record qw(qsearchs qsearch dbdef);
- eval "use FS::$table;";
- use FS::cust_svc;
-
- my $dbdef = dbdef or die "No dbdef";
- my $pkeyfield = $dbdef->table($table)->primary_key
- or die "No primary key for table $table";
-
- my $rec = qsearchs($table, { $pkeyfield => $pkey })
- or die "Record with $pkeyfield == $pkey does not exist in table $table";
-
- if ($table =~ /^svc_/) {
- if ($rec->can('cust_svc')) {
- my $cust_svc = $rec->cust_svc or die '$rec->cust_svc failed';
- my ($svc, $tag, $svcdb) = $cust_svc->label;
- $label = "Freeside service ${svc}: ${tag}";
- }
- } elsif ($table eq 'cust_main') {
- my ($last, $first, $company) = map { $rec->getfield($_) }
- qw(last first company);
- $label = "Freeside customer ${last}, ${first}";
- $label .= ($company ne '') ? " with ${company}" : '';
- } else {
- $label = "Freeside ${table}, ${pkeyfield} == ${pkey}";
- }