projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rate tiers for vnes, RT#14903
[freeside.git]
/
FS
/
FS
/
cdr.pm
diff --git
a/FS/FS/cdr.pm
b/FS/FS/cdr.pm
index
e7b6e6c
..
850f797
100644
(file)
--- a/
FS/FS/cdr.pm
+++ b/
FS/FS/cdr.pm
@@
-401,13
+401,15
@@
error, otherwise returns false.
sub set_status_and_rated_price {
my($self, $status, $rated_price, $svcnum, %opt) = @_;
sub set_status_and_rated_price {
my($self, $status, $rated_price, $svcnum, %opt) = @_;
- if($opt{'inbound'}) {
+
+ if ($opt{'inbound'}) {
+
my $term = qsearchs('cdr_termination', {
acctid => $self->acctid,
termpart => 1 # inbound
});
my $error;
my $term = qsearchs('cdr_termination', {
acctid => $self->acctid,
termpart => 1 # inbound
});
my $error;
- if
($term
) {
+ if
( $term
) {
warn "replacing existing cdr status (".$self->acctid.")\n" if $term;
$error = $term->delete;
return $error if $error;
warn "replacing existing cdr status (".$self->acctid.")\n" if $term;
$error = $term->delete;
return $error if $error;
@@
-419,13
+421,19
@@
sub set_status_and_rated_price {
status => $status,
svcnum => $svcnum,
});
status => $status,
svcnum => $svcnum,
});
+ $term->rated_seconds($opt{rated_seconds}) if exists($opt{rated_seconds});
+ $term->rated_minutes($opt{rated_minutes}) if exists($opt{rated_minutes});
return $term->insert;
return $term->insert;
- }
- else {
+
+ } else {
+
$self->freesidestatus($status);
$self->rated_price($rated_price);
$self->freesidestatus($status);
$self->rated_price($rated_price);
+ $self->rated_seconds($opt{rated_seconds}) if exists($opt{rated_seconds});
+ $self->rated_minutes($opt{rated_minutes}) if exists($opt{rated_minutes});
$self->svcnum($svcnum) if $svcnum;
return $self->replace();
$self->svcnum($svcnum) if $svcnum;
return $self->replace();
+
}
}
}
}
@@
-642,6
+650,20
@@
sub export_formats {
return %export_formats;
}
return %export_formats;
}
+=item downstream_csv OPTION => VALUE ...
+
+Options:
+
+format
+
+charge
+
+seconds
+
+granularity
+
+=cut
+
sub downstream_csv {
my( $self, %opt ) = @_;
sub downstream_csv {
my( $self, %opt ) = @_;
@@
-948,6
+970,14
@@
sub batch_import {
my $iopt = _import_options;
$opt->{$_} = $iopt->{$_} foreach keys %$iopt;
my $iopt = _import_options;
$opt->{$_} = $iopt->{$_} foreach keys %$iopt;
+ if ( defined $opt->{'cdrtypenum'} ) {
+ $opt->{'preinsert_callback'} = sub {
+ my($record,$param) = (shift,shift);
+ $record->cdrtypenum($opt->{'cdrtypenum'});
+ '';
+ };
+ }
+
FS::Record::batch_import( $opt );
}
FS::Record::batch_import( $opt );
}