RT# 39340 - configured the minimal selfservice to get mac address from radius account...
[freeside.git] / FS / FS / ClientAPI_XMLRPC.pm
index 2d8856a..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 );
 
@@ -148,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',
@@ -219,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',
   };