From c93520accf00e15095e7af5fcb59caed2bd9e556 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 18 Jan 1999 09:22:42 +0000 Subject: changes to track email addresses for email invoicing --- htdocs/edit/agent_type.cgi | 11 +- htdocs/edit/cust_main.cgi | 235 ++++++++++++++++++++++---------------- htdocs/edit/process/cust_main.cgi | 70 +++++++----- 3 files changed, 186 insertions(+), 130 deletions(-) (limited to 'htdocs/edit') diff --git a/htdocs/edit/agent_type.cgi b/htdocs/edit/agent_type.cgi index d9c0851aa..9bfc37429 100755 --- a/htdocs/edit/agent_type.cgi +++ b/htdocs/edit/agent_type.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: agent_type.cgi,v 1.6 1998-12-17 06:16:58 ivan Exp $ +# $Id: agent_type.cgi,v 1.7 1999-01-18 09:22:29 ivan Exp $ # # agent_type.cgi: Add/Edit agent type (output form) # @@ -13,7 +13,10 @@ # use FS::CGI, added inline documentation ivan@sisd.com 98-jul-12 # # $Log: agent_type.cgi,v $ -# Revision 1.6 1998-12-17 06:16:58 ivan +# Revision 1.7 1999-01-18 09:22:29 ivan +# changes to track email addresses for email invoicing +# +# Revision 1.6 1998/12/17 06:16:58 ivan # fix double // in relative URLs, s/CGI::Base/CGI/; # # Revision 1.5 1998/11/21 07:58:27 ivan @@ -46,7 +49,9 @@ my($cgi) = new CGI; &cgisuidsetup($cgi); my($agent_type,$action); -if ( $cgi->keywords =~ /^(\d+)$/ ) { #editing +if ( $cgi->keywords ) { #editing + my( $query ) = $cgi->keywords; + $query =~ /^(\d+)$/; $agent_type=qsearchs('agent_type',{'typenum'=>$1}); $action='Edit'; } else { #adding diff --git a/htdocs/edit/cust_main.cgi b/htdocs/edit/cust_main.cgi index 19db4a907..d712f7649 100755 --- a/htdocs/edit/cust_main.cgi +++ b/htdocs/edit/cust_main.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: cust_main.cgi,v 1.4 1998-12-23 08:08:15 ivan Exp $ +# $Id: cust_main.cgi,v 1.5 1999-01-18 09:22:30 ivan Exp $ # # Usage: cust_main.cgi custnum # http://server.name/path/cust_main.cgi?custnum @@ -40,7 +40,10 @@ # fixed one missed day->daytime ivan@sisd.com 98-jul-13 # # $Log: cust_main.cgi,v $ -# Revision 1.4 1998-12-23 08:08:15 ivan +# 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 @@ -48,71 +51,63 @@ # use strict; -use CGI; +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); +use FS::CGI qw(header popurl itable table); use FS::cust_main; -my($cgi) = new CGI; - +my $cgi = new CGI; cgisuidsetup($cgi); #get record -my($custnum,$action,$cust_main); -my($query) = $cgi->keywords; -if ( $query =~ /^(\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'; } +# top + my $p1 = popurl(1); -print $cgi->header, header("Customer $action", ''), < -
-END
+print $cgi->header, header("Customer $action", ''),
+      qq!
!, + qq!!, + qq!Customer # !, ( $custnum ? $custnum : " (NEW)" ), + +; -print qq!!, - qq!Customer #!; -print $custnum ? $custnum : " (NEW)" , ""; +# agent -#agentnum -my($agentnum)=$cust_main->agentnum || 1; #set to first agent by default my @agents = qsearch( 'agent', {} ); -print qq!\n\nAgent # "; - -#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 +115,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!

!, + "", +; diff --git a/htdocs/edit/process/cust_main.cgi b/htdocs/edit/process/cust_main.cgi index 8404ba894..f65665142 100755 --- a/htdocs/edit/process/cust_main.cgi +++ b/htdocs/edit/process/cust_main.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: cust_main.cgi,v 1.3 1998-12-17 08:40:19 ivan Exp $ +# $Id: cust_main.cgi,v 1.4 1999-01-18 09:22:32 ivan Exp $ # # Usage: post form to: # http://server.name/path/cust_main.cgi @@ -22,7 +22,10 @@ # bmccane@maxbaud.net 98-apr-3 # # $Log: cust_main.cgi,v $ -# Revision 1.3 1998-12-17 08:40:19 ivan +# Revision 1.4 1999-01-18 09:22:32 ivan +# changes to track email addresses for email invoicing +# +# Revision 1.3 1998/12/17 08:40:19 ivan # s/CGI::Request/CGI.pm/; etc # # Revision 1.2 1998/11/18 08:57:36 ivan @@ -30,60 +33,71 @@ # use strict; +#use CGI; use CGI; use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); +use FS::UID qw(cgisuidsetup getotaker); use FS::CGI qw(eidiot popurl); -use FS::Record qw(qsearchs); +use FS::Record qw(qsearchs fields); use FS::cust_main; my($cgi)=new CGI; - &cgisuidsetup($cgi); -#create new record object +#unmunge stuff -#unmunge agentnum -$cgi->param('agentnum', - (split(/:/, ($cgi->param('agentnum'))[0] ))[0] -); +$cgi->param('agentnum', (split(/:/, ($cgi->param('agentnum'))[0] ))[0] ); -#unmunge tax $cgi->param('tax','') unless defined($cgi->param('tax')); -#unmunge refnum -$cgi->param('refnum', - (split(/:/, ($cgi->param('refnum'))[0] ))[0] -); +$cgi->param('refnum', (split(/:/, ($cgi->param('refnum'))[0] ))[0] ); -#unmunge state/county/country $cgi->param('state') =~ /^(\w+)( \((\w+)\))? \/ (\w+)$/; $cgi->param('state', $1); $cgi->param('county', $3 || ''); $cgi->param('country', $4); -my($new) = create FS::cust_main ( { +my $payby = $cgi->param('payby'); +$cgi->param('payinfo', $cgi->param( $payby. '_payinfo' ) ); +$cgi->param('paydate', + $cgi->param( $payby. '_month' ). '-'. $cgi->param( $payby. '_year' ) ); +$cgi->param('payname', $cgi->param( $payby. '_payname' ) ); + +$cgi->param('otaker', &getotaker ); + +my @invoicing_list = split( /\s*\,\s*/, $cgi->param('invoicing_list') ); +push @invoicing_list, 'POST' if $cgi->param('invoicing_list_POST'); + +#create new record object + +my($new) = new FS::cust_main ( { map { $_, scalar($cgi->param($_)) - } qw(custnum agentnum last first ss company address1 address2 city county - state zip daytime night fax payby payinfo paydate payname tax - otaker refnum) +# } qw(custnum agentnum last first ss company address1 address2 city county +# state zip daytime night fax payby payinfo paydate payname tax +# otaker refnum) + } fields('cust_main') } ); +#perhaps the invocing_list magic should move to cust_main.pm? if ( $new->custnum eq '' ) { - - my($error)=$new->insert; + my $error; + $error = $new->check_invoicing_list( \@invoicing_list ); + &ediot($error) if $error; + $error = $new->insert; &eidiot($error) if $error; - + $new->invoicing_list( \@invoicing_list ); } else { #create old record object - - my($old) = qsearchs( 'cust_main', { 'custnum', $new->custnum } ); + my $error; + my $old = qsearchs( 'cust_main', { 'custnum' => $new->custnum } ); &eidiot("Old record not found!") unless $old; - my($error)=$new->replace($old); + $error = $new->check_invoicing_list( \@invoicing_list ); &eidiot($error) if $error; - + $error = $new->replace($old); + &eidiot($error) if $error; + $new->invoicing_list( \@invoicing_list ); } -my($custnum)=$new->custnum; +my $custnum = $new->custnum; print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum#cust_main"); -- cgit v1.2.1