summaryrefslogtreecommitdiff
path: root/FS/FS/part_pkg.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-03-04 11:35:52 -0800
committerIvan Kohler <ivan@freeside.biz>2016-03-04 11:35:52 -0800
commitf21e3fcff8667f90efcb262e4290937212a21e95 (patch)
tree63adbb95d3003f518744382d162c28a5b9eccad6 /FS/FS/part_pkg.pm
parente75e33aecdc0a432e57d6dd6278a361e0d3bd950 (diff)
optimize package list on order new package, RT#39822
Diffstat (limited to 'FS/FS/part_pkg.pm')
-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 3adbc06..45bdc62 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