Will things ever be the same again?
[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', int( $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 = join(', ', $cgi->param($field) );
25 %    $cgi->param($field, $value); #in case it errors out
26 %    $eventcode =~ s/%%%$field%%%/$value/;
27 %    $plandata .= "$field $value\n";
28 %  }
29 %  $cgi->param('eventcode', $eventcode);
30 %  $cgi->param('plandata', $plandata);
31 %
32 %  my $new = new FS::part_bill_event ( {
33 %    map {
34 %      $_, scalar($cgi->param($_));
35 %    } fields('part_bill_event'),
36 %  } );
37 %
38 %  if ( $eventpart ) {
39 %    $error = $new->replace($old);
40 %  } else {
41 %    $error = $new->insert;
42 %    $eventpart = $new->getfield('eventpart');
43 %  }
44 %} 
45 %
46 %if ( $error ) {
47 %  $cgi->param('error', $error);
48 %  print $cgi->redirect(popurl(2). "part_bill_event.cgi?". $cgi->query_string );
49 %} else {
50 %  print $cgi->redirect(popurl(3)."browse/part_bill_event.cgi");
51 %}
52 %
53 %
54
55