[freeside-commits] branch master updated. c39d6e73a98427d653e3d019aaa90f16bc1b6380

Ivan ivan at 420.am
Tue Jul 21 19:16:09 PDT 2015


The branch, master has been updated
       via  c39d6e73a98427d653e3d019aaa90f16bc1b6380 (commit)
      from  4e63920a6b29e4e0b2321f80427211816d697612 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c39d6e73a98427d653e3d019aaa90f16bc1b6380
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue Jul 21 19:16:06 2015 -0700

    self-service API list_contacts doc, RT#37372

diff --git a/FS/FS/ClientAPI/MyAccount/contact.pm b/FS/FS/ClientAPI/MyAccount/contact.pm
index 5690f86..31bbb0c 100644
--- a/FS/FS/ClientAPI/MyAccount/contact.pm
+++ b/FS/FS/ClientAPI/MyAccount/contact.pm
@@ -82,7 +82,7 @@ sub list_contacts {
       #TODO: contact phone numbers
       'comment'            => $_->comment,
       'selfservice_access' => $_->selfservice_access,
-      'disabled'           => $contact->disabled,
+      #'disabled'           => $contact->disabled,
     };
   } $cust_main->cust_contact );
 
diff --git a/bin/xmlrpc-list_contacts b/bin/xmlrpc-list_contacts
new file mode 100755
index 0000000..ffe2a31
--- /dev/null
+++ b/bin/xmlrpc-list_contacts
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+
+use strict;
+use Frontier::Client;
+use Data::Dumper;
+
+my( $email, $password ) = @ARGV;
+
+my $uri = new URI 'http://localhost:8080/';
+
+my $server = new Frontier::Client ( 'url' => $uri );
+
+my $login_result = $server->call(
+  'FS.ClientAPI_XMLRPC.login',
+    'email'    => $email,
+    'password' => $password,
+);
+die $login_result->{'error'}."\n" if $login_result->{'error'};
+
+my $list_result = $server->call(
+  'FS.ClientAPI_XMLRPC.list_contacts',
+    'session_id'   => $login_result->{'session_id'},
+);
+die $list_result->{'error'}."\n" if $list_result->{'error'};
+
+print Dumper($list_result);
+
+1;
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 06dcc2b..e01d17b 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1375,6 +1375,46 @@ error message, or empty on success.
 
 =item list_contacts
 
+Takes a hash reference as parameter with a single key, B<session_id>.
+
+Returns a hash reference with two parameters: B<error>, which contains an error
+message, or empty on success, and B<contacts>, a list of contacts.
+
+B<contacts> is an array reference of hash references (i.e. an array of structs,
+ in XML-RPC).  Each hash reference (struct) has the following keys:
+
+=over4
+
+=item contactnum
+
+=item class
+
+Contact class name (contact type).
+
+=item first
+
+First name
+
+=item last
+
+Last name
+
+=item title
+
+Position ("Director of Silly Walks"), NOT honorific ("Mr." or "Mrs.")
+
+=item emailaddress
+
+Comma-separated list of email addresses
+
+=item comment
+
+=item selfservice_access
+
+Y when enabled
+
+=back
+
 =item edit_contact
 
 Updates information for the currently-logged in contact, or (optionally) the

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/ClientAPI/MyAccount/contact.pm              |    2 +-
 bin/{xmlrpc-edit_contact => xmlrpc-list_contacts} |   11 +++---
 fs_selfservice/FS-SelfService/SelfService.pm      |   40 +++++++++++++++++++++
 3 files changed, 46 insertions(+), 7 deletions(-)
 copy bin/{xmlrpc-edit_contact => xmlrpc-list_contacts} (63%)




More information about the freeside-commits mailing list