From: Mark Wells <mark@freeside.biz>
Date: Thu, 20 Mar 2014 18:52:14 +0000 (-0700)
Subject: when enumerating the subsets of a set, include the null set, #27973
X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;ds=sidebyside;h=4fbac69c76d393adc7221c036a996a2ab1b860f1;p=freeside.git

when enumerating the subsets of a set, include the null set, #27973
---

diff --git a/FS/FS/part_pkg_report_option.pm b/FS/FS/part_pkg_report_option.pm
index 372b11930..e3c353a2c 100644
--- a/FS/FS/part_pkg_report_option.pm
+++ b/FS/FS/part_pkg_report_option.pm
@@ -146,9 +146,13 @@ sub subsets {
     or die $dbh->errstr; # seriously, this should never happen
   $sth->execute
     or die $sth->errstr;
-  # return the first (only) column
-  map { [ split(',',$_->[0]) ],
-        [ split(',',$_->[1]) ] } @{ $sth->fetchall_arrayref };
+  # return a pair of entries for the null set (conventionally we use zero
+  # for that)
+  ( [ 0 ], [ '(empty class)' ],
+  # followed by the first two columns: report class numbers and names
+    map { [ split(',',$_->[0]) ],
+          [ split(',',$_->[1]) ] } @{ $sth->fetchall_arrayref }
+  );
 }
 
 =back