use strict;
use vars qw($DEBUG $AUTOLOAD);
+use Encode;
use XMLRPC::Lite; # for XMLRPC::Data
use FS::ClientAPI;
shift; #discard package name;
+
#$call = "FS::SelfService::$call";
#no strict 'refs';
#&{$call}(@_);
#FS::ClientAPI->dispatch($autoload->{$call}, @_);
- my $return = FS::ClientAPI->dispatch($autoload->{$call}, { @_ } );
+ my %hash = @_;
+ #XXX doesn't handle multi-level data structs
+ $hash{$_} = decode(utf8=>$hash{$_}) foreach keys %hash;
+
+ my $return = FS::ClientAPI->dispatch($autoload->{$call}, \%hash );
if ( exists($typefix{$call}) ) {
my $typefix = $typefix{$call};
$return;
- }else{
+ } else {
die "No such procedure: $call";
}
}
'list_contacts' => 'MyAccount/contact/list_contacts',
'edit_contact' => 'MyAccount/contact/edit_contact',
'delete_contact' => 'MyAccount/contact/delete_contact',
+ 'new_contact' => 'MyAccount/contact/new_contact',
'billing_history' => 'MyAccount/billing_history',
'edit_info' => 'MyAccount/edit_info', #add to ss cgi!
'quotation_add_pkg' => 'MyAccount/quotation/quotation_add_pkg',
'quotation_remove_pkg' => 'MyAccount/quotation/quotation_remove_pkg',
'quotation_order' => 'MyAccount/quotation/quotation_order',
+
+ 'freesideinc_service' => 'Freeside/freesideinc_service',
};
}