summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2019-03-31 18:37:16 -0400
committerMitch Jackson <mitch@freeside.biz>2019-03-31 18:37:16 -0400
commit11be416520b5c391925c05cbd6118df69218eb56 (patch)
tree37117d4174161c8136f9cbea37bb71eba237fb52 /httemplate
parent8551c2469ece9a769b52b5429574d6984cd367ed (diff)
RT# 81946 Implement conf-disable_counts on Package Definitions page
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/browse/part_pkg.cgi72
1 files changed, 38 insertions, 34 deletions
diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi
index f25c00ef2..cb74bed66 100755
--- a/httemplate/browse/part_pkg.cgi
+++ b/httemplate/browse/part_pkg.cgi
@@ -60,6 +60,7 @@ my $conf = new FS::Conf;
my $taxclasses = $conf->exists('enable_taxclasses');
my $taxvendor = $conf->config('tax_data_vendor');
my $money_char = $conf->config('money_char') || '$';
+my $disable_counts = $conf->exists('config-disable_counts') ? 1 : 0;
my $select = '*';
my $orderby = 'pkgpart';
@@ -143,40 +144,43 @@ my $count_cust_pkg_cancel = "
AND cust_pkg.cancel IS NOT NULL AND cust_pkg.cancel != 0
";
-$select = "
-
- *,
-
- ( $count_cust_pkg
- AND ( setup IS NULL OR setup = 0 )
- AND ( cancel IS NULL OR cancel = 0 )
- AND ( susp IS NULL OR susp = 0 )
- ) AS num_not_yet_billed,
-
- ( $count_cust_pkg
- AND setup IS NOT NULL AND setup != 0
- AND ( cancel IS NULL OR cancel = 0 )
- AND ( susp IS NULL OR susp = 0 )
- ) AS num_active,
-
- ( $count_cust_pkg
- AND ( cancel IS NULL OR cancel = 0 )
- AND susp IS NOT NULL AND susp != 0
- AND setup IS NOT NULL AND setup != 0
- ) AS num_suspended,
-
- ( $count_cust_pkg
- AND ( cancel IS NULL OR cancel = 0 )
- AND susp IS NOT NULL AND susp != 0
- AND ( setup IS NULL OR setup = 0 )
- ) AS num_on_hold,
-
- ( $count_cust_pkg_cancel
- AND (cust_pkg_next.pkgnum IS NULL
- OR cust_pkg_next.pkgpart != cust_pkg.pkgpart)
- ) AS num_cancelled
+unless ( $disable_counts ) {
+ $select = "
+
+ *,
+
+ ( $count_cust_pkg
+ AND ( setup IS NULL OR setup = 0 )
+ AND ( cancel IS NULL OR cancel = 0 )
+ AND ( susp IS NULL OR susp = 0 )
+ ) AS num_not_yet_billed,
+
+ ( $count_cust_pkg
+ AND setup IS NOT NULL AND setup != 0
+ AND ( cancel IS NULL OR cancel = 0 )
+ AND ( susp IS NULL OR susp = 0 )
+ ) AS num_active,
+
+ ( $count_cust_pkg
+ AND ( cancel IS NULL OR cancel = 0 )
+ AND susp IS NOT NULL AND susp != 0
+ AND setup IS NOT NULL AND setup != 0
+ ) AS num_suspended,
+
+ ( $count_cust_pkg
+ AND ( cancel IS NULL OR cancel = 0 )
+ AND susp IS NOT NULL AND susp != 0
+ AND ( setup IS NULL OR setup = 0 )
+ ) AS num_on_hold,
+
+ ( $count_cust_pkg_cancel
+ AND (cust_pkg_next.pkgnum IS NULL
+ OR cust_pkg_next.pkgpart != cust_pkg.pkgpart)
+ ) AS num_cancelled
+
+ ";
+}
-";
# About the num_cancelled expression: packages that were changed, but
# kept the same pkgpart, are considered "moved", not "canceled" (because
# this is the part_pkg UI). We could show the count of those but it's
@@ -544,7 +548,7 @@ if ( $acl_edit_global ) {
: ''
),
'align' => 'left',
- 'link' => ( $part_pkg->get("num_$_")
+ 'link' => ( $part_pkg->get("num_$_") || $disable_counts
? $cust_pkg_link.
$part_pkg->pkgpart.
";magic=$magic"