[freeside-commits] branch master updated. ee80999cdda29f1f8ff8dd0c91f5fd51e29e6985

Ivan ivan at 420.am
Wed Dec 26 16:51:01 PST 2012


The branch, master has been updated
       via  ee80999cdda29f1f8ff8dd0c91f5fd51e29e6985 (commit)
      from  fed4da7a88ca7255b4945589286fe6f8bc63cd79 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ee80999cdda29f1f8ff8dd0c91f5fd51e29e6985
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Dec 26 16:51:00 2012 -0800

    add condition: Customer has a referring customer with uncancelled specific package(s), RT#20143

diff --git a/FS/FS/part_event/Condition/has_referral_pkgpart.pm b/FS/FS/part_event/Condition/has_referral_pkgpart.pm
new file mode 100644
index 0000000..60ba7cc
--- /dev/null
+++ b/FS/FS/part_event/Condition/has_referral_pkgpart.pm
@@ -0,0 +1,38 @@
+package FS::part_event::Condition::has_referral_pkgpart;
+use base qw( FS::part_event::Condition );
+
+#maybe i should be incorporated in has_referral_custnum
+
+use strict;
+
+sub description { 'Customer has a referring customer with uncancelled specific package(s)'; }
+
+sub option_fields {
+  ( 
+    'if_pkgpart' => { 'label'    => 'Only packages: ',
+                      'type'     => 'select-part_pkg',
+                      'multiple' => 1,
+                    },
+  );
+}
+
+sub condition {
+  my($self, $object, %opt) = @_;
+
+  my $cust_main = $self->cust_main($object);
+
+  return 0 unless $cust_main->referral_custnum;
+  
+  my $if_pkgpart = $self->option('if_pkgpart') || {};
+  grep $if_pkgpart->{ $_->pkgpart },
+    $cust_main->referral_custnum_cust_main->ncancelled_pkgs;
+                                            #maybe billing_pkgs
+}
+
+#XXX 
+#sub condition_sql {
+#
+#}
+
+1;
+

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/part_event/Condition/has_referral_pkgpart.pm |   38 ++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 FS/FS/part_event/Condition/has_referral_pkgpart.pm




More information about the freeside-commits mailing list