summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-08-08 20:20:16 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-08-25 22:38:53 -0500
commite4056d2c8ced18e0ece2639df9054b78547992d3 (patch)
tree4b85b2c41c9293c28c9d0179e67a9831f4b11577
parent06fe63b19b1a92d8a4feded62f0cc60ce82ef6ab (diff)
RT#71969: High-priority: Add reason to cancellations details for Reports -> Packages -> Package churn
-rw-r--r--httemplate/search/cust_pkg_churn.html21
1 files changed, 19 insertions, 2 deletions
diff --git a/httemplate/search/cust_pkg_churn.html b/httemplate/search/cust_pkg_churn.html
index 30962c996..4c7e7e8b2 100644
--- a/httemplate/search/cust_pkg_churn.html
+++ b/httemplate/search/cust_pkg_churn.html
@@ -18,7 +18,7 @@
emt('Susp.'),
emt('Changed'),
emt('Cancel'),
- #emt('Reason'), # hard to do this right
+ @reason_header,
FS::UI::Web::cust_header(
$cgi->param('cust_fields')
),
@@ -45,6 +45,7 @@
( map { time_or_blank($_) }
qw( setup last_bill bill susp change_date cancel ) ),
+ @reason_fields,
\&FS::UI::Web::cust_fields,
],
'sort_fields' => [
@@ -53,21 +54,25 @@
('') x 3, # can't use at all
# use the plain SQL column names
qw( setup last_bill bill susp change_date cancel ),
+ @reason_blank,
# cust_fields can take care of themselves
],
'color' => [
('') x 15,
+ @reason_blank,
FS::UI::Web::cust_colors(),
],
'style' => [ ('') x 15,
+ @reason_blank,
FS::UI::Web::cust_styles() ],
'size' => [ '', '', '', '', '-1' ],
- 'align' => 'rrlcccrrlrrrrrr'. FS::UI::Web::cust_aligns(). 'r',
+ 'align' => 'rrlcccrrlrrrrrr'.$reason_align. FS::UI::Web::cust_aligns(). 'r',
'links' => [
$link,
$link,
$link,
('') x 12,
+ @reason_blank,
( map { $_ ne 'Cust. Status' ? $clink : '' }
FS::UI::Web::cust_header(
$cgi->param('cust_fields')
@@ -184,4 +189,16 @@ sub time_or_blank {
};
}
+my (@reason_header,@reason_fields,@reason_blank);
+my $reason_align = '';
+if ($status eq 'cancel') {
+ push @reason_header, emt('Cancel Reason');
+ push @reason_fields, sub {
+ my $c = shift;
+ my $cust_pkg_reason = $c->last_cust_pkg_reason('cancel');
+ $cust_pkg_reason ? $cust_pkg_reason->reason->reason : '';
+ };
+ push @reason_blank, '';
+ $reason_align = 'l';
+}
</%init>