diff options
author | ivan <ivan> | 2002-01-30 18:22:54 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-01-30 18:22:54 +0000 |
commit | c7ff9a58360788ce776022606c4ec3496062013b (patch) | |
tree | 82bf1727e804dce87fc452e060466d6da7ddd879 /httemplate/edit/process | |
parent | 1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39 (diff) |
fully working invoice event web interface
Diffstat (limited to 'httemplate/edit/process')
-rwxr-xr-x | httemplate/edit/process/part_bill_event.cgi | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/httemplate/edit/process/part_bill_event.cgi b/httemplate/edit/process/part_bill_event.cgi index eb7c53e5d..7c0b54d0d 100755 --- a/httemplate/edit/process/part_bill_event.cgi +++ b/httemplate/edit/process/part_bill_event.cgi @@ -5,21 +5,43 @@ my $eventpart = $cgi->param('eventpart'); my $old = qsearchs('part_bill_event',{'eventpart'=>$eventpart}) if $eventpart; #s/days/seconds/ -$cgi->param('seconds', $cgi->param('days') * 3600 ); - -my $new = new FS::part_bill_event ( { - map { - $_, scalar($cgi->param($_)); - } fields('part_bill_event'), -} ); +$cgi->param('seconds', $cgi->param('days') * 86400 ); my $error; -if ( $eventpart ) { - $error = $new->replace($old); +if ( ! $cgi->param('plan_weight_eventcode') ) { + $error = "Must select an action"; } else { - $error = $new->insert; - $eventpart = $new->getfield('eventpart'); -} + + $cgi->param('plan_weight_eventcode') =~ /^(\w+):(\d+):(.*)$/ + 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 = $cgi->param($field); + $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'), + } ); + + my $error; + if ( $eventpart ) { + $error = $new->replace($old); + } else { + $error = $new->insert; + $eventpart = $new->getfield('eventpart'); + } +} if ( $error ) { $cgi->param('error', $error); |