summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cdr/zintel.pm12
-rw-r--r--FS/FS/svc_Common.pm3
-rw-r--r--FS/FS/tax_rate.pm4
3 files changed, 17 insertions, 2 deletions
diff --git a/FS/FS/cdr/zintel.pm b/FS/FS/cdr/zintel.pm
index 1d2236c38..eb08038ff 100644
--- a/FS/FS/cdr/zintel.pm
+++ b/FS/FS/cdr/zintel.pm
@@ -16,7 +16,17 @@ use Date::Parse;
'accountcode', #customer
'src', #anumber
- 'dst', #bnumber
+ sub { my ($cdr, $dst) = @_; # Handling cosolidated local calls in the CDR formats
+
+ my $src = $cdr->src;
+
+ if ($dst =~ /^64\/U$/) {
+ $cdr->set('dst', $src);
+ } else {
+ $cdr->set('dst', $dst);
+ }
+ }, #bnumber
+
sub { my ($cdr, $calldate) = @_;
$cdr->set('calldate', $calldate);
diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 659255eaa..9c2592213 100644
--- a/FS/FS/svc_Common.pm
+++ b/FS/FS/svc_Common.pm
@@ -807,6 +807,9 @@ If there is an error, returns the error, otherwise returns false.
=cut
sub set_auto_inventory {
+ # don't try to do this during an upgrade
+ return '' if $FS::CurrentUser::upgrade_hack;
+
my $self = shift;
my $old = @_ ? shift : '';
diff --git a/FS/FS/tax_rate.pm b/FS/FS/tax_rate.pm
index 78917a368..9f07f369b 100644
--- a/FS/FS/tax_rate.pm
+++ b/FS/FS/tax_rate.pm
@@ -435,7 +435,9 @@ sub taxline {
my $maxtype = $self->maxtype || 0;
if ($maxtype != 0 && $maxtype != 1
- && $maxtype != 14 && $maxtype != 15) {
+ && $maxtype != 14 && $maxtype != 15
+ && $maxtype != 18 # sigh
+ ) {
return $self->_fatal_or_null( 'tax with "'.
$self->maxtype_name. '" threshold'
);