From 0e17277ed0cc243452dfc07d1bd702502c7d50c3 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 28 Aug 2012 16:06:15 -0700 Subject: adding export scripts for ea, RT#19067 --- bin/cust_pkg.export | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 bin/cust_pkg.export (limited to 'bin/cust_pkg.export') diff --git a/bin/cust_pkg.export b/bin/cust_pkg.export new file mode 100755 index 0000000..f922e02 --- /dev/null +++ b/bin/cust_pkg.export @@ -0,0 +1,61 @@ +#!/usr/bin/perl + +use strict; +use Text::CSV_XS; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::cust_pkg; +use Date::Format; + +my @fields = qw( + pkgnum + custnum + status + pkgpart +); + +push @fields, + { 'header' => 'Package', + 'callback' => sub { shift->part_pkg->pkg_comment('nopkgpart'=>1) }, + }, + map { + my $field = $_; + { 'header' => $field, + 'callback' => sub { my $d = shift->get($field) or return ''; + time2str('%x', $d); # %X", $d); + }, + }; + } qw( order_date start_date setup last_bill bill + adjourn susp resume + expire cancel uncancel + contract_end + ) +; + +my $user = shift or die &usage; +adminsuidsetup $user; + +my $agentnum = shift or die &usage; + +my $csv = new Text::CSV_XS; + +$csv->combine( map { ref($_) ? $_->{'header'} : $_ } @fields ) or die; +print $csv->string."\n"; + +my @cust_pkg = qsearch({ + 'table' => 'cust_pkg', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => {}, + 'extra_sql' => "WHERE cust_main.agentnum = $agentnum", +}); + +foreach my $cust_pkg ( @cust_pkg ) { + $csv->combine( map { ref($_) ? &{$_->{'callback'}}($cust_pkg) + : $cust_pkg->$_() + } + @fields + ) or die; + print $csv->string."\n"; +} + +1; -- cgit v1.1