X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=htdocs%2Fedit%2Fcust_main.cgi;h=174c7986f5ad8f623d538087416a64b34162e5cb;hb=3f81acee781ba7b9defc47680679d7d92d6440ed;hp=fd36ab7d41dc63c889ac129c8a9fe48123d72f49;hpb=ef834d58bfd2ce38c8bea73262c8091a5d88388f;p=freeside.git diff --git a/htdocs/edit/cust_main.cgi b/htdocs/edit/cust_main.cgi index fd36ab7d4..174c7986f 100755 --- a/htdocs/edit/cust_main.cgi +++ b/htdocs/edit/cust_main.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# cust_main.cgi: Edit a customer (output form) +# $Id: cust_main.cgi,v 1.6 1999-01-18 09:41:24 ivan Exp $ # # Usage: cust_main.cgi custnum # http://server.name/path/cust_main.cgi?custnum @@ -38,81 +38,80 @@ # bmccane@maxbaud.net 98-apr-3 # # fixed one missed day->daytime ivan@sisd.com 98-jul-13 +# +# $Log: cust_main.cgi,v $ +# Revision 1.6 1999-01-18 09:41:24 ivan +# all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl +# (good idea anyway) +# +# Revision 1.5 1999/01/18 09:22:30 ivan +# changes to track email addresses for email invoicing +# +# Revision 1.4 1998/12/23 08:08:15 ivan +# fix typo +# +# Revision 1.3 1998/12/17 06:17:00 ivan +# fix double // in relative URLs, s/CGI::Base/CGI/; +# use strict; -use CGI::Base; +use CGI::Switch; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup getotaker); use FS::Record qw(qsearch qsearchs); +use FS::CGI qw(header popurl itable table); use FS::cust_main; -my($cgi) = new CGI::Base; -$cgi->get; - +my $cgi = new CGI; cgisuidsetup($cgi); -SendHeaders(); # one guess. - #get record -my($custnum,$action,$cust_main); -if ( $cgi->var('QUERY_STRING') =~ /^(\d+)$/ ) { #editing + +my ( $custnum, $action, $cust_main ); +if ( $cgi->keywords ) { #editing + my( $query ) = $cgi->keywords; + $query =~ /^(\d+)$/; $custnum=$1; - $cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); + $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); $action='Edit'; } else { $custnum=''; - $cust_main = create FS::cust_main ( {} ); + $cust_main = new FS::cust_main ( {} ); $cust_main->setfield('otaker',&getotaker); $action='Add'; } -print < - - Customer $action - - -
-

Customer $action

-
-
-
-END
+# top
 
-print qq!!,
-      qq!Customer #!;
-print $custnum ? $custnum : " (NEW)" , "";
-
-#agentnum
-my($agentnum)=$cust_main->agentnum || 1; #set to first agent by default
-my(@agents) = qsearch('agent',{});
-print qq!\n\nAgent # ";
+my $p1 = popurl(1);
+print $cgi->header( '-expires' => 'now' ), header("Customer $action", ''),
+      qq!!,
+      qq!!,
+      qq!Customer # !, ( $custnum ? $custnum : " (NEW)" ),
+      
+;
 
-#referral
-#unless ($custnum) {
-  my($refnum)=$cust_main->refnum || 0; #to avoid "arguement not numeric" error
-  my(@referrals) = qsearch('part_referral',{});
-  print qq!\nReferral !;
+} else {
+  print qq!

Agent "; -#} +} -my($last,$first,$ss,$company,$address1,$address2,$city)=( +# contact info + +my($last,$first,$ss,$company,$address1,$address2,$city,$zip)=( $cust_main->last, $cust_main->first, $cust_main->ss, @@ -120,18 +119,18 @@ my($last,$first,$ss,$company,$address1,$address2,$city)=( $cust_main->address1, $cust_main->address2, $cust_main->city, + $cust_main->zip, ); -print < (first) SS# -Company -Address - -City State (county) / Country, SS# +Company +Address +CityState/Country"; +print qq!Zip!; -my($zip,$daytime,$night,$fax)=( - $cust_main->zip, +my($daytime,$night,$fax)=( $cust_main->daytime, $cust_main->night, $cust_main->fax, ); print < - -Phone (daytime) (night) (fax) - +Day Phone +Night Phone +Fax END -my(%payby)=( - 'CARD' => "Credit card ", - 'BILL' => "Billing ", - 'COMP' => "Complimentary", -); -for (qw(CARD BILL COMP)) { - print qq!payby eq "$_"); - print qq!>$payby{$_}!; -} +print ""; +# billing info -my($payinfo,$payname,$otaker)=( - $cust_main->payinfo, - $cust_main->payname, - $cust_main->otaker, -); +sub expselect { + my $prefix = shift; + my $date = shift || ''; + my( $m, $y ) = ( 0, 0 ); + if ( $date =~ /^(\d{4})-(\d{2})-\d{2}$/ ) { #PostgreSQL date format + ( $m, $y ) = ( $2, $1 ); + } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) { + ( $m, $y ) = ( $1, $3 ); + } + my $return = qq!!; + for ( 1999 .. 2037 ) { + $return .= "paydate =~ /^(\d{4})-(\d{2})-\d{2}$/ ) { - $paydate="$2/$1" -} elsif ( $cust_main->paydate =~ /^(\d{2})-\d{2}-(\d{4}$)/ ) { - $paydate="$1/$2" -} -else { - $paydate=''; + $return; } -print <Billing information", itable("#c0c0c0"), + qq!tax eq "Y"; +print qq!>Tax Exempt!; +print qq!invoicing_list; +print qq! CHECKED! + if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; +print qq!> Postal mail invoice!; +my $invoicing_list = join(', ', grep { $_ ne 'POST' } @invoicing_list ); +print qq!Email invoice !; - Card number , P.O. # or Authorization -END +print ""; -print qq!Exp. date (MM/YY or MM/YYYY) Billing name \ntax eq "Y"; -print qq!> Tax Exempt!; +print table("#c0c0c0"), ""; -print <payinfo, + $cust_main->payname, +); +my %payby = ( + 'CARD' => qq!Credit card

Exp !. expselect("CARD"). qq!
Name on card
!, + 'BILL' => qq!Billing
P.O.
Exp !. expselect("BILL", "12-2037"). qq!
Attention
!, + 'COMP' => qq!Complimentary
Approved by
Exp !. expselect("COMP"), +); +my %paybychecked = ( + 'CARD' => qq!Credit card

Exp !. expselect("CARD", $cust_main->paydate). qq!
Name on card
!, + 'BILL' => qq!Billing
P.O.
Exp !. expselect("BILL", $cust_main->paydate). qq!
Attention
!, + 'COMP' => qq!Complimentary
Approved by
Exp !. expselect("COMP", $cust_main->paydate), +); +for (qw(CARD BILL COMP)) { + print qq!payby eq "$_") { + print qq! CHECKED> $paybychecked{$_}!; + } else { + print qq!> $payby{$_}!; + } +} -Order taken by: $otaker -
-END +print ""; -print qq!
!; +#referral -print <refnum || 0; +if ( $custnum ) { + print qq!!; +} else { + my(@referrals) = qsearch('part_referral',{}); + print qq!
Referral "; +} - - - -END +my $otaker = $cust_main->otaker; +print qq!!, + qq!

!, + "", +;