From a61d2e97a458b63f9fefb2099b3845a6a9e4622f Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Sat, 4 Jun 2016 00:16:52 -0500 Subject: [PATCH] RT#42043: Check for cancelled packages with a cancellation date age option [cancelled_pkgs sub, master only, already on v3/4] --- FS/FS/cust_main/Packages.pm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/FS/FS/cust_main/Packages.pm b/FS/FS/cust_main/Packages.pm index fc5927ccd..89d25d232 100644 --- a/FS/FS/cust_main/Packages.pm +++ b/FS/FS/cust_main/Packages.pm @@ -500,6 +500,26 @@ sub ncancelled_pkgs { } +=item cancelled_pkgs [ EXTRA_QSEARCH_PARAMS_HASHREF ] + +Returns all cancelled packages (see L) for this customer. + +=cut + +sub cancelled_pkgs { + my $self = shift; + my $extra_qsearch = ref($_[0]) ? shift : { @_ }; + + return $self->num_cancelled_pkgs($extra_qsearch) unless wantarray; + + $extra_qsearch->{'extra_sql'} .= + ' AND cust_pkg.cancel IS NOT NULL AND cust_pkg.cancel > 0 '; + + local($skip_label_sort) = 1 if $extra_qsearch->{skip_label_sort}; + + sort sort_packages $self->_cust_pkg($extra_qsearch); +} + sub _cust_pkg { my $self = shift; my $extra_qsearch = ref($_[0]) ? shift : {}; -- 2.11.0