3 # part_pkg.cgi: Add/Edit package (output form)
5 # ivan@sisd.com 97-dec-10
7 # Changes to allow page to work at a relative position in server
8 # Changed to display services 2-wide in table
9 # bmccane@maxbaud.net 98-apr-3
11 # use FS::CGI, added inline documentation ivan@sisd.com 98-jul-12
15 use CGI::Carp qw(fatalsToBrowser);
16 use FS::UID qw(cgisuidsetup);
17 use FS::Record qw(qsearch qsearchs);
20 use FS::CGI qw(header menubar);
22 my($cgi) = new CGI::Base;
27 SendHeaders(); # one guess.
29 my($part_pkg,$action);
30 if ( $cgi->var('QUERY_STRING') =~ /^(\d+)$/ ) { #editing
31 $part_pkg=qsearchs('part_pkg',{'pkgpart'=>$1});
34 $part_pkg=create FS::part_pkg {};
37 my($hashref)=$part_pkg->hashref;
39 print header("$action Package Definition", menubar(
41 'View all packages' => '../browse/part_pkg.cgi',
42 )), '<FORM ACTION="process/part_pkg.cgi" METHOD=POST>';
44 print qq!<INPUT TYPE="hidden" NAME="pkgpart" VALUE="$hashref->{pkgpart}">!,
45 "Package Part #", $hashref->{pkgpart} ? $hashref->{pkgpart} : "(NEW)";
49 Package (customer-visable) <INPUT TYPE="text" NAME="pkg" SIZE=32 VALUE="$hashref->{pkg}">
50 Comment (customer-hidden) <INPUT TYPE="text" NAME="comment" SIZE=32 VALUE="$hashref->{comment}">
51 Setup fee for this package <INPUT TYPE="text" NAME="setup" VALUE="$hashref->{setup}">
52 Recurring fee for this package <INPUT TYPE="text" NAME="recur" VALUE="$hashref->{recur}">
53 Frequency (months) of recurring fee <INPUT TYPE="text" NAME="freq" VALUE="$hashref->{freq}">
57 Enter the quantity of each service this package includes.<BR><BR>
58 <TABLE BORDER><TR><TH><FONT SIZE=-1>Quan.</FONT></TH><TH>Service</TH>
59 <TH><FONT SIZE=-1>Quan.</FONT></TH><TH>Service</TH></TR>
64 foreach $part_svc ( qsearch('part_svc',{}) ) {
66 my($svcpart)=$part_svc->getfield('svcpart');
67 my($pkg_svc)=qsearchs('pkg_svc',{
68 'pkgpart' => $part_pkg->getfield('pkgpart'),
69 'svcpart' => $svcpart,
70 }) || create FS::pkg_svc({
71 'pkgpart' => $part_pkg->getfield('pkgpart'),
72 'svcpart' => $svcpart,
77 print qq!<TR>! if $count == 0 ;
78 print qq!<TD><INPUT TYPE="text" NAME="pkg_svc$svcpart" SIZE=3 VALUE="!,
79 $pkg_svc->getfield('quantity') || 0,qq!"></TD>!,
80 qq!<TD><A HREF="part_svc.cgi?!,$part_svc->getfield('svcpart'),
81 qq!">!, $part_svc->getfield('svc'), "</A></TD>";
89 print qq!</TR>! if ($count != 0) ;
93 print qq!<BR><INPUT TYPE="submit" VALUE="!,
94 $hashref->{pkgpart} ? "Apply changes" : "Add package",