summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-08-04 21:07:24 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-08-29 19:43:20 -0500
commitb6cbc6cc5b933c08bf4f1132df7aee7910636295 (patch)
tree0f9d9f32a664ea967ab987e27b1ef595f7419829
parente5aee97b7d4c0cd8d6d0c3f0b1bca05adb676d7d (diff)
RT#71930: Package fields are not showing up in...Advanced wireless broadband report
-rwxr-xr-xhttemplate/search/svc_broadband.cgi39
1 files changed, 34 insertions, 5 deletions
diff --git a/httemplate/search/svc_broadband.cgi b/httemplate/search/svc_broadband.cgi
index 8cdf29d1c..0e52d5fb6 100755
--- a/httemplate/search/svc_broadband.cgi
+++ b/httemplate/search/svc_broadband.cgi
@@ -10,6 +10,7 @@
'Router',
@tower_header,
'IP Address',
+ @header_pkg,
emt('Pkg. Status'),
FS::UI::Web::cust_header($cgi->param('cust_fields')),
],
@@ -21,6 +22,7 @@
},
@tower_fields,
'ip_addr',
+ @fields_pkg,
sub {
$cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
return '' unless $cust_pkg_cache{$_[0]->svcnum};
@@ -32,20 +34,25 @@
$link,
'', #$link_router,
(map '', @tower_fields),
- $link,
+ $link, # ip_addr
+ @blank_pkg,
'', # pkg status
( map { $_ ne 'Cust. Status' ? $link_cust : '' }
FS::UI::Web::cust_header($cgi->param('cust_fields'))
),
],
- 'align' => 'rll'.('r' x @tower_fields).'rr'.
+ 'align' => 'rll'.('r' x @tower_fields).
+ 'r'. # ip_addr
+ $align_pkg.
+ 'r'. # pkg status
FS::UI::Web::cust_aligns(),
'color' => [
'',
'',
'',
(map '', @tower_fields),
- '',
+ '', # ip_addr
+ @blank_pkg,
sub {
$cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
return '' unless $cust_pkg_cache{$_[0]->svcnum};
@@ -59,8 +66,9 @@
'',
'',
(map '', @tower_fields),
- '',
- 'b',
+ '', # ip_addr
+ @blank_pkg,
+ 'b', # pkg status
FS::UI::Web::cust_styles(),
],
@@ -129,4 +137,25 @@ $html_init .= ' | ' .
$fsurl . 'search/svc_broadband-map.html?' . $cgi->query_string .
'">' . emt('View a map of these services') . '</a>';
+my (@header_pkg,@fields_pkg,@blank_pkg);
+my $align_pkg = '';
+#false laziness with search/svc_acct.cgi
+$cgi->param('cust_pkg_fields') =~ /^([\w\,]*)$/ or die "bad cust_pkg_fields";
+my @pkg_fields = split(',', $1);
+foreach my $pkg_field ( @pkg_fields ) {
+ ( my $header = ucfirst($pkg_field) ) =~ s/_/ /; #:/
+ push @header_pkg, $header;
+
+ #not the most efficient to do it every field, but this is of niche use. so far
+ push @fields_pkg, sub { my $svc_x = shift;
+ my $cust_pkg = $svc_x->cust_svc->cust_pkg or return '';
+ my $value = $cust_pkg->get($pkg_field);#closures help alot
+ $value ? time2str('%b %d %Y', $value ) : '';
+ };
+
+ push @blank_pkg, '';
+ $align_pkg .= 'c';
+}
+
+
</%init>