require 5.006;
use strict;
use Carp;
-use Try::Tiny;
use Scalar::Util qw( blessed );
-use List::Util qw(min);
-use Tie::IxHash;
-use File::Temp; #qw( tempfile );
-use Data::Dumper;
use Time::Local qw(timelocal);
+use Data::Dumper;
+use Tie::IxHash;
use Date::Format;
#use Date::Manip;
-use Email::Address;
+use File::Temp; #qw( tempfile );
use Business::CreditCard 0.28;
+use List::Util qw(min);
+use Try::Tiny;
use FS::UID qw( dbh driver_name );
use FS::Record qw( qsearchs qsearch dbdef regexp_sql );
use FS::Cursor;
my @emails;
foreach my $contact (@contacts) {
foreach my $contact_email ($contact->contact_email) {
- push @emails, Email::Address->new( $contact->firstlast,
- $contact_email->emailaddress
- )->format;
+ push @emails,
+ $contact->firstlast . ' <' . $contact_email->emailaddress . '>';
}
}
@emails;
$error ? $error : $cust_pkg;
}
+=item num_cust_attachment_deleted
+
+Returns the number of deleted attachments for this customer (see
+L<FS::num_cust_attachment>).
+
+=cut
+
+sub num_cust_attachments_deleted {
+ my $self = shift;
+ $self->scalar_sql(
+ " SELECT COUNT(*) FROM cust_attachment ".
+ " WHERE custnum = ? AND disabled IS NOT NULL AND disabled > 0",
+ $self->custnum
+ );
+}
+
=item cust_bill [ OPTION => VALUE... | EXTRA_QSEARCH_PARAMS_HASHREF ]
Returns all the invoices (see L<FS::cust_bill>) for this customer.
}
+sub queueable_upgrade {
+ my $class = shift;
+ FS::cust_main::Billing_Realtime::token_check(@_);
+}
+
=back
=head1 BUGS