projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
matching CDRs to svc_pbx records by title, RT#8084
[freeside.git]
/
FS
/
FS
/
cdr.pm
diff --git
a/FS/FS/cdr.pm
b/FS/FS/cdr.pm
index
4de7aa3
..
34243fa
100644
(file)
--- a/
FS/FS/cdr.pm
+++ b/
FS/FS/cdr.pm
@@
-324,15
+324,19
@@
sub check {
$self->SUPER::check;
}
$self->SUPER::check;
}
-=item is_tollfree
+=item is_tollfree
[ COLUMN ]
- Returns true when the cdr represents a toll free number and false otherwise.
+Returns true when the cdr represents a toll free number and false otherwise.
+
+By default, inspects the dst field, but an optional column name can be passed
+to inspect other field.
=cut
sub is_tollfree {
my $self = shift;
=cut
sub is_tollfree {
my $self = shift;
- ( $self->dst =~ /^(\+?1)?8(8|([02-7])\3)/ ) ? 1 : 0;
+ my $field = scalar(@_) ? shift : 'dst';
+ ( $self->$field() =~ /^(\+?1)?8(8|([02-7])\3)/ ) ? 1 : 0;
}
=item set_charged_party
}
=item set_charged_party
@@
-361,6
+365,11
@@
sub set_charged_party {
if $conf->exists('cdr-charged_party-accountcode-trim_leading_0s');
$self->charged_party( $charged_party );
if $conf->exists('cdr-charged_party-accountcode-trim_leading_0s');
$self->charged_party( $charged_party );
+ } elsif ( $conf->exists('cdr-charged_party-field') ) {
+
+ my $field = $conf->config('cdr-charged_party-field');
+ $self->charged_party( $self->$field() );
+
} else {
if ( $self->is_tollfree ) {
} else {
if ( $self->is_tollfree ) {