RT# 79549 Requre a Rate Plan to use voip_cdr Price Plan
authorMitch Jackson <mitch@freeside.biz>
Sat, 17 Feb 2018 00:13:27 +0000 (18:13 -0600)
committerMitch Jackson <mitch@freeside.biz>
Sat, 17 Feb 2018 00:21:50 +0000 (18:21 -0600)
FS/FS/part_pkg.pm
FS/FS/part_pkg/voip_cdr.pm

index da53715..fb05706 100644 (file)
@@ -787,11 +787,17 @@ sub check {
 
 =item check_options
 
-For a passed I<$options> hashref, validates any options that
-have 'validate' subroutines defined in the info hash, 
-then validates the entire hashref if the price plan has 
-its own 'validate' subroutine defined in the info hash 
-(I<$options> values might be altered.)  
+Pass an I<$options> hashref that contains the values to be
+inserted or updated for any FS::part_pkg::MODULE.pm.
+
+For each key in I<$options>, validates the value by calling
+the 'validate' subroutine defined for that option e.g.
+FS::part_pkg::MODULE::plan_info()->{$KEY}->{validate}.  The
+option validation function is only called when the hashkey for
+that option exists in I<$options>.
+
+Then the module validation function is called, from
+FS::part_pkg::MODULE::plan_info()->{validate}
 
 Returns error message, or empty string if valid.
 
@@ -2610,4 +2616,3 @@ schema.html from the base documentation.
 =cut
 
 1;
-
index 8085c19..1fb3bec 100644 (file)
@@ -360,6 +360,13 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash',
                      )
                   ],
   'weight' => 41,
+  'validate' => sub {
+    # Validation function for FS::part_pkg::check_options()
+    my $options = shift;
+    return "Please select a rate plan for price plan VoIP/telco CDR rating (standard)"
+      unless $options->{ratenum};
+    return;
+  },
 );
 
 sub price_info {
@@ -724,4 +731,3 @@ sub hide_svc_detail {
 
 
 1;
-