X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FClientAPI%2FMyAccount.pm;h=8c8cfc2ee164ce819f28e8c6dbfa7bc7813d4d1f;hb=f17c3f4acb20b02308c280347586737f21de74c5;hp=a38bcd661697c680a82bfbea9671d8dd72510c3c;hpb=f3ebd0e062e9e04888b950cd8ad17637fe20566d;p=freeside.git diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index a38bcd661..8c8cfc2ee 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -236,6 +236,13 @@ sub login { $svc_x = $svc_phone; + } elsif ( $p->{'domain'} eq 'ip_mac' ) { + + my $svc_broadband = qsearchs( 'svc_broadband', { 'mac_addr' => $p->{'username'} } ); + return { error => 'IP address not found' } + unless $svc_broadband; + $svc_x = $svc_broadband; + } elsif ( $p->{email} && (my $contact = FS::contact->by_selfservice_email($p->{email})) ) @@ -600,6 +607,8 @@ sub customer_info_short { for (@cust_main_editable_fields) { $return{$_} = $cust_main->get($_); } + $return{$_} = $cust_main->masked($_) for qw/ss stateid/; + #maybe a little more expensive, but it should be cached by now for (@location_editable_fields) { $return{$_} = $cust_main->bill_location->get($_); @@ -723,7 +732,7 @@ sub edit_info { or return { 'error' => "unknown custnum $custnum" }; my $conf = new FS::Conf; - if (($p->{payby} eq "CHEK" || $p->{payby} eq "DCHEK") && $conf->exists('selfservice-ACH_info_readonly')) { + if (($p->{payby} eq "CHEK" || $p->{payby} eq "DCHK") && $conf->exists('selfservice-ACH_info_readonly')) { return { 'error' => "You do not have authority to add a bank account" }; } @@ -935,6 +944,7 @@ sub payment_info { $return{paybatch} = $return{payunique}; #back compat $return{credit_card_surcharge_percentage} = $conf->config('credit-card-surcharge-percentage', $cust_main->agentnum); + $return{credit_card_surcharge_flatfee} = $conf->config('credit-card-surcharge-flatfee', $cust_main->agentnum); return { 'error' => '', %return, @@ -1016,13 +1026,10 @@ sub validate_payment { if $cust_main->paymask eq $payinfo; my $achonfile = 0; - foreach my $cust_payby ($cust_main->cust_payby('CHEK','DCHK')) { - if ( $cust_payby->paymask eq $payinfo ) { - $payinfo = $cust_payby->payinfo; + if ( $cust_main->paymask eq $payinfo ) { + $payinfo = $cust_main->payinfo; $achonfile = 1; - last; } - } if ($conf->exists('selfservice-ACH_info_readonly') && !$achonfile) { return { 'error' => "You are not allowed to change your payment information." }; @@ -3882,4 +3889,3 @@ sub _custoragent_session_custnum { } 1; -