<% my $eventpart = $cgi->param('eventpart'); my $old = qsearchs('part_bill_event',{'eventpart'=>$eventpart}) if $eventpart; #s/days/seconds/ $cgi->param('seconds', int( $cgi->param('days') * 86400 ) ); my $error; if ( ! $cgi->param('plan_weight_eventcode') ) { $error = "Must select an action"; } else { $cgi->param('plan_weight_eventcode') =~ /^([\w\-]+):(\d+):(.*)$/s or die "illegal plan_weight_eventcode:". $cgi->param('plan_weight_eventcode'); $cgi->param('plan', $1); $cgi->param('weight', $2); my $eventcode = $3; my $plandata = ''; while ( $eventcode =~ /%%%(\w+)%%%/ ) { my $field = $1; my $value = join(', ', $cgi->param($field) ); $cgi->param($field, $value); #in case it errors out $eventcode =~ s/%%%$field%%%/$value/; $plandata .= "$field $value\n"; } $cgi->param('eventcode', $eventcode); $cgi->param('plandata', $plandata); my $new = new FS::part_bill_event ( { map { $_, scalar($cgi->param($_)); } fields('part_bill_event'), } ); if ( $eventpart ) { $error = $new->replace($old); } else { $error = $new->insert; $eventpart = $new->getfield('eventpart'); } } if ( $error ) { $cgi->param('error', $error); print $cgi->redirect(popurl(2). "part_bill_event.cgi?". $cgi->query_string ); } else { print $cgi->redirect(popurl(3)."browse/part_bill_event.cgi"); } %>