#!/usr/bin/perl -Tw # # part_pkg.cgi: Add/Edit package (output form) # # ivan@sisd.com 97-dec-10 # # Changes to allow page to work at a relative position in server # Changed to display services 2-wide in table # bmccane@maxbaud.net 98-apr-3 # # use FS::CGI, added inline documentation ivan@sisd.com 98-jul-12 use strict; use CGI::Base; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup); use FS::Record qw(qsearch qsearchs); use FS::part_pkg; use FS::pkg_svc; use FS::CGI qw(header menubar); my($cgi) = new CGI::Base; $cgi->get; &cgisuidsetup($cgi); SendHeaders(); # one guess. my($part_pkg,$action); if ( $cgi->var('QUERY_STRING') =~ /^(\d+)$/ ) { #editing $part_pkg=qsearchs('part_pkg',{'pkgpart'=>$1}); $action='Edit'; } else { #adding $part_pkg=create FS::part_pkg {}; $action='Add'; } my($hashref)=$part_pkg->hashref; print header("$action Package Definition", menubar( 'Main Menu' => '../', 'View all packages' => '../browse/part_pkg.cgi', )), '
'; print qq!!, "Package Part #", $hashref->{pkgpart} ? $hashref->{pkgpart} : "(NEW)"; print < Package (customer-visable) Comment (customer-hidden) Setup fee for this package Recurring fee for this package Frequency (months) of recurring fee Enter the quantity of each service this package includes.

END my($part_svc); my($count) = 0 ; foreach $part_svc ( qsearch('part_svc',{}) ) { my($svcpart)=$part_svc->getfield('svcpart'); my($pkg_svc)=qsearchs('pkg_svc',{ 'pkgpart' => $part_pkg->getfield('pkgpart'), 'svcpart' => $svcpart, }) || create FS::pkg_svc({ 'pkgpart' => $part_pkg->getfield('pkgpart'), 'svcpart' => $svcpart, 'quantity' => 0, }); next unless $pkg_svc; print qq!! if $count == 0 ; print qq!!, qq!"; $count ++ ; if ($count == 2) { print qq!! ; $count = 0 ; } } print qq!! if ($count != 0) ; print "
Quan.Service Quan.Service
!, $part_svc->getfield('svc'), "
"; print qq!
!; print < END