X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fpart_bill_event.cgi;h=eb0529bb85c9320eb5ab8e08f61172c21af2e16a;hp=3534519fd6bca89f40542bc73c17ba3702f2b330;hb=74e058c8a010ef6feb539248a550d0bb169c1e94;hpb=c648976f0b7975f2328ebd7ba8c711fad0ca4195 diff --git a/httemplate/edit/process/part_bill_event.cgi b/httemplate/edit/process/part_bill_event.cgi index 3534519fd..eb0529bb8 100755 --- a/httemplate/edit/process/part_bill_event.cgi +++ b/httemplate/edit/process/part_bill_event.cgi @@ -72,21 +72,35 @@ if ( ! $cgi->param('plan_weight_eventcode') ) { $cgi->param('eventcode', $eventcode); $cgi->param('plandata', $plandata); - unless($error){ - my $new = new FS::part_bill_event ( { - map { - $_, scalar($cgi->param($_)); - } fields('part_bill_event'), - } ); - $new->setfield('reason', $rnum); + unless($error) { if ( $eventpart ) { + + my $new = new FS::part_bill_event ( { + map { $_ => scalar($cgi->param($_)) } + fields('part_bill_event'), + } ); + $new->setfield('reason' => $rnum); $error = $new->replace($old); + } else { - $error = $new->insert; - $eventpart = $new->getfield('eventpart'); + + foreach my $payby ( $cgi->param('payby') ) { + my $new = new FS::part_bill_event ( { + map { $_ => scalar($cgi->param($_)) } + grep { $_ ne 'payby' } + fields('part_bill_event') + } ); + $new->setfield('payby' => $payby); + $new->setfield('reason' => $rnum ); + $error = $new->insert; + last if $error; + } + } + } + }