X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_bill_event.cgi;h=6426eed93fbdeabdae52393c7e7efeac263ed075;hp=939eff3604349f5fe1f7df04933bbec4400b98c0;hb=030bef17868168b05a67d9f5866b55da1bb9439c;hpb=1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39 diff --git a/httemplate/edit/part_bill_event.cgi b/httemplate/edit/part_bill_event.cgi index 939eff360..6426eed93 100755 --- a/httemplate/edit/part_bill_event.cgi +++ b/httemplate/edit/part_bill_event.cgi @@ -1,11 +1,10 @@ - - + <% -if ( $cgi->param('eventnum') && $cgi->param('eventnum') =~ /^(\d+)$/ ) { - $cgi->param('eventnum', $1); +if ( $cgi->param('eventpart') && $cgi->param('eventpart') =~ /^(\d+)$/ ) { + $cgi->param('eventpart', $1); } else { - $cgi->param('eventnum', ''); + $cgi->param('eventpart', ''); } my ($query) = $cgi->keywords; @@ -33,24 +32,25 @@ print qq!Error: !, $cgi->param('error'), "" if $cgi->param('error'); -print '
'; - +print ''. + ''; print "Invoice Event #", $hashref->{eventpart} ? $hashref->{eventpart} : "(NEW)"; print ntable("#cccccc",2), <Payby
'. - 'Reason ', + 'html' => + 'Amount '. + '
Reason ', 'weight' => 10, }, 'suspend' => { @@ -91,39 +92,114 @@ tie my %events, 'Tie::IxHash', 'addpost' => { 'name' => 'Add postal invoicing', - 'code' => '$cust_main->invoicing_list_addpost();', - 'pad' => 20, + 'code' => '$cust_main->invoicing_list_addpost(); "";', + 'weight' => 20, + }, + + 'comp' => { + 'name' => 'Pay invoice with a complimentary "payment"', + 'code' => '$cust_bill->comp();', + 'weight' => 30, + }, + + 'realtime-card' => { + 'name' => 'Run card with a Business::OnlinePayment realtime gateway', + 'code' => '$cust_bill->realtime_card();', + 'weight' => 30, + }, + + 'realtime-check' => { + 'name' => 'Run check with a Business::OnlinePayment realtime gateway', + 'code' => '$cust_bill->realtime_ach();', + 'weight' => 30, + }, + + 'realtime-lec' => { + 'name' => 'Run phone bill ("LEC") billing with a Business::OnlinePayment realtime gateway', + 'code' => '$cust_bill->realtime_lec();', + 'weight' => 30, + }, + + 'batch-card' => { + 'name' => 'Add card to the pending credit card batch', + 'code' => '$cust_bill->batch_card();', + 'weight' => 40, }, 'send' => { 'name' => 'Send invoice (email/print)', - 'code' => '', - 'weight' => 30 + 'code' => '$cust_bill->send();', + 'weight' => 50, + }, + + 'send_alternate' => { + 'name' => 'Send invoice (email/print) with alternate template', + 'code' => '$cust_bill->send(\'%%%templatename%%%\');', + 'html' => + '', + 'weight' => 50, }, - 'Generate invoices' => { + '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%%%\' );', + 'html' => + ''. + ''. + ''. + ''. + ''. + ''. + '
FTP server: '. + '
FTP username: '. + ''. + '
FTP password: '. + ''. + '
FTP directory: '. + '
', + 'weight' => 50, + }, + + 'bill' => { + 'name' => 'Generate invoices (normally only used with a Late Fee event)', 'code' => '$cust_main->bill();', - 'pad' => 40, + 'weight' => 60, }, - 'Apply unapplied payments and credits' => { - 'code' => '$cust_main->apply_payments; $cust_main->apply_credits;', - 'pad' => 50, + 'apply' => { + 'name' => 'Apply unapplied payments and credits', + 'code' => '$cust_main->apply_payments; $cust_main->apply_credits; "";', + 'weight' => 70, }, - 'Collect on invoices' => { + 'collect' => { + 'name' => 'Collect on invoices (normally only used with a Late Fee and Generate Invoice events)', 'code' => '$cust_main->collect();', - 'pad' => 60, + 'weight' => 80, }, ; foreach my $event ( keys %events ) { + my %plandata = map { /^(\w+) (.*)$/; ($1, $2); } + split(/\n/, $part_bill_event->plandata); + my $html = $events{$event}{html}; + while ( $html =~ /%%%(\w+)%%%/ ) { + my $field = $1; + $html =~ s/%%%$field%%%/$plandata{$field}/; + } + print ntable( "#cccccc", 2). - qq!$event!; - print ''. $events{$event}{html}. '' if exists $events{$event}{html}; + qq!plan; + print qq!VALUE="!. $event. ":". $events{$event}{weight}. ":". + encode_entities($events{$event}{code}). + qq!">$events{$event}{name}!; + print ''. $html. '' if $html; print qq!!; print ''; }