summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/part_pkg.pm17
-rw-r--r--FS/FS/part_pkg/voip_cdr.pm8
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;
-