X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Freason.html;h=8af88a95007025c532d886bfc62cebfa4b9b7e0d;hb=395b48e2a32e90ae0edf2e45a31758dc78181f04;hp=14e97bf2f9c6b890ebcc7cc02315113c1709f6d0;hpb=00938b30a69411a743aa01db5e27100818a3c82b;p=freeside.git
diff --git a/httemplate/browse/reason.html b/httemplate/browse/reason.html
index 14e97bf2f..8af88a950 100644
--- a/httemplate/browse/reason.html
+++ b/httemplate/browse/reason.html
@@ -14,21 +14,10 @@
'addl_from' => 'LEFT JOIN reason_type ON reason_type.typenum = reason.reason_type',
},
'count_query' => $count_query,
- 'header' => [ '#',
- ucfirst($classname) . ' Reason Type',
- ucfirst($classname) . ' Reason',
- ($class eq 'S' ? 'Unsuspension Fee' : ()),
- ],
- 'fields' => [ 'reasonnum',
- sub { shift->reasontype->type },
- 'reason',
- $unsuspend_pkg_comment,
- ],
- 'links' => [ $link,
- $link,
- '',
- $unsuspend_pkg_link,
- ],
+ 'header' => \@header,
+ 'fields' => \@fields,
+ 'links' => \@links,
+ 'align' => $align,
)
%>
<%init>
@@ -53,18 +42,70 @@ my $count_query = 'SELECT COUNT(*) FROM reason LEFT JOIN reason_type on ' .
my $link = [ $p."edit/reason.html?class=$class&reasonnum=", 'reasonnum' ];
-my ($unsuspend_pkg_comment, $unsuspend_pkg_link);
+my @header = (
+ '#',
+ ucfirst($classname) . ' reason type',
+ ucfirst($classname) . ' reason',
+);
+
+my @fields = (
+ 'reasonnum',
+ sub { shift->reasontype->type },
+ 'reason',
+);
+
+my @links = (
+ $link,
+ $link,
+ '',
+);
+
+my $align = 'rll';
+
if ( $class eq 'S' ) {
- $unsuspend_pkg_comment = sub {
- my $pkgpart = shift->unsuspend_pkgpart or return '';
- my $part_pkg = FS::part_pkg->by_key($pkgpart) or return '';
- $part_pkg->pkg_comment;
- };
+ push @header,
+ 'Credit unused service',
+ 'Suspension fee',
+ ;
+ push @fields,
+ sub {
+ my $reason = shift;
+ if ( $reason->unused_credit ) {
+ return 'YES';
+ } else {
+ return 'NO';
+ }
+ },
+ sub {
+ my $reason = shift;
+ my $feepart = $reason->feepart;
+ my ($href, $text, $detail);
+ if ( $feepart ) {
+ my $part_fee = FS::part_fee->by_key($feepart) or return '';
+ $text = $part_fee->itemdesc . ': ' . $part_fee->explanation;
+ $detail = $reason->fee_on_unsuspend ? 'unsuspension' : 'suspension';
+ if ( $reason->fee_hold ) {
+ $detail = "next bill after $detail";
+ }
+ $detail = "(on $detail)";
+ $href = $p."edit/part_fee.html?$feepart";
+ } else {
+ my $pkgpart = $reason->unsuspend_pkgpart;
+ my $part_pkg = FS::part_pkg->by_key($pkgpart) or return '';
+ $text = $part_pkg->pkg_comment;
+ $href = $p."edit/part_pkg.cgi?$pkgpart";
+ $detail = $reason->unsuspend_hold ?
+ '(on next bill after unsuspension)' : '(on unsuspension)';
+ }
+ return '' unless length($text);
- my $unsuspend_pkg_link = sub {
- my $pkgpart = shift->unsuspend_pkgpart or return '';
- [ $p."edit/part_pkg.cgi?", $pkgpart ];
- };
+ $text = qq!! . encode_entities($text) . " ".
+ "$detail";
+ $text .= '';
+ }
+ ;
+ $align .= 'cl';
}
+
%init>