wtf?
[freeside.git] / httemplate / edit / process / part_bill_event.cgi
index dd5cd0c..af594f2 100755 (executable)
 %  $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 $rnum;
 %  my $rtype;
 %  my $reasonm;
-%  if ($eventcode =~ /cancel/) {
-%    $cgi->param('creason') =~ /^(-?\d+)$/ || die "Invalid creason";
-%    $rnum = $1;
-%    if ($rnum == -1) {
-%      $cgi->param('newcreasonT') =~ /^(\d+)$/ || die "Invalid newcreasonT";
-%      $rtype = $1;
-%      $cgi->param('newcreason') =~ /^([\s\w]+)$/ || die "Invalid newcreasonT";
-%      $reasonm = $1;
-%    }
-%  }
-%  if ($eventcode =~ /suspend/) {
-%    $cgi->param('sreason') =~ /^(-?\d+)$/ || die "Invalid sreason";
+%  my $class  = '';
+%  $class='c' if ($eventcode =~ /cancel/);
+%  $class='s' if ($eventcode =~ /suspend/);
+%  if ($class) {
+%    $cgi->param("${class}reason") =~ /^(-?\d+)$/
+%      or $error =  "Invalid ${class}reason";
 %    $rnum = $1;
 %    if ($rnum == -1) {
-%      $cgi->param('newsreasonT') =~ /^(\d+)$/ || die "Invalid newsreasonT";
+%      $cgi->param("new${class}reasonT") =~ /^(\d+)$/
+%        or $error =  "Invalid new${class}reasonT";
 %      $rtype = $1;
-%      $cgi->param('newsreason') =~ /^([\s\w]+)$/ || die "Invalid newsreasonT";
+%      $cgi->param("new${class}reason") =~ /^([\s\w]+)$/
+%        or $error = "Invalid new${class}reason";
 %      $reasonm = $1;
 %    }
 %  }
 %    my $reason = new FS::reason ({ 'reason'      => $reasonm,
 %                                   'reason_type' => $rtype,
 %                                 });
-%    $error = $reason->insert or $rnum = $reason->reasonnum;
+%    $error = $reason->insert;
+%    unless ($error) {
+%      $rnum = $reason->reasonnum;
+%      $cgi->param("${class}reason", $rnum);
+%      $cgi->param("new${class}reason", '');
+%      $cgi->param("new${class}reasonT", '');
+%    }
 %  }
 %
+%  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);
+%
 %  unless($error){
 %    my $new = new FS::part_bill_event ( {
 %      map {
@@ -84,5 +87,3 @@
 %}
 %
 %
-
-