sub select_agentnum {
my $plandata = shift;
- my $agentnum = $plandata->{'agentnum'};
- '<SELECT NAME="agentnum">'.
+ #my $agentnum = $plandata->{'agentnum'};
+ my %agentnums = map { $_=>1 } split(/,\s*/, $plandata->{'agentnum'});
+ '<SELECT NAME="agentnum" MULTIPLE>'.
join("\n", map {
'<OPTION VALUE="'. $_->agentnum. '"'.
- ( $_->agentnum == $agentnum ? ' SELECTED' : '' ).
+ ( $agentnums{$_->agentnum} ? ' SELECTED' : '' ).
'>'. $_->agent
} qsearch('agent', { 'disabled' => '' } ) ).
'</SELECT>';
'weight' => 50,
},
+ 'send_if_newest' => {
+ 'name' => 'Send invoice (email/print) with alternate template, if it is still the newest invoice (useful for late notices - set to 31 days or later)',
+ 'code' => '$cust_bill->send_if_newest(\'%%%if_newest_templatename%%%\');',
+ 'html' =>
+ '<INPUT TYPE="text" NAME="if_newest_templatename" VALUE="%%%if_newest_templatename%%%">',
+ 'weight' => 50,
+ },
+
'send_agent' => {
'name' => 'Send invoice (email/print) ',
- 'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', %%%agentnum%%%, \'%%%agent_invoice_from%%%\');',
+ 'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', [ %%%agentnum%%% ], \'%%%agent_invoice_from%%%\');',
'html' => sub {
'<TABLE BORDER=0>
<TR>
- <TD ALIGN="right">only for agent </TD>
+ <TD ALIGN="right">only for agent(s) </TD>
<TD>'. &select_agentnum(@_). '</TD>
</TR>
<TR>
'send_csv_ftp' => {
'name' => 'Upload CSV invoice data to an FTP server',
- 'code' => '$cust_bill->send_csv( protocol => \'ftp\',
- server => \'%%%ftpserver%%%\',
- username => \'%%%ftpusername%%%\',
- password => \'%%%ftppassword%%%\',
- dir => \'%%%ftpdir%%%\' );',
+ 'code' => '$cust_bill->send_csv( protocol => \'ftp\',
+ server => \'%%%ftpserver%%%\',
+ username => \'%%%ftpusername%%%\',
+ password => \'%%%ftppassword%%%\',
+ dir => \'%%%ftpdir%%%\',
+ \'format\' => \'%%%ftpformat%%%\',
+ );',
'html' =>
- '<TABLE BORDER=0><TR><TD ALIGN="right">FTP server: </TD>'.
+ '<TABLE BORDER=0>'.
+ '<TR><TD align="right">Format ("default" or "billco"): </TD>'.
+ '<TD>'.
+ '<!--'.
+ '<SELECT NAME="ftpformat">'.
+ '<OPTION VALUE="default">Default'.
+ '<OPTION VALUE="billco">Billco'.
+ '</SELECT>'.
+ '-->'.
+ '<INPUT TYPE="text" NAME="ftpformat" VALUE="%%%ftpformat%%%">'.
+ '</TD></TR>'.
+ '<TR><TD ALIGN="right">FTP server: </TD>'.
'<TD><INPUT TYPE="text" NAME="ftpserver" VALUE="%%%ftpserver%%%">'.
'</TD></TR>'.
'<TR><TD ALIGN="right">FTP username: </TD><TD>'.
'weight' => 50,
},
+ 'spool_csv' => {
+ 'name' => 'Spool CSV invoice data',
+ 'code' => '$cust_bill->spool_csv( \'format\' => \'%%%spoolformat%%%\',
+ );',
+ 'html' =>
+ '<TABLE BORDER=0>'.
+ '<TR><TD align="right">Format ("default" or "billco"): </TD>'.
+ '<TD>'.
+ '<!--'.
+ '<SELECT NAME="spoolformat">'.
+ '<OPTION VALUE="default">Default'.
+ '<OPTION VALUE="billco">Billco'.
+ '</SELECT>'.
+ '-->'.
+ '<INPUT TYPE="text" NAME="spoolformat" VALUE="%%%spoolformat%%%">'.
+ '</TD></TR>'.
+ '</TABLE>',
+ 'weight' => 50,
+ },
+
'bill' => {
'name' => 'Generate invoices (normally only used with a <i>Late Fee</i> event)',
'code' => '$cust_main->bill();',