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, 26 May 2018 21:04:29 +0000 (21:04 +0000)
FS/FS/part_pkg.pm
FS/FS/part_pkg/voip_cdr.pm

index 5f7c831..cad7614 100644 (file)
@@ -671,11 +671,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.
 
@@ -2201,4 +2207,3 @@ schema.html from the base documentation.
 =cut
 
 1;
-
index 2d8c359..8702926 100644 (file)
@@ -371,6 +371,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 {
@@ -754,4 +761,3 @@ sub hide_svc_detail {
 
 
 1;
-