X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=2ba40d23ab04c2ee25f62be2a8f91b0545c8cb78;hb=d0a2c13f9f92542d5b452dbe8a4dc0c2f621a667;hp=80fec935944b64ea18ba0e187d311bbade740247;hpb=36197f0e2889826ddb9a64790150c7c232ba1afb;p=freeside.git
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 80fec9359..2ba40d23a 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -1,445 +1,376 @@
-<%
-
- #for misplaced logic below
- #use FS::part_pkg;
-
- #for false laziness below (now more properly lazy)
- #use FS::svc_acct_pop;
-
- #for (other) false laziness below
- #use FS::agent;
- #use FS::type_pkgs;
-
-my $conf = new FS::Conf;
-
-#get record
-
-my $error = '';
-my($custnum, $username, $password, $popnum, $cust_main, $saved_pkgpart);
-my(@invoicing_list);
-my $same = '';
-if ( $cgi->param('error') ) {
- $error = $cgi->param('error');
- $cust_main = new FS::cust_main ( {
- map { $_, scalar($cgi->param($_)) } fields('cust_main')
- } );
- $custnum = $cust_main->custnum;
- $saved_pkgpart = $cgi->param('pkgpart_svcpart') || '';
- if ( $saved_pkgpart =~ /^(\d+)_/ ) {
- $saved_pkgpart = $1;
- } else {
- $saved_pkgpart = '';
- }
- $username = $cgi->param('username');
- $password = $cgi->param('_password');
- $popnum = $cgi->param('popnum');
- @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') );
- $same = $cgi->param('same');
- $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid');
-} elsif ( $cgi->keywords ) { #editing
- my( $query ) = $cgi->keywords;
- $query =~ /^(\d+)$/;
- $custnum=$1;
- $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
- if ( $cust_main->dbdef_table->column('paycvv')
- && length($cust_main->paycvv) ) {
- my $paycvv = $cust_main->paycvv;
- $paycvv =~ s/./*/g;
- $cust_main->paycvv($paycvv);
- }
- $saved_pkgpart = 0;
- $username = '';
- $password = '';
- $popnum = 0;
- @invoicing_list = $cust_main->invoicing_list;
-} else {
- $custnum='';
- $cust_main = new FS::cust_main ( {} );
- $cust_main->otaker( &getotaker );
- $cust_main->referral_custnum( $cgi->param('referral_custnum') );
- $saved_pkgpart = 0;
- $username = '';
- $password = '';
- $popnum = 0;
- @invoicing_list = ();
-}
-$cgi->delete_all();
-my $action = $custnum ? 'Edit' : 'Add';
-
-%>
-
-
-
-<%= include('/elements/header.html',
- "Customer $action",
+<& /elements/header.html,
+ $title,
'',
- ' onUnload="myclose()"'
-) %>
+ ' onUnload="myclose()"' #hmm, in billing.html
+&>
+
+<& /elements/error.html &>
+
+
-<% } %>
+<& /elements/footer.html &>
-
+<%init>
-<%
-my $referring_cust_main = '';
-if ( $cust_main->referral_custnum
- and $referring_cust_main =
- qsearchs('cust_main', { custnum => $cust_main->referral_custnum } )
-) {
-%>
+my $curuser = $FS::CurrentUser::CurrentUser;
-
Referring Customer:
- <%= $cust_main->referral_custnum %>: <%= $referring_cust_main->name %>
-
+#probably redundant given the checks below...
+die "access denied"
+ unless $curuser->access_right('New customer')
+ || $curuser->access_right('Edit customer');
-<% } elsif ( ! $conf->exists('disable_customer_referrals') ) { %>
+my $conf = new FS::Conf;
-
Referring customer number:
-
+#get record
-<% } else { %>
+my($custnum, $cust_main, $ss, $stateid, $payinfo, @invoicing_list);
+my $same = '';
+my $pkgpart_svcpart = ''; #first_pkg
+my($username, $password, $popnum, $saved_domsvc) = ( '', '', 0, 0 ); #svc_acct
+my %svc_phone = ();
+my %svc_dsl = ();
+my $prospectnum = '';
+my $locationnum = '';
-
+if ( $cgi->param('error') ) {
-<% } %>
+ $cust_main = new FS::cust_main ( {
+ map { $_, scalar($cgi->param($_)) } fields('cust_main')
+ } );
-
+ $custnum = $cust_main->custnum;
-
-Billing address
-<%= include('cust_main/contact.html', $cust_main, '', 'bill_changed(this)', '' ) %>
+ die "access denied"
+ unless $curuser->access_right($custnum ? 'Edit customer' : 'New customer');
-
+ @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') );
+ $same = $cgi->param('same');
+ $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid');
+ $ss = $cust_main->ss; # don't mask an entered value on errors
+ $stateid = $cust_main->stateid; # don't mask an entered value on errors
+ $payinfo = $cust_main->payinfo; # don't mask an entered value on errors
-<% if ( defined $cust_main->dbdef_table->column('ship_last') ) { %>
+ $prospectnum = $cgi->param('prospectnum') || '';
-
-<%
- my $checked = '';
- my $disabled = '';
- my $disabledselect = '';
- unless ( $cust_main->ship_last && $same ne 'Y' ) {
- $checked = 'CHECKED';
- $disabled = 'DISABLED style="background-color: #dddddd"';
- foreach (
- qw( last first company address1 address2 city county state zip country
- daytime night fax )
- ) {
- $cust_main->set("ship_$_", $cust_main->get($_) );
- }
- }
-%>
+ #svc_phone
+ $svc_phone{$_} = $cgi->param($_)
+ foreach qw( countrycode phonenum sip_password pin phone_name );
-
-Service address
-(>same as billing address)
-<%= include('cust_main/contact.html', $cust_main, 'ship_', '', $disabled ) %>
-
-<% } %>
+ #svc_dsl (phonenum came in with svc_phone)
+ $svc_phone{$_} = $cgi->param($_)
+ foreach qw( password isp_chg isp_prev vendor_qual_id );
-
-
-<%= include( 'cust_main/billing.html', $cust_main,
- 'invoicing_list' => \@invoicing_list,
- )
-%>
+} elsif ( $cgi->keywords ) { #editing
-
-