<% my %pkg = (); my %comment = (); my %all_pkg = (); my %all_comment = (); #foreach (qsearch('part_pkg', { 'disabled' => '' })) { # $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg'); # $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment'); #} foreach (qsearch('part_pkg', {} )) { $all_pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg'); $all_comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment'); next if $_->disabled; $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg'); $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment'); } my($custnum, %remove_pkg); if ( $cgi->param('error') ) { $custnum = $cgi->param('custnum'); %remove_pkg = map { $_ => 1 } $cgi->param('remove_pkg'); } else { my($query) = $cgi->keywords; $query =~ /^(\d+)$/; $custnum = $1; %remove_pkg = (); } my $p1 = popurl(1); print header("Add/Edit Packages", ''); print qq!Error: !, $cgi->param('error'), "" if $cgi->param('error'); print qq!
!; print qq!!; #current packages my @cust_pkg = qsearch('cust_pkg',{ 'custnum' => $custnum, 'cancel' => '' } ); if (@cust_pkg) { print < Pkg # Package description

END foreach (sort { $all_pkg{$a->getfield('pkgpart')} cmp $all_pkg{$b->getfield('pkgpart')} } @cust_pkg) { my($pkgnum,$pkgpart)=( $_->getfield('pkgnum'), $_->getfield('pkgpart') ); my $checked = $remove_pkg{$pkgnum} ? ' CHECKED' : ''; print < $pkgnum:\n $all_pkg{$pkgpart} - $all_comment{$pkgpart} END } print qq!

!; } print <
END my $cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); my $agent = qsearchs('agent',{'agentnum'=> $cust_main->agentnum }); my %agent_pkgs = map { ( $_->pkgpart , $all_pkg{$_->pkgpart} ) } qsearch('type_pkgs',{'typenum'=> $agent->typenum }); my $count = 0; my $pkgparts = 0; print < Qty. Package Description END #foreach my $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) { foreach my $pkgpart ( sort { $agent_pkgs{$a} cmp $agent_pkgs{$b} } keys(%agent_pkgs) ) { $pkgparts++; next unless exists $pkg{$pkgpart}; #skip disabled ones #print qq!! if ( $count == 0 ); my $value = $cgi->param("pkg$pkgpart") || 0; print < $pkgpart: $pkg{$pkgpart} - $comment{$pkgpart} END $count ++ ; #if ( $count == 2 ) { # print qq!\n! ; # $count = 0; #} } print qq!!; unless ( $pkgparts ) { my $p2 = popurl(2); my $typenum = $agent->typenum; my $agent_type = qsearchs( 'agent_type', { 'typenum' => $typenum } ); my $atype = $agent_type->atype; print <package definitions, or agent type $atype not allowed to purchase any packages.) END } #submit print < END %>