[freeside-commits] branch master updated. dc2442a29ef550dea824e52f348a45c92b7710b4

Ivan ivan at 420.am
Thu Dec 20 02:45:27 PST 2012


The branch, master has been updated
       via  dc2442a29ef550dea824e52f348a45c92b7710b4 (commit)
      from  2ee09c1343daa939da146c102dbca72f0a98d2bf (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 dc2442a29ef550dea824e52f348a45c92b7710b4
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Thu Dec 20 02:44:59 2012 -0800

    use_carrierid now accepts multiple values, RT#20706

diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm
index 01fb99f..84b00e9 100644
--- a/FS/FS/part_pkg/voip_cdr.pm
+++ b/FS/FS/part_pkg/voip_cdr.pm
@@ -149,7 +149,7 @@ tie my %unrateable_opts, 'Tie::IxHash',
                         'type' => 'checkbox',
                       },
 
-    'use_carrierid' => { 'name' => 'Only charge for CDRs where the Carrier ID is set to: ',
+    'use_carrierid' => { 'name' => 'Only charge for CDRs where the Carrier ID is set to any of these (comma-separated) values: ',
                          },
 
     'use_cdrtypenum' => { 'name' => 'Only charge for CDRs where the CDR Type is set to: ',
@@ -466,11 +466,11 @@ sub check_chargable {
   return 'amaflags != 2'
     if $self->option_cacheable('use_amaflags') && $cdr->amaflags != 2;
 
-  return "disposition NOT IN ( $self->option_cacheable('disposition_in') )"
+  return "disposition NOT IN ( ". $self->option_cacheable('disposition_in')." )"
     if $self->option_cacheable('disposition_in') =~ /\S/
     && !grep { $cdr->disposition eq $_ } split(/\s*,\s*/, $self->option_cacheable('disposition_in'));
   
-  return "disposition IN ( $self->option_cacheable('ignore_disposition') )"
+  return "disposition IN ( ". $self->option_cacheable('ignore_disposition')." )"
     if $self->option_cacheable('ignore_disposition') =~ /\S/
     && grep { $cdr->disposition eq $_ } split(/\s*,\s*/, $self->option_cacheable('ignore_disposition'));
 
@@ -479,26 +479,26 @@ sub check_chargable {
     if length($_) && substr($cdr->dst,0,length($_)) eq $_;
   }
 
-  return "carrierid != $self->option_cacheable('use_carrierid')"
-    if length($self->option_cacheable('use_carrierid'))
-    && $cdr->carrierid ne $self->option_cacheable('use_carrierid') #ne otherwise 0 matches ''
+  return "carrierid NOT IN ( ". $self->option_cacheable('use_carrierid'). " )"
+    if $self->option_cacheable('use_carrierid') =~ /\S/
+    && !grep { $cdr->carrierid eq $_ } split(/\s*,\s*/, $self->option_cacheable('use_carrierid')) #eq otherwise 0 matches ''
     && ! $flags{'da_rewrote'};
 
   # unlike everything else, use_cdrtypenum is applied in FS::svc_x::get_cdrs.
-  return "cdrtypenum != $self->option_cacheable('use_cdrtypenum')"
+  return "cdrtypenum != ". $self->option_cacheable('use_cdrtypenum')
     if length($self->option_cacheable('use_cdrtypenum'))
     && $cdr->cdrtypenum ne $self->option_cacheable('use_cdrtypenum'); #ne otherwise 0 matches ''
   
-  return "cdrtypenum == $self->option_cacheable('ignore_cdrtypenum')"
+  return "cdrtypenum == ". $self->option_cacheable('ignore_cdrtypenum')
     if length($self->option_cacheable('ignore_cdrtypenum'))
     && $cdr->cdrtypenum eq $self->option_cacheable('ignore_cdrtypenum'); #eq otherwise 0 matches ''
 
-  return "dcontext IN ( $self->option_cacheable('skip_dcontext') )"
+  return "dcontext IN ( ". $self->option_cacheable('skip_dcontext'). " )"
     if $self->option_cacheable('skip_dcontext') =~ /\S/
     && grep { $cdr->dcontext eq $_ } split(/\s*,\s*/, $self->option_cacheable('skip_dcontext'));
 
   my $len_prefix = length($self->option_cacheable('skip_dstchannel_prefix'));
-  return "dstchannel starts with $self->option_cacheable('skip_dstchannel_prefix')"
+  return "dstchannel starts with ". $self->option_cacheable('skip_dstchannel_prefix')
     if $len_prefix
     && substr($cdr->dstchannel,0,$len_prefix) eq $self->option_cacheable('skip_dstchannel_prefix');
 
@@ -509,7 +509,7 @@ sub check_chargable {
             && $cdr->is_tollfree('accountcode')
          );
 
-  return "lastapp is $self->option_cacheable('skip_lastapp')"
+  return "lastapp is ". $self->option_cacheable('skip_lastapp')
     if length($self->option_cacheable('skip_lastapp')) && $cdr->lastapp eq $self->option_cacheable('skip_lastapp');
 
   my $src_length = $self->option_cacheable('skip_src_length_more');

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

Summary of changes:
 FS/FS/part_pkg/voip_cdr.pm |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)




More information about the freeside-commits mailing list