X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fpart_bill_event.cgi;h=af594f2648aad3fbf9bb8dee7131a2462c75bd39;hb=9035034a53d60cb7a7687dfee899c1d0c775ea74;hp=4811d9c9b49041a3ff59bf0250b6d2d1eae2c10e;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/httemplate/edit/process/part_bill_event.cgi b/httemplate/edit/process/part_bill_event.cgi index 4811d9c9b..af594f264 100755 --- a/httemplate/edit/process/part_bill_event.cgi +++ b/httemplate/edit/process/part_bill_event.cgi @@ -1,5 +1,4 @@ % -% %my $eventpart = $cgi->param('eventpart'); % %my $old = qsearchs('part_bill_event',{'eventpart'=>$eventpart}) if $eventpart; @@ -19,6 +18,40 @@ % $cgi->param('weight', $2); % my $eventcode = $3; % my $plandata = ''; +% +% my $rnum; +% my $rtype; +% my $reasonm; +% 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("new${class}reasonT") =~ /^(\d+)$/ +% or $error = "Invalid new${class}reasonT"; +% $rtype = $1; +% $cgi->param("new${class}reason") =~ /^([\s\w]+)$/ +% or $error = "Invalid new${class}reason"; +% $reasonm = $1; +% } +% } +% +% if ($rnum == -1 && !$error) { +% my $reason = new FS::reason ({ 'reason' => $reasonm, +% 'reason_type' => $rtype, +% }); +% $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) ); @@ -29,17 +62,20 @@ % $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'); +% unless($error){ +% my $new = new FS::part_bill_event ( { +% map { +% $_, scalar($cgi->param($_)); +% } fields('part_bill_event'), +% } ); +% $new->setfield('reason', $rnum); +% +% if ( $eventpart ) { +% $error = $new->replace($old); +% } else { +% $error = $new->insert; +% $eventpart = $new->getfield('eventpart'); +% } % } %} % @@ -51,5 +87,3 @@ %} % % - -