#!/usr/bin/perl -Tw # # $Id: part_pkg.cgi,v 1.5 1998-11-21 07:12:26 ivan Exp $ # # 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 # # $Log: part_pkg.cgi,v $ # Revision 1.5 1998-11-21 07:12:26 ivan # *** empty log message *** # # Revision 1.4 1998/11/21 07:11:08 ivan # *** empty log message *** # # Revision 1.3 1998/11/21 07:07:40 ivan # popurl, bugfix # # Revision 1.2 1998/11/15 13:14:55 ivan # first pass as per-user custom pricing # use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup); use FS::Record qw(qsearch qsearchs); use FS::part_pkg; use FS::part_svc; use FS::pkg_svc; use FS::CGI qw(header menubar popurl); my($cgi) = new CGI; &cgisuidsetup($cgi); if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) { $cgi->param('clone', $1); } else { $cgi->param('clone', ''); } if ( $cgi->param('pkgnum') && $cgi->param('pkgnum') =~ /^(\d+)$/ ) { $cgi->param('pkgnum', $1); } else { $cgi->param('pkgnum', ''); } my($part_pkg,$action); my($query) = $cgi->keywords; if ( $cgi->param('clone') ) { $action='Custom Pricing'; my $old_part_pkg = qsearchs('part_pkg', { 'pkgpart' => $cgi->param('clone') } ); $part_pkg = $old_part_pkg->clone; } elsif ( $query =~ /^(\d+)$/ ) { $action='Edit'; $part_pkg=qsearchs('part_pkg',{'pkgpart'=>$1}); } else { $action='Add'; $part_pkg=create FS::part_pkg {}; } my($hashref)=$part_pkg->hashref; print $cgi->header, header("$action Package Definition", menubar( 'Main Menu' => popurl(2), 'View all packages' => popurl(2). '/browse/part_pkg.cgi', )), '
'; if ( $cgi->param('clone') ) { print qq!!; } if ( $cgi->param('pkgnum') ) { print qq!!; } 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 END unless ( $cgi->param('clone') ) { print <
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' => $cgi->param('clone') || $part_pkg->getfield('pkgpart'), 'svcpart' => $svcpart, }) || create FS::pkg_svc({ 'pkgpart' => $part_pkg->getfield('pkgpart'), 'svcpart' => $svcpart, 'quantity' => 0, }); next unless $pkg_svc; unless ( $cgi->param('clone') ) { print qq!! if $count == 0 ; print qq!!, qq!"; $count ++ ; if ($count == 2) { print qq!! ; $count = 0 ; } } else { print qq!\n!; } } unless ( $cgi->param('clone') ) { print qq!! if ($count != 0) ; print "
Quan.Service Quan.Service
!, $part_svc->getfield('svc'), "
"; } print qq!
!; print < END