diff options
-rw-r--r-- | FS/FS/part_pkg.pm | 17 | ||||
-rw-r--r-- | FS/FS/part_pkg/voip_cdr.pm | 8 |
2 files changed, 18 insertions, 7 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 4492c40..c088205 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -786,11 +786,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. @@ -2596,4 +2602,3 @@ schema.html from the base documentation. =cut 1; - diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index 8085c19..1fb3bec 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -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; - |