summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-09-25 11:01:35 -0700
committerIvan Kohler <ivan@freeside.biz>2016-09-25 11:01:35 -0700
commit01eb5584fe47513d2e61459c7df303670104bd9a (patch)
treee2abbd5ef5c615cc64222b647826b3e3d40aa7bc
parent38e8bacd564b497854017c54dff8ebc0abe2cb33 (diff)
suspend/unsuspend CF users
-rw-r--r--FS/FS/part_export/cardfortress.pm28
1 files changed, 25 insertions, 3 deletions
diff --git a/FS/FS/part_export/cardfortress.pm b/FS/FS/part_export/cardfortress.pm
index 8c9413597..ae8e2966f 100644
--- a/FS/FS/part_export/cardfortress.pm
+++ b/FS/FS/part_export/cardfortress.pm
@@ -55,10 +55,15 @@ sub _export_replace {
'';
}
-sub _export_delete {
- my( $self, $svc_acct ) = (shift, shift);
+#well, we're just going to disable them for now, but there you go
+sub _export_delete { shift->merchant_disable(@_) }
+
+sub _export_suspend { shift->merchant_disable(@_) }
- #well, we're just going to disable them for now, but there you go
+sub _export_unsuspend { shift->merchant_enable(@_) }
+
+sub merchant_disable {
+ my( $self, $svc_acct ) = (shift, shift);
open my $def_in, '<', '/dev/null' or die "unable to open /dev/null";
my $ssh = Net::OpenSSH->new( $self->machine,
@@ -74,4 +79,21 @@ sub _export_delete {
}
+sub merchant_enable {
+ my( $self, $svc_acct ) = (shift, shift);
+
+ open my $def_in, '<', '/dev/null' or die "unable to open /dev/null";
+ my $ssh = Net::OpenSSH->new( $self->machine,
+ default_stdin_fh => $def_in );
+
+ #capture2 and return STDERR, its probably useful if there's a problem
+ my $unused_output = $ssh->capture(
+ '/usr/local/bin/merchant_enable', map $svc_acct->$_, qw( username )
+ );
+ return $ssh->error if $ssh->error;
+
+ '';
+
+}
+
1;