RT# 39340 - configured the minimal selfservice to get mac address from radius account...
[freeside.git] / FS / FS / ClientAPI_XMLRPC.pm
index 2dea801..db0537c 100644 (file)
@@ -47,13 +47,18 @@ our %typefix_skin_info = (
   'menu_bottom_image' => 'base64',
 );
 our %typefix = (
-  'invoice_pdf'        => { 'invoice_pdf' => 'base64', },
-  'legacy_invoice_pdf' => { 'invoice_pdf' => 'base64', },
-  'skin_info'          => \%typefix_skin_info,
-  'login_info'         => \%typefix_skin_info,
-  'invoice_logo'       => { 'logo' => 'base64', },
-  'login_banner_image' => { 'image' => 'base64', },
-  'quotation_print'    => { 'document' => 'base64' },
+  'invoice_pdf'          => { 'invoice_pdf' => 'base64', },
+  'legacy_invoice_pdf'   => { 'invoice_pdf' => 'base64', },
+  'skin_info'            => \%typefix_skin_info,
+  'login_info'           => \%typefix_skin_info,
+  'logout'               => \%typefix_skin_info,
+  'access_info'          => \%typefix_skin_info,
+  'reset_passwd'         => \%typefix_skin_info,
+  'check_reset_passwd'   => \%typefix_skin_info,
+  'process_reset_passwd' => \%typefix_skin_info,
+  'invoice_logo'         => { 'logo' => 'base64', },
+  'login_banner_image'   => { 'image' => 'base64', },
+  'quotation_print'      => { 'document' => 'base64' },
 );
 
 sub AUTOLOAD {
@@ -75,8 +80,10 @@ sub AUTOLOAD {
     #FS::ClientAPI->dispatch($autoload->{$call}, @_);
 
     my %hash = @_;
-    #XXX doesn't handle multi-level data structs
-    $hash{$_} = decode(utf8=>$hash{$_}) foreach keys %hash;
+    #XXX doesn't deep-fix multi-level data structs, but at least doesn't mangle
+    # them anymore
+    $hash{$_} = decode(utf8=>$hash{$_})
+      foreach grep !ref($hash{$_}), keys %hash;
 
     my $return = FS::ClientAPI->dispatch($autoload->{$call}, \%hash );
 
@@ -112,6 +119,7 @@ sub ss2clientapi {
   'switch_cust'               => 'MyAccount/switch_cust',
   'customer_info'             => 'MyAccount/customer_info',
   'customer_info_short'       => 'MyAccount/customer_info_short',
+  'customer_recurring'        => 'MyAccount/customer_recurring',
 
   'contact_passwd'            => 'MyAccount/contact/contact_passwd',
   'list_contacts'             => 'MyAccount/contact/list_contacts',
@@ -127,8 +135,11 @@ sub ss2clientapi {
   'legacy_invoice_pdf'        => 'MyAccount/legacy_invoice_pdf',
   'invoice_logo'              => 'MyAccount/invoice_logo',
   'list_invoices'             => 'MyAccount/list_invoices', #?
+  'list_payments'             => 'MyAccount/list_payments',
+  'payment_receipt'           => 'MyAccount/payment_receipt',
   'list_payby'                => 'MyAccount/list_payby',
   'insert_payby'              => 'MyAccount/insert_payby',
+  'update_payby'              => 'MyAccount/update_payby',
   'delete_payby'              => 'MyAccount/delete_payby',
   'cancel'                    => 'MyAccount/cancel',        #add to ss cgi!
   'payment_info'              => 'MyAccount/payment_info',
@@ -144,6 +155,7 @@ sub ss2clientapi {
   'finish_thirdparty'         => 'MyAccount/finish_thirdparty',
   'realtime_collect'          => 'MyAccount/realtime_collect',
   'list_pkgs'                 => 'MyAccount/list_pkgs',     #add to ss (added?)
+  'pkg_info'                  => 'MyAccount/pkg_info',
   'list_svcs'                 => 'MyAccount/list_svcs',     #add to ss (added?)
   'list_svc_usage'            => 'MyAccount/list_svc_usage',   
   'svc_status_html'           => 'MyAccount/svc_status_html',
@@ -179,6 +191,7 @@ sub ss2clientapi {
   'reset_passwd'              => 'MyAccount/reset_passwd',
   'check_reset_passwd'        => 'MyAccount/check_reset_passwd',
   'process_reset_passwd'      => 'MyAccount/process_reset_passwd',
+  'validate_passwd'           => 'MyAccount/validate_passwd',
   'list_tickets'              => 'MyAccount/list_tickets',
   'create_ticket'             => 'MyAccount/create_ticket',
   'get_ticket'                => 'MyAccount/get_ticket',
@@ -192,6 +205,7 @@ sub ss2clientapi {
   'new_customer_minimal'      => 'Signup/new_customer_minimal',
   'capture_payment'           => 'Signup/capture_payment',
   'clear_signup_cache'        => 'Signup/clear_cache',
+  'new_prospect'              => 'Signup/new_prospect',
   'new_agent'                 => 'Agent/new_agent',
   'agent_login'               => 'Agent/agent_login',
   'agent_logout'              => 'Agent/agent_logout',
@@ -213,6 +227,7 @@ sub ss2clientapi {
   'quotation_add_pkg'         => 'MyAccount/quotation/quotation_add_pkg',
   'quotation_remove_pkg'      => 'MyAccount/quotation/quotation_remove_pkg',
   'quotation_order'           => 'MyAccount/quotation/quotation_order',
+  'get_mac_address'           => 'MyAccount/get_mac_address',
 
   'freesideinc_service'       => 'Freeside/freesideinc_service',
   };