diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-06-06 10:20:52 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-06-06 10:20:52 -0700 |
commit | e3f0183408387878d3c6989895a8bcb65e395284 (patch) | |
tree | 1eb5b27b8707954dfdf32a11fdf978429eccc57f /FS/FS/cust_main | |
parent | 9c2854f48fb79a5534bbb35c4b7c12b2e6acc0a4 (diff) |
missing piece of #42043
Diffstat (limited to 'FS/FS/cust_main')
-rw-r--r-- | FS/FS/cust_main/Packages.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/FS/FS/cust_main/Packages.pm b/FS/FS/cust_main/Packages.pm index fc5927c..89d25d2 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<FS::cust_pkg>) 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 : {}; |