This commit was generated by cvs2svn to compensate for changes in r2523,
[freeside.git] / httemplate / edit / process / part_bill_event.cgi
1 <%
2
3 my $eventpart = $cgi->param('eventpart');
4
5 my $old = qsearchs('part_bill_event',{'eventpart'=>$eventpart}) if $eventpart;
6
7 #s/days/seconds/
8 $cgi->param('seconds', $cgi->param('days') * 86400 );
9
10 my $error;
11 if ( ! $cgi->param('plan_weight_eventcode') ) {
12   $error = "Must select an action";
13 } else {
14
15   $cgi->param('plan_weight_eventcode') =~ /^([\w\-]+):(\d+):(.*)$/s
16     or die "illegal plan_weight_eventcode:".
17            $cgi->param('plan_weight_eventcode');
18   $cgi->param('plan', $1);
19   $cgi->param('weight', $2);
20   my $eventcode = $3;
21   my $plandata = '';
22   while ( $eventcode =~ /%%%(\w+)%%%/ ) {
23     my $field = $1;
24     my $value = $cgi->param($field);
25     $eventcode =~ s/%%%$field%%%/$value/;
26     $plandata .= "$field $value\n";
27   }
28   $cgi->param('eventcode', $eventcode);
29   $cgi->param('plandata', $plandata);
30
31   my $new = new FS::part_bill_event ( {
32     map {
33       $_, scalar($cgi->param($_));
34     } fields('part_bill_event'),
35   } );
36
37   if ( $eventpart ) {
38     $error = $new->replace($old);
39   } else {
40     $error = $new->insert;
41     $eventpart = $new->getfield('eventpart');
42   }
43
44
45 if ( $error ) {
46   $cgi->param('error', $error);
47   print $cgi->redirect(popurl(2). "part_bill_event.cgi?". $cgi->query_string );
48 } else {
49   print $cgi->redirect(popurl(3)."browse/part_bill_event.cgi");
50 }
51
52 %>
53