diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-08-28 16:06:15 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-08-28 16:06:15 -0700 |
commit | 0e17277ed0cc243452dfc07d1bd702502c7d50c3 (patch) | |
tree | 85ca356d78bf85962752a1d762b3286cee8e7d84 /bin/svc_broadband.export | |
parent | 9f2220031123f06ab275840a3129c9807b9a782a (diff) |
adding export scripts for ea, RT#19067
Diffstat (limited to 'bin/svc_broadband.export')
-rwxr-xr-x | bin/svc_broadband.export | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bin/svc_broadband.export b/bin/svc_broadband.export new file mode 100755 index 000000000..1d5c71318 --- /dev/null +++ b/bin/svc_broadband.export @@ -0,0 +1,59 @@ +#!/usr/bin/perl + +use strict; +use Text::CSV_XS; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::svc_broadband; + +my @fields = ( + { 'header' => 'pkgnum', + 'callback' => sub { shift->cust_svc->pkgnum; }, + }, + { 'header' => 'svcpart', + 'callback' => sub { shift->cust_svc->svcpart; }, + }, + { 'header' => 'Service', + 'callback' => sub { shift->cust_svc->part_svc->svc; }, + }, + qw( + description + speed_up + speed_down + ip_addr + mac_addr + latitude + longitude + ) +); + +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 @svc_broadband = qsearch({ + 'select' => 'svc_broadband.*', + 'table' => 'svc_broadband', + 'addl_from' => 'LEFT JOIN cust_svc USING (svcnum) + LEFT JOIN cust_pkg USING (pkgnum) + LEFT JOIN cust_main USING ( custnum )', + 'hashref' => {}, + 'extra_sql' => "WHERE cust_main.agentnum = $agentnum", +}); + +foreach my $svc_broadband ( @svc_broadband ) { + $csv->combine( map { ref($_) ? &{$_->{'callback'}}($svc_broadband) + : $svc_broadband->$_() + } + @fields + ) or die; + print $csv->string."\n"; +} + +1; |