summaryrefslogtreecommitdiff
path: root/htdocs/edit/process
diff options
context:
space:
mode:
Diffstat (limited to 'htdocs/edit/process')
-rwxr-xr-xhtdocs/edit/process/agent.cgi56
-rwxr-xr-xhtdocs/edit/process/agent_type.cgi73
-rwxr-xr-xhtdocs/edit/process/cust_credit.cgi78
-rwxr-xr-xhtdocs/edit/process/cust_main.cgi205
-rwxr-xr-xhtdocs/edit/process/cust_main_county-expand.cgi72
-rwxr-xr-xhtdocs/edit/process/cust_main_county.cgi46
-rwxr-xr-xhtdocs/edit/process/cust_pay.cgi74
-rwxr-xr-xhtdocs/edit/process/cust_pkg.cgi77
-rwxr-xr-xhtdocs/edit/process/part_pkg.cgi128
-rwxr-xr-xhtdocs/edit/process/part_referral.cgi60
-rwxr-xr-xhtdocs/edit/process/part_svc.cgi60
-rwxr-xr-xhtdocs/edit/process/svc_acct.cgi88
-rwxr-xr-xhtdocs/edit/process/svc_acct_pop.cgi55
-rwxr-xr-xhtdocs/edit/process/svc_acct_sm.cgi73
-rwxr-xr-xhtdocs/edit/process/svc_domain.cgi72
15 files changed, 759 insertions, 458 deletions
diff --git a/htdocs/edit/process/agent.cgi b/htdocs/edit/process/agent.cgi
index 5d1ce3232..c1b397aac 100755
--- a/htdocs/edit/process/agent.cgi
+++ b/htdocs/edit/process/agent.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/agent.cgi: Edit agent (process form)
+# $Id: agent.cgi,v 1.7 1999-01-25 12:09:57 ivan Exp $
#
# ivan@sisd.com 97-dec-12
#
@@ -8,34 +8,51 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: agent.cgi,v $
+# Revision 1.7 1999-01-25 12:09:57 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.6 1999/01/19 05:13:47 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.5 1999/01/18 22:47:49 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.4 1998/12/30 23:03:26 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.3 1998/12/17 08:40:16 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.2 1998/11/23 07:52:29 ivan
+# *** empty log message ***
+#
use strict;
-use CGI::Request;
+use vars qw ( $cgi $agentnum $old $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs);
-use FS::agent qw(fields);
-use FS::CGI qw(idiot);
-
-my($req)=new CGI::Request; # create form object
+use FS::Record qw(qsearch qsearchs fields);
+use FS::agent;
+use FS::CGI qw(popurl);
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
-my($agentnum)=$req->param('agentnum');
+&cgisuidsetup($cgi);
-my($old)=qsearchs('agent',{'agentnum'=>$agentnum}) if $agentnum;
+$agentnum = $cgi->param('agentnum');
-#unmunge typenum
-$req->param('typenum') =~ /^(\d+)(:.*)?$/;
-$req->param('typenum',$1);
+$old = qsearchs('agent',{'agentnum'=>$agentnum}) if $agentnum;
-my($new)=create FS::agent ( {
+$new = new FS::agent ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
} fields('agent')
} );
-my($error);
if ( $agentnum ) {
$error=$new->replace($old);
} else {
@@ -44,10 +61,9 @@ if ( $agentnum ) {
}
if ( $error ) {
- &idiot($error);
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "agent.cgi?". $cgi->query_string );
} else {
- #$req->cgi->redirect("../../view/agent.cgi?$agentnum");
- #$req->cgi->redirect("../../edit/agent.cgi?$agentnum");
- $req->cgi->redirect("../../browse/agent.cgi");
+ print $cgi->redirect(popurl(3). "browse/agent.cgi");
}
diff --git a/htdocs/edit/process/agent_type.cgi b/htdocs/edit/process/agent_type.cgi
index 43f129fd5..99c54ab3b 100755
--- a/htdocs/edit/process/agent_type.cgi
+++ b/htdocs/edit/process/agent_type.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/agent_type.cgi: Edit agent type (process form)
+# $Id: agent_type.cgi,v 1.7 1999-01-25 12:09:58 ivan Exp $
#
# ivan@sisd.com 97-dec-11
#
@@ -8,29 +8,51 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: agent_type.cgi,v $
+# Revision 1.7 1999-01-25 12:09:58 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.6 1999/01/19 05:13:48 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.5 1999/01/18 22:47:50 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.4 1998/12/30 23:03:27 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.3 1998/12/17 08:40:17 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.2 1998/11/21 07:49:20 ivan
+# s/CGI::Request/CGI.pm/
+#
use strict;
-use CGI::Request;
+use vars qw ( $cgi $typenum $old $new $error $part_pkg );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
+use FS::CGI qw( popurl);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs);
-use FS::agent_type qw(fields);
+use FS::Record qw(qsearch qsearchs fields);
+use FS::agent_type;
use FS::type_pkgs;
-use FS::CGI qw(idiot);
+use FS::part_pkg;
-my($req)=new CGI::Request;
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-my($typenum)=$req->param('typenum');
-my($old)=qsearchs('agent_type',{'typenum'=>$typenum}) if $typenum;
+$typenum = $cgi->param('typenum');
+$old = qsearchs('agent_type',{'typenum'=>$typenum}) if $typenum;
-my($new)=create FS::agent_type ( {
+$new = new FS::agent_type ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
} fields('agent_type')
} );
-my($error);
if ( $typenum ) {
$error=$new->replace($old);
} else {
@@ -39,11 +61,11 @@ if ( $typenum ) {
}
if ( $error ) {
- idiot($error);
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "agent_type.cgi?". $cgi->query_string );
exit;
}
-my($part_pkg);
foreach $part_pkg (qsearch('part_pkg',{})) {
my($pkgpart)=$part_pkg->getfield('pkgpart');
@@ -51,33 +73,24 @@ foreach $part_pkg (qsearch('part_pkg',{})) {
'typenum' => $typenum,
'pkgpart' => $pkgpart,
});
- if ( $type_pkgs && ! $req->param("pkgpart$pkgpart") ) {
+ if ( $type_pkgs && ! $cgi->param("pkgpart$pkgpart") ) {
my($d_type_pkgs)=$type_pkgs; #need to save $type_pkgs for below.
- $error=$d_type_pkgs->del; #FS::Record not FS::type_pkgs,
- #so ->del not ->delete. hmm. hmm.
- if ( $error ) {
- idiot($error);
- exit;
- }
+ $error=$d_type_pkgs->delete;
+ die $error if $error;
- } elsif ( $req->param("pkgpart$pkgpart")
+ } elsif ( $cgi->param("pkgpart$pkgpart")
&& ! $type_pkgs
) {
#ok to clobber it now (but bad form nonetheless?)
- $type_pkgs=create FS::type_pkgs ({
+ $type_pkgs=new FS::type_pkgs ({
'typenum' => $typenum,
'pkgpart' => $pkgpart,
});
$error= $type_pkgs->insert;
- if ( $error ) {
- idiot($error);
- exit;
- }
+ die $error if $error;
}
}
-#$req->cgi->redirect("../../view/agent_type.cgi?$typenum");
-#$req->cgi->redirect("../../edit/agent_type.cgi?$typenum");
-$req->cgi->redirect("../../browse/agent_type.cgi");
+print $cgi->redirect(popurl(3). "browse/agent_type.cgi");
diff --git a/htdocs/edit/process/cust_credit.cgi b/htdocs/edit/process/cust_credit.cgi
index e660b4c78..ea9c5a3a2 100755
--- a/htdocs/edit/process/cust_credit.cgi
+++ b/htdocs/edit/process/cust_credit.cgi
@@ -1,12 +1,10 @@
#!/usr/bin/perl -Tw
#
-# process/cust_credit.cgi: Add a credit (process form)
+# $Id: cust_credit.cgi,v 1.7 1999-04-07 15:23:05 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/cust_credit.cgi
#
-# Note: Should be run setuid root as user nobody.
-#
# ivan@voicenet.com 96-dec-05 -> 96-dec-08
#
# post a refund if $new_paybatch
@@ -20,51 +18,59 @@
#
# Changes to allow page to work at a relative position in server
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: cust_credit.cgi,v $
+# Revision 1.7 1999-04-07 15:23:05 ivan
+# don't use anchor in redirect
+#
+# Revision 1.6 1999/02/28 00:03:41 ivan
+# removed misleading comments
+#
+# Revision 1.5 1999/01/25 12:09:59 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.4 1999/01/19 05:13:49 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.3 1999/01/18 22:47:51 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.2 1998/12/17 08:40:18 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $custnum $new $error );
+use CGI;
+use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup getotaker);
+use FS::CGI qw(popurl);
+use FS::Record qw(fields);
use FS::cust_credit;
-my($req)=new CGI::Request; # create form object
-cgisuidsetup($req->cgi);
+$cgi = new CGI;
+cgisuidsetup($cgi);
-$req->param('custnum') =~ /^(\d*)$/ or die "Illegal custnum!";
-my($custnum)=$1;
+$cgi->param('custnum') =~ /^(\d*)$/ or die "Illegal custnum!";
+$custnum = $1;
-$req->param('otaker',getotaker);
+$cgi->param('otaker',getotaker);
-my($new) = create FS::cust_credit ( {
+$new = new FS::cust_credit ( {
map {
- $_, $req->param($_);
- } qw(custnum _date amount otaker reason)
+ $_, scalar($cgi->param($_));
+ #} qw(custnum _date amount otaker reason)
+ } fields('cust_credit')
} );
-my($error);
$error=$new->insert;
-&idiot($error) if $error;
-
-#no errors, no refund, so view our credit.
-$req->cgi->redirect("../../view/cust_main.cgi?$custnum#history");
-
-sub idiot {
- my($error)=@_;
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error posting credit/refund</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error posting credit/refund</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and press the <I>Post</I> button again.
- </BODY>
-</HTML>
-END
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "cust_credit.cgi?". $cgi->query_string );
+} else {
+ print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
}
+
diff --git a/htdocs/edit/process/cust_main.cgi b/htdocs/edit/process/cust_main.cgi
index 7664dfcb8..729bed7c4 100755
--- a/htdocs/edit/process/cust_main.cgi
+++ b/htdocs/edit/process/cust_main.cgi
@@ -1,12 +1,10 @@
#!/usr/bin/perl -Tw
#
-# process/cust_main.cgi: Edit a customer (process form)
+# $Id: cust_main.cgi,v 1.9 1999-04-07 15:22:19 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/cust_main.cgi
#
-# Note: Should be run setuid root as user nobody.
-#
# ivan@voicenet.com 96-dec-04
#
# added referral check
@@ -20,83 +18,164 @@
# Changes to allow page to work at a relative position in server
# Changed 'day' to 'daytime' because Pg6.3 reserves the day word
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: cust_main.cgi,v $
+# Revision 1.9 1999-04-07 15:22:19 ivan
+# don't use anchor in redirect
+#
+# Revision 1.8 1999/03/25 13:55:10 ivan
+# one-screen new customer entry (including package and service) for simple
+# packages with one svc_acct service
+#
+# Revision 1.7 1999/02/28 00:03:42 ivan
+# removed misleading comments
+#
+# Revision 1.6 1999/01/25 12:10:00 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.5 1999/01/19 05:13:50 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# 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
+# i18n, s/CGI-modules/CGI.pm/, FS::CGI::idiot instead of inline, FS::CGI::popurl
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $payby @invoicing_list $new $custnum $error );
+use vars qw( $cust_pkg $cust_svc $svc_acct );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
+use FS::UID qw(cgisuidsetup getotaker);
+use FS::CGI qw( popurl );
+use FS::Record qw( qsearch qsearchs fields );
use FS::cust_main;
+use FS::type_pkgs;
+use FS::agent;
-my($req)=new CGI::Request; # create form object
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-&cgisuidsetup($req->cgi);
+#unmunge stuff
-#create new record object
+$cgi->param('tax','') unless defined($cgi->param('tax'));
-#unmunge agentnum
-$req->param('agentnum',
- (split(/:/, ($req->param('agentnum'))[0] ))[0]
-);
+$cgi->param('refnum', (split(/:/, ($cgi->param('refnum'))[0] ))[0] );
-#unmunge tax
-$req->param('tax','') unless defined($req->param('tax'));
+$cgi->param('state') =~ /^(\w+)( \((\w+)\))? \/ (\w+)$/;
+$cgi->param('state', $1);
+$cgi->param('county', $3 || '');
+$cgi->param('country', $4);
-#unmunge refnum
-$req->param('refnum',
- (split(/:/, ($req->param('refnum'))[0] ))[0]
-);
+if ( $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 );
+
+@invoicing_list = split( /\s*\,\s*/, $cgi->param('invoicing_list') );
+push @invoicing_list, 'POST' if $cgi->param('invoicing_list_POST');
-#unmunge state/county
-$req->param('state') =~ /^(\w+)( \((\w+)\))?$/;
-$req->param('state', $1);
-$req->param('county', $3 || '');
+#create new record object
-my($new) = create FS::cust_main ( {
+$new = new FS::cust_main ( {
map {
- $_, $req->param("$_") || ''
- } qw(custnum agentnum last first ss company address1 address2 city county
- state zip country daytime night fax payby payinfo paydate payname tax
- otaker refnum)
+ $_, 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)
+ } fields('cust_main')
} );
-if ( $new->custnum eq '' ) {
+#perhaps the invocing_list magic should move to cust_main.pm?
+$error = $new->check_invoicing_list( \@invoicing_list );
- my($error)=$new->insert;
- &idiot($error) if $error;
+#perhaps this stuff should go to cust_main.pm as well
+$cust_pkg = '';
+$svc_acct = '';
+if ( $new->custnum eq '' ) {
+ if ( $cgi->param('pkgpart_svcpart') ) {
+ my $x = $cgi->param('pkgpart_svcpart');
+ $x =~ /^(\d+)_(\d+)$/;
+ my($pkgpart, $svcpart) = ($1, $2);
+ #false laziness: copied from FS::cust_pkg::order (which should become a
+ #FS::cust_main method)
+ my(%part_pkg);
+ # generate %part_pkg
+ # $part_pkg{$pkgpart} is true iff $custnum may purchase $pkgpart
+ my $agent = qsearchs('agent',{'agentnum'=> $new->agentnum });
+ my($type_pkgs);
+ foreach $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) {
+ my($pkgpart)=$type_pkgs->pkgpart;
+ $part_pkg{$pkgpart}++;
+ }
+ #eslaf
+
+ $error ||= "Agent ". $new->agentnum. " (type ". $agent->typenum. ") can't".
+ "purchase pkgpart ". $pkgpart
+ unless $part_pkg{ $pkgpart };
+
+ $cust_pkg = new FS::cust_pkg ( {
+ #later 'custnum' => $custnum,
+ 'pkgpart' => $pkgpart,
+ } );
+ $error ||= $cust_pkg->check;
+
+ #$cust_svc = new FS::cust_svc ( { 'svcpart' => $svcpart } );
+
+ #$error ||= $cust_svc->check;
+
+ $svc_acct = new FS::svc_acct ( {
+ 'svcpart' => $svcpart,
+ 'username' => $cgi->param('username'),
+ '_password' => $cgi->param('_password'),
+ 'popnum' => $cgi->param('popnum'),
+ } );
+
+ my $y = $svc_acct->setdefault; # arguably should be in new method
+ $error ||= $y unless ref($y);
+ #and just in case you were silly
+ $svc_acct->svcpart($svcpart);
+ $svc_acct->username($cgi->param('username'));
+ $svc_acct->_password($cgi->param('_password'));
+ $svc_acct->popnum($cgi->param('popnum'));
+
+ $error ||= $svc_acct->check;
+
+ } elsif ( $cgi->param('username') ) { #good thing to catch
+ $error = "Can't assign username without a package!";
+ }
+
+ $error ||= $new->insert;
+ if ( $cust_pkg && ! $error ) {
+ $cust_pkg->custnum( $new->custnum );
+ $error ||= $cust_pkg->insert;
+ warn "WARNING: $error on pre-checked cust_pkg record!" if $error;
+ $svc_acct->pkgnum( $cust_pkg->pkgnum );
+ $error ||= $svc_acct->insert;
+ warn "WARNING: $error on pre-checked svc_acct record!" if $error;
+ }
} else { #create old record object
-
- my($old) = qsearchs( 'cust_main', { 'custnum', $new->custnum } );
- &idiot("Old record not found!") unless $old;
- my($error)=$new->replace($old);
- &idiot($error) if $error;
-
-}
-
-my($custnum)=$new->custnum;
-$req->cgi->redirect("../../view/cust_main.cgi?$custnum#cust_main");
-
-sub idiot {
- my($error)=@_;
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error updating customer information</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error updating customer information</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.
- </BODY>
-</HTML>
-END
-
- exit;
-
+ my $old = qsearchs( 'cust_main', { 'custnum' => $new->custnum } );
+ $error ||= "Old record not found!" unless $old;
+ $error ||= $new->replace($old);
}
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "cust_main.cgi?". $cgi->query_string );
+} else {
+ $new->invoicing_list( \@invoicing_list );
+ $custnum = $new->custnum;
+ print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
+}
diff --git a/htdocs/edit/process/cust_main_county-expand.cgi b/htdocs/edit/process/cust_main_county-expand.cgi
index a821560c6..7e618c7b8 100755
--- a/htdocs/edit/process/cust_main_county-expand.cgi
+++ b/htdocs/edit/process/cust_main_county-expand.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/cust_main_county-expand.cgi: Expand counties (process form)
+# $Id: cust_main_county-expand.cgi,v 1.6 1999-01-25 12:19:07 ivan Exp $
#
# ivan@sisd.com 97-dec-16
#
@@ -12,45 +12,70 @@
# lose background, FS::CGI
# undo default tax to 0.0 if using Pg6.3: comes from pre-expanded record
# for that state
-#ivan@sisd.com 98-sep-2
+# ivan@sisd.com 98-sep-2
+#
+# $Log: cust_main_county-expand.cgi,v $
+# Revision 1.6 1999-01-25 12:19:07 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.5 1999/01/19 05:13:51 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.4 1999/01/18 22:47:52 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.3 1998/12/17 08:40:20 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.2 1998/11/18 09:01:40 ivan
+# i18n! i18n!
+#
use strict;
-use CGI::Request;
+use vars qw ( $cgi $taxnum $cust_main_county @expansion $expansion );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup datasrc);
use FS::Record qw(qsearch qsearchs);
+use FS::CGI qw(popurl);
use FS::cust_main_county;
-use FS::CGI qw(eidiot);
-
-my($req)=new CGI::Request; # create form object
+use FS::cust_main;
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-$req->param('taxnum') =~ /^(\d+)$/ or die "Illegal taxnum!";
-my($taxnum)=$1;
-my($cust_main_county)=qsearchs('cust_main_county',{'taxnum'=>$taxnum})
+$cgi->param('taxnum') =~ /^(\d+)$/ or die "Illegal taxnum!";
+$taxnum = $1;
+$cust_main_county = qsearchs('cust_main_county',{'taxnum'=>$taxnum})
or die ("Unknown taxnum!");
-my(@counties);
-if ( $req->param('delim') eq 'n' ) {
- @counties=split(/\n/,$req->param('counties'));
-} elsif ( $req->param('delim') eq 's' ) {
- @counties=split(/\s+/,$req->param('counties'));
+if ( $cgi->param('delim') eq 'n' ) {
+ @expansion=split(/\n/,$cgi->param('expansion'));
+} elsif ( $cgi->param('delim') eq 's' ) {
+ @expansion=split(/\s+/,$cgi->param('expansion'));
} else {
die "Illegal delim!";
}
-@counties=map {
- /^\s*([\w\- ]+)\s*$/ or eidiot("Illegal county");
+@expansion=map {
+ unless ( /^\s*([\w\- ]+)\s*$/ ) {
+ $cgi->param('error', "Illegal item in expansion");
+ print $cgi->redirect(popurl(2). "cust_main_county-expand.cgi?". $cgi->query_string );
+ exit;
+ }
$1;
-} @counties;
+} @expansion;
-my($county);
-foreach ( @counties) {
+foreach ( @expansion) {
my(%hash)=$cust_main_county->hash;
- my($new)=create FS::cust_main_county \%hash;
+ my($new)=new FS::cust_main_county \%hash;
$new->setfield('taxnum','');
- $new->setfield('county',$_);
+ if ( ! $cust_main_county->state ) {
+ $new->setfield('state',$_);
+ } else {
+ $new->setfield('county',$_);
+ }
#if (datasrc =~ m/Pg/)
#{
# $new->setfield('tax',0.0);
@@ -62,10 +87,11 @@ foreach ( @counties) {
unless ( qsearch('cust_main',{
'state' => $cust_main_county->getfield('state'),
'county' => $cust_main_county->getfield('county'),
+ 'country' => $cust_main_county->getfield('country'),
} ) ) {
my($error)=($cust_main_county->delete);
die $error if $error;
}
-$req->cgi->redirect("../../edit/cust_main_county.cgi");
+print $cgi->redirect(popurl(3). "edit/cust_main_county.cgi");
diff --git a/htdocs/edit/process/cust_main_county.cgi b/htdocs/edit/process/cust_main_county.cgi
index 58eaa63ce..0fc1708c5 100755
--- a/htdocs/edit/process/cust_main_county.cgi
+++ b/htdocs/edit/process/cust_main_county.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/agent.cgi: Edit cust_main_county (process form)
+# $Id: cust_main_county.cgi,v 1.6 1999-01-25 12:19:08 ivan Exp $
#
# ivan@sisd.com 97-dec-16
#
@@ -8,31 +8,53 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: cust_main_county.cgi,v $
+# Revision 1.6 1999-01-25 12:19:08 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.5 1999/01/19 05:13:52 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.4 1999/01/18 22:47:53 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.3 1998/12/17 08:40:21 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.2 1998/11/18 09:01:41 ivan
+# i18n! i18n!
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
+use FS::CGI qw(popurl);
use FS::Record qw(qsearch qsearchs);
use FS::cust_main_county;
-use FS::CGI qw(eidiot);
-
-my($req)=new CGI::Request; # create form object
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-foreach ( $req->params ) {
+foreach ( $cgi->param ) {
/^tax(\d+)$/ or die "Illegal form $_!";
my($taxnum)=$1;
my($old)=qsearchs('cust_main_county',{'taxnum'=>$taxnum})
or die "Couldn't find taxnum $taxnum!";
- next unless $old->getfield('tax') ne $req->param("tax$taxnum");
+ next unless $old->getfield('tax') ne $cgi->param("tax$taxnum");
my(%hash)=$old->hash;
- $hash{tax}=$req->param("tax$taxnum");
- my($new)=create FS::cust_main_county \%hash;
+ $hash{tax}=$cgi->param("tax$taxnum");
+ my($new)=new FS::cust_main_county \%hash;
my($error)=$new->replace($old);
- eidiot($error) if $error;
+ if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "cust_main_county.cgi?". $cgi->query_string );
+ exit;
+ }
}
-$req->cgi->redirect("../../browse/cust_main_county.cgi");
+print $cgi->redirect(popurl(3). "browse/cust_main_county.cgi");
diff --git a/htdocs/edit/process/cust_pay.cgi b/htdocs/edit/process/cust_pay.cgi
index 9ec97532b..ca5029c3c 100755
--- a/htdocs/edit/process/cust_pay.cgi
+++ b/htdocs/edit/process/cust_pay.cgi
@@ -1,57 +1,67 @@
#!/usr/bin/perl -Tw
#
-# process/cust_pay.cgi: Add a payment (process form)
+# $Id: cust_pay.cgi,v 1.7 1999-02-28 00:03:43 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/cust_pay.cgi
#
-# Note: Should be run setuid root as user nobody.
-#
# ivan@voicenet.com 96-dec-11
#
# rewrite ivan@sisd.com 98-mar-16
#
# Changes to allow page to work at a relative position in server
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: cust_pay.cgi,v $
+# Revision 1.7 1999-02-28 00:03:43 ivan
+# removed misleading comments
+#
+# Revision 1.6 1999/01/25 12:19:09 ivan
+# yet more mod_perl stuff
+#
+# Revision 1.5 1999/01/19 05:13:53 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.4 1999/01/18 22:47:54 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.3 1998/12/30 23:03:28 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.2 1998/12/17 08:40:22 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $invnum $new $error );
+use CGI;
+use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::cust_pay qw(fields);
+use FS::CGI qw(popurl);
+use FS::Record qw(fields);
+use FS::cust_pay;
-my($req)=new CGI::Request;
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-$req->param('invnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
-my($invnum)=$1;
+$cgi->param('invnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
+$invnum = $1;
-my($new) = create FS::cust_pay ( {
+$new = new FS::cust_pay ( {
map {
- $_, $req->param($_);
- } qw(invnum paid _date payby payinfo paybatch)
+ $_, scalar($cgi->param($_));
+ #} qw(invnum paid _date payby payinfo paybatch)
+ } fields('cust_pay')
} );
-my($error);
$error=$new->insert;
-if ($error) { #error!
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error posting payment</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error posting payment</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and press the <I>Post</I> button again.
- </BODY>
-</HTML>
-END
-} else { #no errors!
- $req->cgi->redirect("../../view/cust_bill.cgi?$invnum");
+if ($error) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). 'cust_pay.cgi?'. $cgi->query_string );
+ exit;
+} else {
+ print $cgi->redirect(popurl(3). "view/cust_bill.cgi?$invnum");
}
diff --git a/htdocs/edit/process/cust_pkg.cgi b/htdocs/edit/process/cust_pkg.cgi
index 6f5bc875a..9d82b3c24 100755
--- a/htdocs/edit/process/cust_pkg.cgi
+++ b/htdocs/edit/process/cust_pkg.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/cust_pkg.cgi: Add/edit packages (process form)
+# $Id: cust_pkg.cgi,v 1.7 1999-04-07 15:24:06 ivan Exp $
#
# this is for changing packages around, not for editing things within the
# package
@@ -8,8 +8,6 @@
# Usage: post form to:
# http://server.name/path/cust_pkg.cgi
#
-# Note: Should be run setuid root as user nobody.
-#
# ivan@voicenet.com 97-mar-21 - 97-mar-24
#
# rewrote for new API
@@ -19,55 +17,64 @@
#
# Changes to allow page to work at a relative position in server
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: cust_pkg.cgi,v $
+# Revision 1.7 1999-04-07 15:24:06 ivan
+# don't use anchor in redirect
+#
+# Revision 1.6 1999/02/28 00:03:44 ivan
+# removed misleading comments
+#
+# Revision 1.5 1999/02/07 09:59:26 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.3 1999/01/19 05:13:54 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.2 1998/12/17 08:40:23 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $custnum @remove_pkgnums @pkgparts $pkgpart $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
+use FS::CGI qw(popurl);
use FS::cust_pkg;
-my($req)=new CGI::Request; # create form object
-
-&cgisuidsetup($req->cgi);
+$cgi = new CGI; # create form object
+&cgisuidsetup($cgi);
+$error = '';
#untaint custnum
-$req->param('new_custnum') =~ /^(\d+)$/;
-my($custnum)=$1;
+$cgi->param('custnum') =~ /^(\d+)$/;
+$custnum = $1;
-my(@remove_pkgnums) = map {
+@remove_pkgnums = map {
/^(\d+)$/ or die "Illegal remove_pkg value!";
$1;
-} $req->param('remove_pkg');
+} $cgi->param('remove_pkg');
-my(@pkgparts);
-my($pkgpart);
-foreach $pkgpart ( map /^pkg(\d+)$/ ? $1 : (), $req->params ) {
- my($num_pkgs)=$req->param("pkg$pkgpart");
- while ( $num_pkgs-- ) {
- push @pkgparts,$pkgpart;
+foreach $pkgpart ( map /^pkg(\d+)$/ ? $1 : (), $cgi->param ) {
+ if ( $cgi->param("pkg$pkgpart") =~ /^(\d+)$/ ) {
+ my $num_pkgs = $1;
+ while ( $num_pkgs-- ) {
+ push @pkgparts,$pkgpart;
+ }
+ } else {
+ $error = "Illegal quantity";
+ last;
}
}
-my($error) = FS::cust_pkg::order($custnum,\@pkgparts,\@remove_pkgnums);
+$error ||= FS::cust_pkg::order($custnum,\@pkgparts,\@remove_pkgnums);
if ($error) {
- CGI::Base::SendHeaders();
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error updating packages</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error updating packages</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.
- </BODY>
-</HTML>
-END
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "cust_pkg.cgi?". $cgi->query_string );
} else {
- $req->cgi->redirect("../../view/cust_main.cgi?$custnum#cust_pkg");
+ print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
}
diff --git a/htdocs/edit/process/part_pkg.cgi b/htdocs/edit/process/part_pkg.cgi
index 7d787819a..adf4672bd 100755
--- a/htdocs/edit/process/part_pkg.cgi
+++ b/htdocs/edit/process/part_pkg.cgi
@@ -1,5 +1,7 @@
#!/usr/bin/perl -Tw
#
+# $Id: part_pkg.cgi,v 1.8 1999-02-07 09:59:27 ivan Exp $
+#
# process/part_pkg.cgi: Edit package definitions (process form)
#
# ivan@sisd.com 97-dec-10
@@ -13,67 +15,117 @@
# Added `|| 0 ' when getting quantity off web page ivan@sisd.com 98-jun-4
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: part_pkg.cgi,v $
+# Revision 1.8 1999-02-07 09:59:27 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.7 1999/01/19 05:13:55 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.6 1999/01/18 22:47:56 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.5 1998/12/30 23:03:29 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.4 1998/12/17 08:40:24 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.3 1998/11/21 07:17:58 ivan
+# bugfix to work for regular aswell as custom pricing
+#
+# Revision 1.2 1998/11/15 13:16:15 ivan
+# first pass as per-user custom pricing
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $pkgpart $old $new $part_svc $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs);
-use FS::part_pkg qw(fields);
+use FS::CGI qw(popurl);
+use FS::Record qw(qsearch qsearchs fields);
+use FS::part_pkg;
use FS::pkg_svc;
-use FS::CGI qw(eidiot);
+use FS::cust_pkg;
-my($req)=new CGI::Request; # create form object
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-&cgisuidsetup($req->cgi);
+$pkgpart = $cgi->param('pkgpart');
-my($pkgpart)=$req->param('pkgpart');
+$old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
-my($old)=qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
-
-my($new)=create FS::part_pkg ( {
+$new = new FS::part_pkg ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
} fields('part_pkg')
} );
+#most of the stuff below should move to part_pkg.pm
+
+foreach $part_svc ( qsearch('part_svc', {} ) ) {
+ my $quantity = $cgi->param('pkg_svc'. $part_svc->svcpart) || 0;
+ unless ( $quantity =~ /^(\d+)$/ ) {
+ $cgi->param('error', "Illegal quantity" );
+ print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );
+ exit;
+ }
+}
+
+local $SIG{HUP} = 'IGNORE';
+local $SIG{INT} = 'IGNORE';
+local $SIG{QUIT} = 'IGNORE';
+local $SIG{TERM} = 'IGNORE';
+local $SIG{TSTP} = 'IGNORE';
+local $SIG{PIPE} = 'IGNORE';
+
if ( $pkgpart ) {
- my($error)=$new->replace($old);
- eidiot($error) if $error;
+ $error = $new->replace($old);
} else {
- my($error)=$new->insert;
- eidiot($error) if $error;
- $pkgpart=$new->getfield('pkgpart');
+ $error = $new->insert;
+ $pkgpart=$new->pkgpart;
+}
+if ( $error ) {
+ $cgi->param('error', $error );
+ print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );
+ exit;
}
-my($part_svc);
foreach $part_svc (qsearch('part_svc',{})) {
-# don't update non-changing records in part_svc (causing harmless but annoying
-# "Records identical" errors). ivan@sisd.com 98-jan-19
- #my($quantity)=$req->param('pkg_svc'. $part_svc->getfield('svcpart')),
- my($quantity)=$req->param('pkg_svc'. $part_svc->svcpart) || 0,
- my($old_pkg_svc)=qsearchs('pkg_svc',{
- 'pkgpart' => $pkgpart,
- 'svcpart' => $part_svc->getfield('svcpart'),
- });
- my($old_quantity)=$old_pkg_svc ? $old_pkg_svc->quantity : 0;
+ my $quantity = $cgi->param('pkg_svc'. $part_svc->svcpart) || 0;
+ my $old_pkg_svc = qsearchs('pkg_svc', {
+ 'pkgpart' => $pkgpart,
+ 'svcpart' => $part_svc->svcpart,
+ } );
+ my $old_quantity = $old_pkg_svc ? $old_pkg_svc->quantity : 0;
next unless $old_quantity != $quantity; #!here
- my($new_pkg_svc)=create FS::pkg_svc({
+ my $new_pkg_svc = new FS::pkg_svc( {
'pkgpart' => $pkgpart,
- 'svcpart' => $part_svc->getfield('svcpart'),
- #'quantity' => $req->param('pkg_svc'. $part_svc->getfield('svcpart')),
+ 'svcpart' => $part_svc->svcpart,
'quantity' => $quantity,
- });
- if ($old_pkg_svc) {
- my($error)=$new_pkg_svc->replace($old_pkg_svc);
- eidiot($error) if $error;
+ } );
+ if ( $old_pkg_svc ) {
+ my $myerror = $new_pkg_svc->replace($old_pkg_svc);
+ die $myerror if $myerror;
} else {
- my($error)=$new_pkg_svc->insert;
- eidiot($error) if $error;
+ my $myerror = $new_pkg_svc->insert;
+ die $myerror if $myerror;
}
}
-#$req->cgi->redirect("../../view/part_pkg.cgi?$pkgpart");
-#$req->cgi->redirect("../../edit/part_pkg.cgi?$pkgpart");
-$req->cgi->redirect("../../browse/part_pkg.cgi");
+unless ( $cgi->param('pkgnum') && $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
+ print $cgi->redirect(popurl(3). "browse/part_pkg.cgi");
+} else {
+ my($old_cust_pkg) = qsearchs( 'cust_pkg', { 'pkgnum' => $1 } );
+ my %hash = $old_cust_pkg->hash;
+ $hash{'pkgpart'} = $pkgpart;
+ my($new_cust_pkg) = new FS::cust_pkg \%hash;
+ my $myerror = $new_cust_pkg->replace($old_cust_pkg);
+ die "Error modifying cust_pkg record: $myerror\n" if $myerror;
+ print $cgi->redirect(popurl(3). "view/cust_main.cgi?". $new_cust_pkg->custnum);
+}
+
diff --git a/htdocs/edit/process/part_referral.cgi b/htdocs/edit/process/part_referral.cgi
index 08a4c01d0..cde27ede1 100755
--- a/htdocs/edit/process/part_referral.cgi
+++ b/htdocs/edit/process/part_referral.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/part_referral.cgi: Edit referrals (process form)
+# $Id: part_referral.cgi,v 1.6 1999-02-07 09:59:28 ivan Exp $
#
# ivan@sisd.com 98-feb-23
#
@@ -8,38 +8,58 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: part_referral.cgi,v $
+# Revision 1.6 1999-02-07 09:59:28 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.5 1999/01/19 05:13:56 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.4 1999/01/18 22:47:57 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.3 1998/12/30 23:03:30 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.2 1998/12/17 08:40:25 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $refnum $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
-use FS::part_referral qw(fields);
-use FS::CGI qw(eidiot);
-use FS::CGI qw(eidiot);
-
-my($req)=new CGI::Request; # create form object
+use FS::Record qw(qsearchs fields);
+use FS::part_referral;
+use FS::CGI qw(popurl);
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-my($refnum)=$req->param('refnum');
+$refnum = $cgi->param('refnum');
-my($new)=create FS::part_referral ( {
+$new = new FS::part_referral ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
} fields('part_referral')
} );
if ( $refnum ) {
- my($old)=qsearchs('part_referral',{'refnum'=>$refnum});
- eidiot("(Old) Record not found!") unless $old;
- my($error)=$new->replace($old);
- eidiot($error) if $error;
+ my $old = qsearchs( 'part_referral', { 'refnum' =>$ refnum } );
+ die "(Old) Record not found!" unless $old;
+ $error = $new->replace($old);
} else {
- my($error)=$new->insert;
- eidiot($error) if $error;
+ $error = $new->insert;
}
+$refnum=$new->refnum;
-$refnum=$new->getfield('refnum');
-$req->cgi->redirect("../../browse/part_referral.cgi");
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "part_referral.cgi?". $cgi->query_string );
+} else {
+ print $cgi->redirect(popurl(3). "browse/part_referral.cgi");
+}
diff --git a/htdocs/edit/process/part_svc.cgi b/htdocs/edit/process/part_svc.cgi
index 0f0fbc6e8..0b3e2cd1c 100755
--- a/htdocs/edit/process/part_svc.cgi
+++ b/htdocs/edit/process/part_svc.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/part_svc.cgi: Edit service definitions (process form)
+# $Id: part_svc.cgi,v 1.7 1999-02-07 09:59:29 ivan Exp $
#
# ivan@sisd.com 97-nov-14
#
@@ -8,40 +8,62 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: part_svc.cgi,v $
+# Revision 1.7 1999-02-07 09:59:29 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.6 1999/01/19 05:13:57 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.5 1999/01/18 22:47:58 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.4 1998/12/30 23:03:31 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.3 1998/12/17 08:40:26 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.2 1998/11/21 06:43:08 ivan
+# s/CGI::Request/CGI.pm/
+#
use strict;
-use CGI::Request;
+use vars qw ( $cgi $svcpart $old $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
-use FS::part_svc qw(fields);
-use FS::CGI qw(eidiot);
-
-my($req)=new CGI::Request; # create form object
+use FS::Record qw(qsearchs fields);
+use FS::part_svc;
+use FS::CGI qw(popurl);
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-my($svcpart)=$req->param('svcpart');
+$svcpart = $cgi->param('svcpart');
-my($old)=qsearchs('part_svc',{'svcpart'=>$svcpart}) if $svcpart;
+$old = qsearchs('part_svc',{'svcpart'=>$svcpart}) if $svcpart;
-my($new)=create FS::part_svc ( {
+$new = new FS::part_svc ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
# } qw(svcpart svc svcdb)
} fields('part_svc')
} );
if ( $svcpart ) {
- my($error)=$new->replace($old);
- eidiot($error) if $error;
+ $error = $new->replace($old);
} else {
- my($error)=$new->insert;
- eidiot($error) if $error;
+ $error = $new->insert;
$svcpart=$new->getfield('svcpart');
}
-#$req->cgi->redirect("../../view/part_svc.cgi?$svcpart");
-#$req->cgi->redirect("../../edit/part_svc.cgi?$svcpart");
-$req->cgi->redirect("../../browse/part_svc.cgi");
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "part_svc.cgi?". $cgi->query_string );
+} else {
+ print $cgi->redirect(popurl(3)."browse/part_svc.cgi");
+}
diff --git a/htdocs/edit/process/svc_acct.cgi b/htdocs/edit/process/svc_acct.cgi
index 8d77ba703..73e9d5d74 100755
--- a/htdocs/edit/process/svc_acct.cgi
+++ b/htdocs/edit/process/svc_acct.cgi
@@ -1,12 +1,10 @@
#!/usr/bin/perl -Tw
#
-# process/svc_acct.cgi: Add/edit a customer (process form)
+# $Id: svc_acct.cgi,v 1.6 1999-02-28 00:03:45 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/svc_acct.cgi
#
-# Note: Should br run setuid root as user nobody.
-#
# ivan@voicenet.com 96-dec-18
#
# Changed /u to /u2
@@ -21,67 +19,69 @@
# Changes to allow page to work at a relative position in server
# Changed 'password' to '_password' because Pg6.3 reserves the password word
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: svc_acct.cgi,v $
+# Revision 1.6 1999-02-28 00:03:45 ivan
+# removed misleading comments
+#
+# Revision 1.5 1999/02/07 09:59:30 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.4 1999/01/19 05:13:58 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.3 1999/01/18 22:47:59 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.2 1998/12/17 08:40:27 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $svcnum $old $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
+use FS::CGI qw(popurl);
+use FS::Record qw(qsearchs fields);
use FS::svc_acct;
-my($req) = new CGI::Request; # create form object
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-$req->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
-my($svcnum)=$1;
+$cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
+$svcnum = $1;
-my($old)=qsearchs('svc_acct',{'svcnum'=>$svcnum}) if $svcnum;
+$old = qsearchs('svc_acct',{'svcnum'=>$svcnum}) if $svcnum;
#unmunge popnum
-$req->param('popnum', (split(/:/, $req->param('popnum') ))[0] );
+$cgi->param('popnum', (split(/:/, $cgi->param('popnum') ))[0] );
#unmunge passwd
-if ( $req->param('_password') eq '*HIDDEN*' ) {
- $req->param('_password',$old->getfield('_password'));
+if ( $cgi->param('_password') eq '*HIDDEN*' ) {
+ $cgi->param('_password',$old->getfield('_password'));
}
-my($new) = create FS::svc_acct ( {
+$new = new FS::svc_acct ( {
map {
- $_, $req->param($_);
- } qw(svcnum pkgnum svcpart username _password popnum uid gid finger dir
- shell quota slipip)
+ $_, scalar($cgi->param($_));
+ #} qw(svcnum pkgnum svcpart username _password popnum uid gid finger dir
+ # shell quota slipip)
+ } ( fields('svc_acct'), qw( pkgnum svcpart ) )
} );
if ( $svcnum ) {
- my($error) = $new->replace($old);
- &idiot($error) if $error;
+ $error = $new->replace($old);
} else {
- my($error) = $new->insert;
- &idiot($error) if $error;
- $svcnum = $new->getfield('svcnum');
+ $error = $new->insert;
+ $svcnum = $new->svcnum;
}
-#no errors, view account
-$req->cgi->redirect("../../view/svc_acct.cgi?" . $svcnum );
-
-sub idiot {
- my($error)=@_;
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error adding/updating account</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error adding/updating account</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.
- </BODY>
-</HTML>
-END
- exit;
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "svc_acct.cgi?". $cgi->query_string );
+} else {
+ print $cgi->redirect(popurl(3). "view/svc_acct.cgi?" . $svcnum );
}
diff --git a/htdocs/edit/process/svc_acct_pop.cgi b/htdocs/edit/process/svc_acct_pop.cgi
index 18d7940b4..763bca4a8 100755
--- a/htdocs/edit/process/svc_acct_pop.cgi
+++ b/htdocs/edit/process/svc_acct_pop.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# process/svc_acct_pop.cgi: Edit POP (process form)
+# $Id: svc_acct_pop.cgi,v 1.6 1999-02-07 09:59:31 ivan Exp $
#
# ivan@sisd.com 98-mar-8
#
@@ -8,36 +8,59 @@
# bmccane@maxbaud.net 98-apr-3
#
# lose background, FS::CGI ivan@sisd.com 98-sep-2
+#
+# $Log: svc_acct_pop.cgi,v $
+# Revision 1.6 1999-02-07 09:59:31 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.5 1999/01/19 05:13:59 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.4 1999/01/18 22:48:00 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.3 1998/12/30 23:03:32 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.2 1998/12/17 08:40:28 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $popnum $old $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs);
-use FS::svc_acct_pop qw(fields);
-use FS::CGI qw(eidiot);
+use FS::Record qw(qsearch qsearchs fields);
+use FS::svc_acct_pop;
+use FS::CGI qw(popurl);
-my($req)=new CGI::Request; # create form object
+$cgi = new CGI; # create form object
-&cgisuidsetup($req->cgi);
+&cgisuidsetup($cgi);
-my($popnum)=$req->param('popnum');
+$popnum = $cgi->param('popnum');
-my($old)=qsearchs('svc_acct_pop',{'popnum'=>$popnum}) if $popnum;
+$old = qsearchs('svc_acct_pop',{'popnum'=>$popnum}) if $popnum;
-my($new)=create FS::svc_acct_pop ( {
+$new = new FS::svc_acct_pop ( {
map {
- $_, $req->param($_);
+ $_, scalar($cgi->param($_));
} fields('svc_acct_pop')
} );
if ( $popnum ) {
- my($error)=$new->replace($old);
- eidiot($error) if $error;
+ $error = $new->replace($old);
} else {
- my($error)=$new->insert;
- eidiot($error) if $error;
+ $error = $new->insert;
$popnum=$new->getfield('popnum');
}
-$req->cgi->redirect("../../browse/svc_acct_pop.cgi");
+
+if ( $error ) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "svc_acct_pop.cgi?". $cgi->query_string );
+} else {
+ print $cgi->redirect(popurl(3). "browse/svc_acct_pop.cgi");
+}
diff --git a/htdocs/edit/process/svc_acct_sm.cgi b/htdocs/edit/process/svc_acct_sm.cgi
index 9ad546bf4..9c39bb8e5 100755
--- a/htdocs/edit/process/svc_acct_sm.cgi
+++ b/htdocs/edit/process/svc_acct_sm.cgi
@@ -1,12 +1,10 @@
#!/usr/bin/perl -Tw
#
-# process/svc_acct_sm.cgi: Add/edit a mail alias (process form)
+# $Id: svc_acct_sm.cgi,v 1.6 1999-02-28 00:03:46 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/svc_acct_sm.cgi
#
-# Note: Should br run setuid root as user nobody.
-#
# lots of crufty stuff from svc_acct still in here, and modifications are (unelegantly) disabled.
#
# ivan@voicenet.com 97-jan-6
@@ -22,33 +20,53 @@
#
# Changes to allow page to work at a relative position in server
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: svc_acct_sm.cgi,v $
+# Revision 1.6 1999-02-28 00:03:46 ivan
+# removed misleading comments
+#
+# Revision 1.5 1999/02/07 09:59:32 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.4 1999/01/19 05:14:00 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.3 1999/01/18 22:48:01 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.2 1998/12/17 08:40:29 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $svcnum $old $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
+use FS::Record qw(qsearchs fields);
use FS::svc_acct_sm;
+use FS::CGI qw(popurl);
-my($req)=new CGI::Request; # create form object
-cgisuidsetup($req->cgi);
+$cgi = new CGI;
+cgisuidsetup($cgi);
-$req->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
-my($svcnum)=$1;
+$cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
+$svcnum =$1;
-my($old)=qsearchs('svc_acct_sm',{'svcnum'=>$svcnum}) if $svcnum;
+$old = qsearchs('svc_acct_sm',{'svcnum'=>$svcnum}) if $svcnum;
#unmunge domsvc and domuid
-$req->param('domsvc',(split(/:/, $req->param('domsvc') ))[0] );
-$req->param('domuid',(split(/:/, $req->param('domuid') ))[0] );
+#$cgi->param('domsvc',(split(/:/, $cgi->param('domsvc') ))[0] );
+#$cgi->param('domuid',(split(/:/, $cgi->param('domuid') ))[0] );
-my($new) = create FS::svc_acct_sm ( {
+$new = new FS::svc_acct_sm ( {
map {
- ($_, scalar($req->param($_)));
- } qw(svcnum pkgnum svcpart domuser domuid domsvc)
+ ($_, scalar($cgi->param($_)));
+ #} qw(svcnum pkgnum svcpart domuser domuid domsvc)
+ } ( fields('svc_acct_sm'), qw( pkgnum svcpart ) )
} );
-my($error);
if ( $svcnum ) {
$error = $new->replace($old);
} else {
@@ -56,25 +74,10 @@ if ( $svcnum ) {
$svcnum = $new->getfield('svcnum');
}
-unless ($error) {
- $req->cgi->redirect("../../view/svc_acct_sm.cgi?$svcnum");
+if ($error) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "svc_acct_sm.cgi?". $cgi->query_string );
} else {
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error adding/editing mail alias</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error adding/editing mail alias</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.
- </BODY>
-</HTML>
-END
-
+ print $cgi->redirect(popurl(3). "view/svc_acct_sm.cgi?$svcnum");
}
diff --git a/htdocs/edit/process/svc_domain.cgi b/htdocs/edit/process/svc_domain.cgi
index 0782772dd..e12aa1b55 100755
--- a/htdocs/edit/process/svc_domain.cgi
+++ b/htdocs/edit/process/svc_domain.cgi
@@ -1,12 +1,10 @@
#!/usr/bin/perl -Tw
#
-# process/svc_domain.cgi: Add a domain (process form)
+# $Id: svc_domain.cgi,v 1.6 1999-02-28 00:03:47 ivan Exp $
#
# Usage: post form to:
# http://server.name/path/svc_domain.cgi
#
-# Note: Should br run setuid root as user nobody.
-#
# lots of yucky stuff in this one... bleachlkjhui!
#
# ivan@voicenet.com 97-jan-6
@@ -18,61 +16,65 @@
#
# Changes to allow page to work at a relative position in server
# bmccane@maxbaud.net 98-apr-3
+#
+# $Log: svc_domain.cgi,v $
+# Revision 1.6 1999-02-28 00:03:47 ivan
+# removed misleading comments
+#
+# Revision 1.5 1999/02/07 09:59:33 ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.4 1999/01/19 05:14:01 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.3 1999/01/18 22:48:02 ivan
+# s/create/new/g; and use fields('table_name')
+#
+# Revision 1.2 1998/12/17 08:40:30 ivan
+# s/CGI::Request/CGI.pm/; etc
+#
use strict;
-use CGI::Request;
+use vars qw( $cgi $svcnum $new $error );
+use CGI;
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearchs);
+use FS::Record qw(qsearchs fields);
use FS::svc_domain;
+use FS::CGI qw(popurl);
#remove this to actually test the domains!
$FS::svc_domain::whois_hack = 1;
-my($req) = new CGI::Request;
-&cgisuidsetup($req->cgi);
+$cgi = new CGI;
+&cgisuidsetup($cgi);
-$req->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
-my($svcnum)=$1;
+$cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
+$svcnum = $1;
-my($new) = create FS::svc_domain ( {
+$new = new FS::svc_domain ( {
map {
- $_, $req->param($_);
- } qw(svcnum pkgnum svcpart domain action purpose)
+ $_, scalar($cgi->param($_));
+ #} qw(svcnum pkgnum svcpart domain action purpose)
+ } ( fields('svc_domain'), qw( pkgnum svcpart action purpose ) )
} );
-my($error);
-if ($req->param('legal') ne "Yes") {
+if ($cgi->param('legal') ne "Yes") {
$error = "Customer did not agree to be bound by NSI's ".
qq!<A HREF="http://rs.internic.net/help/agreement.txt">!.
"Domain Name Resgistration Agreement</A>";
-} elsif ($req->param('svcnum')) {
+} elsif ($cgi->param('svcnum')) {
$error="Can't modify a domain!";
} else {
$error=$new->insert;
$svcnum=$new->svcnum;
}
-unless ($error) {
- $req->cgi->redirect("../../view/svc_domain.cgi?$svcnum");
+if ($error) {
+ $cgi->param('error', $error);
+ print $cgi->redirect(popurl(2). "svc_domain.cgi?". $cgi->query_string );
} else {
- CGI::Base::SendHeaders(); # one guess
- print <<END;
-<HTML>
- <HEAD>
- <TITLE>Error adding domain</TITLE>
- </HEAD>
- <BODY>
- <CENTER>
- <H4>Error adding domain</H4>
- </CENTER>
- Your update did not occur because of the following error:
- <P><B>$error</B>
- <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.
- </BODY>
-</HTML>
-END
-
+ print $cgi->redirect(popurl(3). "view/svc_domain.cgi?$svcnum");
}
-