Action | ';
-
-#print ntable();
-
-#this is pretty kludgy right here.
-tie my %events, 'Tie::IxHash',
-
- '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,
- },
-
- 'realtime-check' => {
- 'name' => 'Run check with a Business::OnlinePayment realtime gateway',
- 'code' => '$cust_bill->realtime_ach();',
- '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' => '$cust_bill->send();',
- 'weight' => 50,
- },
-
- 'send_alternate' => {
- 'name' => 'Send invoice (email/print) with alternate template',
- 'code' => '$cust_bill->send(\'%%%templatename%%%\');',
- 'html' =>
- '',
- 'weight' => 50,
- },
-
- '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' =>
- '',
- 'weight' => 50,
- },
-
- 'bill' => {
- 'name' => 'Generate invoices (normally only used with a Late Fee event)',
- 'code' => '$cust_main->bill();',
- 'weight' => 60,
- },
-
- 'apply' => {
- 'name' => 'Apply unapplied payments and credits',
- 'code' => '$cust_main->apply_payments; $cust_main->apply_credits; "";',
- 'weight' => 70,
- },
-
- 'collect' => {
- 'name' => 'Collect on invoices (normally only used with a Late Fee and Generate Invoice events)',
- 'code' => '$cust_main->collect();',
- '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}/;
- }
+
+%
+%
+%if ( $cgi->param('eventpart') && $cgi->param('eventpart') =~ /^(\d+)$/ ) {
+% $cgi->param('eventpart', $1);
+%} else {
+% $cgi->param('eventpart', '');
+%}
+%
+%my ($creason, $newcreasonT, $newcreason);
+%my ($sreason, $newsreasonT, $newsreason);
+%
+%
+%my ($query) = $cgi->keywords;
+%my $action = '';
+%my $part_bill_event = '';
+%my $currentreasonclass = '';
+%if ( $cgi->param('error') ) {
+% $part_bill_event = new FS::part_bill_event ( {
+% map { $_, scalar($cgi->param($_)) } fields('part_bill_event')
+% } );
+%}
+%if ( $query && $query =~ /^(\d+)$/ ) {
+% $part_bill_event ||= qsearchs('part_bill_event',{'eventpart'=>$1});
+%} else {
+% $part_bill_event ||= new FS::part_bill_event {};
+%}
+%$action ||= $part_bill_event->eventpart ? 'Edit' : 'Add';
+%my $hashref = $part_bill_event->hashref;
+%
+%
+
+
+<% include('/elements/header.html',
+ "$action Invoice Event Definition",
+ menubar(
+ 'Main Menu' => popurl(2),
+ 'View all invoice events' => popurl(2). 'browse/part_bill_event.cgi',
+ )
+ )
+%>
+% if ( $cgi->param('error') ) {
+
+ Error: <% $cgi->param('error') %>
+% }
+
+
+ |
+
-#print '';
+
-print <