summaryrefslogtreecommitdiff
path: root/FS/FS/part_event/Action
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/part_event/Action')
-rw-r--r--FS/FS/part_event/Action/cust_bill_email.pm10
-rw-r--r--FS/FS/part_event/Action/cust_bill_print.pm14
2 files changed, 19 insertions, 5 deletions
diff --git a/FS/FS/part_event/Action/cust_bill_email.pm b/FS/FS/part_event/Action/cust_bill_email.pm
index 3331a4c..80bcaa1 100644
--- a/FS/FS/part_event/Action/cust_bill_email.pm
+++ b/FS/FS/part_event/Action/cust_bill_email.pm
@@ -20,12 +20,18 @@ sub option_fields {
sub default_weight { 51; }
sub do_action {
- my( $self, $cust_bill ) = @_;
+ my( $self, $cust_bill, $cust_event ) = @_;
my $cust_main = $cust_bill->cust_main;
$cust_bill->set('mode' => $self->option('modenum'));
- $cust_bill->email unless $cust_main->invoice_noemail;
+ if ( $cust_main->invoice_noemail ) {
+ # what about if the customer has no email dest?
+ $cust_event->set('no_action', 'Y');
+ return "customer has invoice_noemail flag";
+ } else {
+ $cust_bill->email;
+ }
}
1;
diff --git a/FS/FS/part_event/Action/cust_bill_print.pm b/FS/FS/part_event/Action/cust_bill_print.pm
index b94e882..e6a27a3 100644
--- a/FS/FS/part_event/Action/cust_bill_print.pm
+++ b/FS/FS/part_event/Action/cust_bill_print.pm
@@ -24,14 +24,22 @@ sub option_fields {
sub default_weight { 51; }
sub do_action {
- my( $self, $cust_bill ) = @_;
+ my( $self, $cust_bill, $cust_event ) = @_;
#my $cust_main = $self->cust_main($cust_bill);
my $cust_main = $cust_bill->cust_main;
$cust_bill->set('mode' => $self->option('modenum'));
- $cust_bill->print unless $self->option('skip_nopost')
- && ! grep { $_ eq 'POST' } $cust_main->invoicing_list;
+ if ( $self->option('skip_nopost')
+ && ! grep { $_ eq 'POST' } $cust_main->invoicing_list
+ ) {
+ # then skip customers
+ $cust_event->set('no_action', 'Y');
+ return "customer doesn't receive postal invoices"; # as statustext
+
+ } else {
+ $cust_bill->print;
+ }
}
1;