summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-03-04 11:35:51 -0800
committerIvan Kohler <ivan@freeside.biz>2016-03-04 11:35:51 -0800
commitd256989a19dd100823d35a11929edb1ae07d9883 (patch)
tree6074cd4525de3c2b0f177e1088a86673bba1697b /FS
parent9000d0d9daea14055bda2c28b3a33c5742930460 (diff)
optimize package list on order new package, RT#39822
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/part_pkg.pm20
1 files changed, 20 insertions, 0 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index 3adbc06e8..45bdc6207 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -2332,6 +2332,26 @@ sub _pkgs_sql {
}
+=item join_options_sql
+
+Returns an SQL fragment for JOINing the part_pkg_option records for this
+package's setup_fee and recur_fee (as setup_option and recur_option,
+respectively). Useful for optimization.
+
+=cut
+
+sub join_options_sql {
+ #my $class = shift;
+ "
+ LEFT JOIN part_pkg_option AS setup_option
+ ON ( part_pkg.pkgpart = setup_option.pkgpart
+ AND setup_option.optionname = 'setup_fee' )
+ LEFT JOIN part_pkg_option AS recur_option
+ ON ( part_pkg.pkgpart = recur_option.pkgpart
+ AND recur_option.optionname = 'recur_fee' )
+ ";
+}
+
=back
=head1 SUBROUTINES