summaryrefslogtreecommitdiff
path: root/FS/FS/cust_svc.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/cust_svc.pm')
-rw-r--r--FS/FS/cust_svc.pm36
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;
}