X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_bill_event.cgi;h=6426eed93fbdeabdae52393c7e7efeac263ed075;hp=41d6666dcd05aa35f578104b3cca592a04a9073c;hb=030bef17868168b05a67d9f5866b55da1bb9439c;hpb=6991d4986df7fb3a6c7c49b5ae1b3713e87a16c4 diff --git a/httemplate/edit/part_bill_event.cgi b/httemplate/edit/part_bill_event.cgi index 41d6666dc..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 ', + 'fee' => { + 'name' => 'Late fee', + 'code' => '$cust_main->charge( %%%charge%%%, \'%%%reason%%%\' );', + 'html' => + 'Amount '. + '
Reason ', + 'weight' => 10, + }, + 'suspend' => { + 'name' => 'Suspend', + 'code' => '$cust_main->suspend();', + 'weight' => 10, + }, + 'cancel' => { + 'name' => 'Cancel', + 'code' => '$cust_main->cancel();', + 'weight' => 10, + }, + + 'addpost' => { + 'name' => 'Add postal invoicing', + '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, }, - 'Suspend accounts' => { - 'code' => '$cust_main->suspend();', + + '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, }, - 'Cancel accounts' => { - 'code' => '$cust_main->cancel();', + + 'send' => { + 'name' => 'Send invoice (email/print)', + 'code' => '$cust_bill->send();', + 'weight' => 50, + }, + + 'send_alternate' => { + 'name' => 'Send invoice (email/print) with alternate template', + 'code' => '$cust_bill->send(\'%%%templatename%%%\');', + 'html' => + '', + 'weight' => 50, }, - 'Add postal invoicing' => { - 'code' => '$cust_main->invoicing_list_addpost();', - 'pad' => 10, + '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, }, - 'Generate invoices' => { + 'bill' => { + 'name' => 'Generate invoices (normally only used with a Late Fee event)', 'code' => '$cust_main->bill();', - 'pad' => 20, + 'weight' => 60, }, - 'Apply unapplied payments and credits' => { - 'code' => '$cust_main->apply_payments; $cust_main->apply_credits;', - 'pad' => 30, + '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' => 40, + 'weight' => 80, }, ; foreach my $event ( keys %events ) { - print ntable( "#cccccc", 2). qq!$event!; - print ''. $events{$event}{html}. '' if exists $events{$event}{html}; + 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!plan; + print qq!VALUE="!. $event. ":". $events{$event}{weight}. ":". + encode_entities($events{$event}{code}). + qq!">$events{$event}{name}!; + print ''. $html. '' if $html; print qq!!; print ''; } @@ -121,7 +212,7 @@ print <{eventpart} ? "Apply changes" : "Add invoice event", qq!">!; %>