From 3872c1d3a2d975989e342be389b8260bfcc5ec41 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Tue, 30 Oct 2018 11:07:15 -0400 Subject: [PATCH] RT# 79902 - fixed so change payment information link will still work when upgraded from V3 to V4 and restores functionality in V3 Conflicts: FS/FS/ClientAPI/MyAccount.pm fs_selfservice/FS-SelfService/cgi/selfservice.cgi --- FS/FS/ClientAPI/MyAccount.pm | 1 + fs_selfservice/FS-SelfService/cgi/change_pay.html | 4 +--- fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 9 +++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 9e1a4adc4..cb6a938da 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -613,6 +613,7 @@ sub customer_info_short { $return{payinfo} = $cust_main->paymask; @return{'month', 'year'} = $cust_main->paydate_monthyear; } + else { delete $return{'payinfo'}; } my @invoicing_list = $cust_main->invoicing_list; $return{'invoicing_list'} = diff --git a/fs_selfservice/FS-SelfService/cgi/change_pay.html b/fs_selfservice/FS-SelfService/cgi/change_pay.html index f90f6d92b..75ceee8f7 100644 --- a/fs_selfservice/FS-SelfService/cgi/change_pay.html +++ b/fs_selfservice/FS-SelfService/cgi/change_pay.html @@ -14,6 +14,7 @@ my $tail = qq(). qq(). + qq(). qq(
). qq( ). @@ -60,9 +61,6 @@ delete $options{'DCRD'} unless $payby eq 'DCRD' || ! exists $options{'CARD'}; delete $options{'DCHK'} unless $payby eq 'DCHK' || ! exists $options{'CHEK'}; - ## set default layer to first payby. - @p = keys %options; $payby = $p[0]; - HTML::Widgets::SelectLayers->new( options => \%options, selected_layer => $payby, diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index 831c0590a..dcfccdc5c 100755 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -306,8 +306,9 @@ sub process_change_ship { sub process_change_pay { my $postal = $cgi->param( 'postal_invoicing' ); my $payby = $cgi->param( 'payby' ); + $cgi->param('paydate', $cgi->param('year') . '-' . $cgi->param('month') . '-01'); my @list = - qw( payby payinfo payinfo1 payinfo2 month year payname + qw( payby payinfo payinfo1 payinfo2 month year paydate payname custpaybynum address1 address2 city county state zip country auto paytype paystate ss stateid stateid_state invoicing_list ); @@ -325,7 +326,11 @@ sub process_change_pay { }; } - _process_change_info( 'change_pay', @list ); + if (FS::SelfService->can('update_payby')) { + if ($cgi->param( 'custpaybynum' )) { _process_change_payby( 'change_pay', @list ); } + else { _process_insert_payby( 'change_pay', @list ); } + } + else { _process_change_info( 'change_pay', @list ); } } sub view_invoice { -- 2.11.0