});
}
+sub has_cust_payby_auto {
+ my $self = shift;
+ scalar( qsearch({
+ 'table' => 'cust_payby',
+ 'hashref' => { 'custnum' => $self->custnum, },
+ 'extra_sql' => " AND payby IN ( 'CARD', 'CHEK' ) ",
+ 'order_by' => 'LIMIT 1',
+ }) );
+
+}
+
=item unsuspend
Unsuspends all unflagged suspended packages (see L</unflagged_suspended_pkgs>
sub pkg_status_row_noauto {
my( $cust_pkg, %opt ) = @_;
- my $part_pkg = $opt{'part_pkg'};
- return '' unless $cust_pkg->no_auto || $part_pkg->no_auto;
- #inefficient, should be passed in
- my $cust_main = $cust_pkg->cust_main;
+ return '' unless ( $cust_pkg->no_auto || $opt{'part_pkg'}->no_auto );
+ && $opt{'has_cust_payby_auto'};
- return '' unless $cust_main->payby =~ /^(CARD|CHEK)$/;
- my $what = lc(FS::payby->shortname($cust_main->payby));
-
- pkg_status_row_colspan( $cust_pkg, emt("No automatic $what charge"), '');
+ pkg_status_row_colspan( $cust_pkg, emt("No automatic charge"), '');
}
sub pkg_status_row_separate_bill {