my $dbh = dbh;
my $order = FS::Conf->new->config('cdr-minutes_priority');
+ my $is_classnum;
+ if ( $classnum ) {
+ $is_classnum = ' part_pkg_usage_class.classnum = '.$classnum;
+ } else {
+ $is_classnum = ' part_pkg_usage_class.classnum IS NULL';
+ }
my @usage_recs = qsearch({
'table' => 'cust_pkg_usage',
'addl_from' => ' JOIN part_pkg_usage USING (pkgusagepart)'.
'extra_sql' => " WHERE ( cust_pkg.pkgnum = $pkgnum OR ".
" ( cust_pkg.custnum = $custnum AND ".
" part_pkg_usage.shared IS NOT NULL ) ) AND ".
- " part_pkg_usage_class.classnum = $classnum AND ".
+ $is_classnum . ' AND '.
" cust_pkg_usage.minutes > 0",
'order_by' => " ORDER BY priority ASC",
});
use FS::domain_record;
use FS::part_export;
use FS::cdr;
+use FS::UI::Web;
#most FS::svc_ classes are autoloaded in svc_x emthod
use FS::svc_acct; #this one is used in the cache stuff
my $extra_sql = ' WHERE '.join(' AND ', @extra_sql);
#for agentnum
my $addl_from = ' LEFT JOIN cust_pkg USING ( pkgnum )'.
- ' LEFT JOIN cust_main USING ( custnum )'.
+ FS::UI::Web::join_cust_main('cust_pkg', 'cust_pkg').
' LEFT JOIN part_svc USING ( svcpart )';
(
amount => $amount,
quantity => $hash{quantity},
start_date => $cust_main->next_bill_date,
- pkg => $hash{date_desc},
+ pkg => $hash{date_desc} .
+ ' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)',
taxclass => $TAXCLASSES{ $hash{taxclass} },
);
if (my $classname = $hash{classname}) {