% #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'; %> <%= header("Customer $action", '', ' onUnload="myclose()"') %> <% if ( $error ) { %> Error: <%= $error %> <% } %>