summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2002-07-03 01:47:06 +0000
committerivan <ivan>2002-07-03 01:47:06 +0000
commitb3ea4da977be6a246a61852be9cd40a5b0a11dfe (patch)
tree6607dcf3916f4a2e110416ae1807d06d2560fd79 /FS
parent8b8a9f09b5072db2af7f08d49d916b91f0b1bac7 (diff)
freeside-reexport
Diffstat (limited to 'FS')
-rw-r--r--FS/MANIFEST1
-rw-r--r--FS/bin/freeside-reexport62
2 files changed, 63 insertions, 0 deletions
diff --git a/FS/MANIFEST b/FS/MANIFEST
index c932f3aa0..d9860b15f 100644
--- a/FS/MANIFEST
+++ b/FS/MANIFEST
@@ -16,6 +16,7 @@ bin/freeside-tax-report
bin/freeside-cc-receipts-report
bin/freeside-credit-report
bin/freeside-expiration-alerter
+bin/freeside-reexport
FS.pm
FS/CGI.pm
FS/Conf.pm
diff --git a/FS/bin/freeside-reexport b/FS/bin/freeside-reexport
new file mode 100644
index 000000000..b5c50a422
--- /dev/null
+++ b/FS/bin/freeside-reexport
@@ -0,0 +1,62 @@
+#!/usr/bin/perl -Tw
+
+use strict;
+use FS::UID qw(adminsuidsetup);
+use FS::Record qw(qsearch qsearchs);
+use FS::part_export;
+use FS::svc_acct;
+use FS::cust_svc;
+
+my $user = shift or die &usage;
+adminsuidsetup $user;
+
+my $export_x = shift or die &usage;
+my @part_export;
+if ( $export_x =~ /^(\d+)$/ ) {
+ @part_export = qsearchs('part_export', { exportnum=>$1 } )
+ or die "exportnum $export_x not found\n";
+} else {
+ @part_export = qsearch('part_export', { exporttype=>$export_x } )
+ or die "no exports of type $export_x found\n";
+}
+
+my $svc_something = shift or die &usage;
+my $svc_x;
+if ( $svc_something =~ /^(\d+)$/ ) {
+ my $cust_svc = qsearchs('cust_svc', { svcnum=>$1 } )
+ or die "svcnum $svc_something not found\n";
+ $svc_x = $cust_svc->svc_x;
+} else {
+ $svc_x = qsearchs('svc_acct', { username=>$svc_something } )
+ or die "username $svc_something not found\n";
+}
+
+foreach my $part_export ( @part_export ) {
+ my $error = $part_export->export_insert($svc_x);
+ die $error if $error;
+}
+
+
+sub usage {
+ die "Usage:\n\n freeside-reexport user exportnum|exporttype svcnum|username\n";
+}
+
+=head1 NAME
+
+freeside-reexport - Command line tool to re-trigger export jobs for existing services
+
+=head1 SYNOPSIS
+
+ freeside-reexport user exportnum|exporttype svcnum|username
+
+=head1 DESCRIPTION
+
+ Re-queues the export job for the specified exportnum or exporttype(s) and
+ specified service (selected by svcnum or username).
+
+=head1 SEE ALSO
+
+L<freeside-sqlradius-reset>, L<FS::part_export>
+
+=cut
+