diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2017-10-17 14:22:19 -0700 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2017-10-17 14:22:19 -0700 |
| commit | dfbcb60e8b9207bd9aa7ebd297ff9d2599121bf5 (patch) | |
| tree | 71955c86e09289dddd636a1f54c091e2d52b3000 /fs_selfservice/FS-SelfService/cgi/selfservice.cgi | |
| parent | 929783d1045757abbe5c84ff2439547b0f8eca23 (diff) | |
| parent | 689738f7c234903160cbe23f337c11f8c0621f00 (diff) | |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi/selfservice.cgi')
| -rwxr-xr-x | fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index f194746c5..6cf264c08 100755 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -337,6 +337,32 @@ sub _process_change_payby { } } +sub _process_insert_payby { + my ($erroraction, @fields) = @_; + + my $results = ''; + + $results ||= insert_payby ( + 'session_id' => $session_id, + map { ($_ => $cgi->param($_)) } grep { defined($cgi->param($_)) } @fields, + ); + + ## check error + + + if ( $results->{'error'} ) { + no strict 'refs'; + $action = $erroraction; + return { + $cgi->Vars, + %{&$action()}, + 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', + }; + } else { + return $results; + } +} + sub process_change_bill { _process_change_info( 'change_bill', qw( first last company address1 address2 city state @@ -389,20 +415,20 @@ sub process_change_creditcard_pay { address1 address2 city county state zip country auto paytype paystate ss stateid stateid_state invoicing_list ); - - _process_change_payby( 'change_creditcard_pay', @list ); + if ($cgi->param( 'custpaybynum' )) { _process_change_payby( 'change_creditcard_pay', @list ); } + else { _process_insert_payby( 'change_creditcard_pay', @list ); } } sub process_change_check_pay { my $payby = $cgi->param( 'payby' ); - $cgi->param('paydate', $cgi->param('year') . '-' . $cgi->param('month') . '-01'); + #$cgi->param('paydate', '2039-12-01'); my @list = qw( payby payinfo payinfo1 payinfo2 paydate payname custpaybynum address1 address2 city county state zip country auto paytype paystate ss stateid stateid_state invoicing_list ); - - _process_change_payby( 'change_check_pay', @list ); + if ($cgi->param( 'custpaybynum' )) { _process_change_payby( 'change_check_pay', @list ); } + else { _process_insert_payby( 'change_check_pay', @list ); } } sub view_invoice { |
