<% # use strict; use vars qw( $cgi $p $part_pkg ); use CGI; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup); use FS::Record qw(qsearch qsearchs); use FS::CGI qw(header menubar popurl table); use FS::part_pkg; use FS::pkg_svc; use FS::part_svc; $cgi = new CGI; &cgisuidsetup($cgi); $p = popurl(2); print $cgi->header( '-expires' => 'now' ), header("Package Definition Listing",menubar( 'Main Menu' => $p, )), "One or more services are grouped together into a package and given", " pricing information. Customers purchase packages, not services.

", &table(), < Package Comment Setup Fee Freq. Recur. Fee Service Quan. END foreach $part_pkg ( sort { $a->getfield('pkgpart') <=> $b->getfield('pkgpart') } qsearch('part_pkg',{}) ) { my($hashref)=$part_pkg->hashref; my(@pkg_svc)=grep $_->getfield('quantity'), qsearch('pkg_svc',{'pkgpart'=> $hashref->{pkgpart} }); my($rowspan)=scalar(@pkg_svc); print < $hashref->{pkgpart} $hashref->{pkg} $hashref->{comment} $hashref->{setup} $hashref->{freq} $hashref->{recur} END my($pkg_svc); my($n)=""; foreach $pkg_svc ( @pkg_svc ) { my($svcpart)=$pkg_svc->getfield('svcpart'); my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart }); print $n,qq!!, $part_svc->getfield('svc'),"", $pkg_svc->getfield('quantity'),"\n"; $n=""; } print ""; } print <Add a new package definition END %>