X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fcust_bill_send_agent.pm;h=cb13b1f09915f6f40e1b202d9881e01f69525a68;hb=03c12b4dabfcaabc218f39ee13557edebc13931d;hp=670a32c5b7ff63a87535ad1ad4c994d7ea563c56;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2;p=freeside.git diff --git a/FS/FS/part_event/Action/cust_bill_send_agent.pm b/FS/FS/part_event/Action/cust_bill_send_agent.pm index 670a32c5b..cb13b1f09 100644 --- a/FS/FS/part_event/Action/cust_bill_send_agent.pm +++ b/FS/FS/part_event/Action/cust_bill_send_agent.pm @@ -7,6 +7,9 @@ sub description { 'Send invoice (email/print/fax) with alternate template, for specific agents'; } +# this event is just cust_bill_send_alternate + an implicit (and inefficient) +# 'agent' condition + sub eventtable_hashref { { 'cust_bill' => 1 }; } @@ -17,6 +20,9 @@ sub option_fields { type => 'select-agent', multiple => 1 }, + 'modenum' => { label => 'Invoice mode', + type => 'select-invoice_mode', + }, 'agent_templatename' => { label => 'Template', type => 'select-invoice_template', }, @@ -32,10 +38,15 @@ sub do_action { #my $cust_main = $self->cust_main($cust_bill); my $cust_main = $cust_bill->cust_main; + my %agentnums = map { $_=>1 } split(/\s*,\s*/, $self->option('agentnum')); + if (keys(%agentnums) and !exists($agentnums{$cust_main->agentnum})) { + return; + } + + $cust_bill->set('mode' => $self->option('modenum')); $cust_bill->send( - $self->option('agent_templatename'), - [ split(/\s*,\s*/, $self->option('agentnum') ) ], - $self->option('agent_invoice_from'), + 'template' => $self->option('agent_templatename'), + 'from' => $self->option('agent_invoice_from'), ); }