X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fpart_pkg.cgi;h=fd7b175678783d355f4b24d8455930681ba3a209;hb=093fbb43eb8cfa3f94c8416ac9d2b7b078d8ee18;hp=5fc59c14daaaf7b4c5b7c11ab77f643b5cb3ed51;hpb=614af30dfb1d4b24d42ca2e3eed66784038ec398;p=freeside.git diff --git a/httemplate/edit/process/part_pkg.cgi b/httemplate/edit/process/part_pkg.cgi index 5fc59c14d..fd7b17567 100755 --- a/httemplate/edit/process/part_pkg.cgi +++ b/httemplate/edit/process/part_pkg.cgi @@ -10,12 +10,19 @@ %my $href = $plans{$cgi->param('plan')}->{'fields'}; % %#fixup plandata +%my $error; %my $plandata = $cgi->param('plandata'); %my @plandata = split(',', $plandata); %$cgi->param('plandata', % join('', map { my $parser = sub { shift }; % $parser = $href->{$_}{parse} if exists($href->{$_}{parse}); -% "$_=". join(', ', &$parser($cgi->param($_))). "\n" +% my $value = join(', ', &$parser($cgi->param($_))); +% my $check = $href->{$_}{check}; +% if ( $check && ! &$check($value) ) { +% $value = join(', ', $cgi->param($_)); +% $error ||= "Illegal ". ($href->{$_}{name}||$_). ": $value"; +% } +% "$_=$value\n"; % } @plandata ) %); % @@ -39,9 +46,12 @@ % map { $_->svcpart } % qsearch('part_svc', {} ); % -%my $error; %my $custnum = ''; -%if ( $cgi->param('taxclass') eq '(select)' ) { +%if ( $error ) { +% +% # fall through +% +%} elsif ( $cgi->param('taxclass') eq '(select)' ) { % % $error = 'Must select a tax class'; %