summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-20 19:09:17 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-20 19:09:17 -0700
commit6419542b10f8ebb0dada9dcb1a48cf78151ca82a (patch)
tree38a8203b361815a59f775afaedadf3044dbaa7fe /bin
parentf97cd91298d3cbfd380741cf4a64d402d3628ecd (diff)
contact self-service pw changes, RT#37023
Diffstat (limited to 'bin')
-rwxr-xr-xbin/xmlrpc-contact_passwd29
-rwxr-xr-xbin/xmlrpc-edit_contact29
2 files changed, 58 insertions, 0 deletions
diff --git a/bin/xmlrpc-contact_passwd b/bin/xmlrpc-contact_passwd
new file mode 100755
index 000000000..1a89d4260
--- /dev/null
+++ b/bin/xmlrpc-contact_passwd
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use strict;
+use Frontier::Client;
+use Data::Dumper;
+
+my( $email, $current_pw, $new_pw ) = @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' => $current_pw,
+);
+die $login_result->{'error'}."\n" if $login_result->{'error'};
+
+my $passwd_result = $server->call(
+ 'FS.ClientAPI_XMLRPC.contact_passwd',
+ 'session_id' => $login_result->{'session_id'},
+ 'new_password' => $new_pw,
+);
+die $passwd_result->{'error'}."\n" if $passwd_result->{'error'};
+
+warn "Password changed.\n";
+
+1;
diff --git a/bin/xmlrpc-edit_contact b/bin/xmlrpc-edit_contact
new file mode 100755
index 000000000..574284bbc
--- /dev/null
+++ b/bin/xmlrpc-edit_contact
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use strict;
+use Frontier::Client;
+use Data::Dumper;
+
+my( $email, $password, $new_email ) = @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 $passwd_result = $server->call(
+ 'FS.ClientAPI_XMLRPC.edit_contact',
+ 'session_id' => $login_result->{'session_id'},
+ 'emailaddress' => $new_email,
+);
+die $passwd_result->{'error'}."\n" if $passwd_result->{'error'};
+
+warn "Email changed.\n";
+
+1;