freeside-reexport
authorivan <ivan>
Wed, 3 Jul 2002 01:47:06 +0000 (01:47 +0000)
committerivan <ivan>
Wed, 3 Jul 2002 01:47:06 +0000 (01:47 +0000)
FS/MANIFEST
FS/bin/freeside-reexport [new file with mode: 0644]

index c932f3a..d9860b1 100644 (file)
@@ -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 (file)
index 0000000..b5c50a4
--- /dev/null
@@ -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
+