diff options
Diffstat (limited to 'FS/FS/cust_svc.pm')
-rw-r--r-- | FS/FS/cust_svc.pm | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm index 51fc18688..f16856779 100644 --- a/FS/FS/cust_svc.pm +++ b/FS/FS/cust_svc.pm @@ -642,6 +642,17 @@ CDRs are associated with svc_phone services via svc_phone.phonenum sub get_cdrs_for_update { my($self, %options) = @_; + my @cdrs = $self->get_cdrs_fromfield('charged_party', %options); + + push @cdrs, $self->get_cdrs_fromfield('src', %options) + unless $options{'disable_src'}; + + @cdrs; +} + +sub get_cdrs_fromfield { + my($self, $field, %options) = @_; + my $default_prefix = $options{'default_prefix'}; #CDRs are now associated with svc_phone services via svc_phone.phonenum @@ -653,7 +664,7 @@ sub get_cdrs_for_update { qsearch( { 'table' => 'cdr', 'hashref' => { 'freesidestatus' => '', - 'charged_party' => $number + $field => $number }, 'extra_sql' => 'FOR UPDATE', } ); @@ -663,33 +674,12 @@ sub get_cdrs_for_update { qsearch( { 'table' => 'cdr', 'hashref' => { 'freesidestatus' => '', - 'charged_party' => "$default_prefix$number", + $field => "$default_prefix$number", }, 'extra_sql' => 'FOR UPDATE', } ); } - #astricon hack? config option? - push @cdrs, - qsearch( { - 'table' => 'cdr', - 'hashref' => { 'freesidestatus' => '', - 'src' => $number, - }, - 'extra_sql' => 'FOR UPDATE', - } ); - - if ( length($default_prefix) ) { - push @cdrs, - qsearch( { - 'table' => 'cdr', - 'hashref' => { 'freesidestatus' => '', - 'src' => "$default_prefix$number", - }, - 'extra_sql' => 'FOR UPDATE', - } ); - } - @cdrs; } |