From: Jonathan Prykop Date: Tue, 5 Jul 2016 23:35:41 +0000 (-0500) Subject: RT#17599: display cancelled services from history [bug fixes] X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=7d38afc8a7175c836721400f3b08f84f1c20ea4f RT#17599: display cancelled services from history [bug fixes] --- diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 4ad963956..661625725 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1265,7 +1265,13 @@ sub uncancel_svc_summary { 'uncancel_svcnum' => $svc_x->get('_h_svc_x')->svcnum, }; $svc_x->pkgnum($self->pkgnum); # provisioning services on a canceled package, will be rolled back - if ($opt{'no_test_reprovision'} or $svc_x->insert) { + my $insert_error; + unless ($opt{'no_test_reprovision'}) { + # avoid possibly fatal errors from missing linked records + eval { $insert_error = $svc_x->insert }; + $insert_error ||= $@; + } + if ($opt{'no_test_reprovision'} or $insert_error) { # avoid possibly fatal errors from missing linked records eval { $out->{'label'} = $svc_x->label }; eval { $out->{'label'} = $svc_x->get('_h_svc_x')->label } unless defined($out->{'label'}); diff --git a/FS/FS/h_svc_acct.pm b/FS/FS/h_svc_acct.pm index 6e127a29e..6bc55ebc8 100644 --- a/FS/FS/h_svc_acct.pm +++ b/FS/FS/h_svc_acct.pm @@ -29,6 +29,7 @@ FS::h_svc_acct - Historical account objects sub svc_domain { my $self = shift; local($FS::Record::qsearch_qualify_columns) = 0; + $_[0] ||= $self->history_date; qsearchs( 'h_svc_domain', { 'svcnum' => $self->domsvc }, FS::h_svc_domain->sql_h_searchs(@_), diff --git a/FS/FS/h_svc_forward.pm b/FS/FS/h_svc_forward.pm index 7f6a5cca8..bc24fe911 100644 --- a/FS/FS/h_svc_forward.pm +++ b/FS/FS/h_svc_forward.pm @@ -35,6 +35,7 @@ sub srcsvc_acct { local($FS::Record::qsearch_qualify_columns) = 0; + $_[0] ||= $self->history_date; my $h_svc_acct = qsearchs( 'h_svc_acct', { 'svcnum' => $self->srcsvc }, @@ -58,6 +59,7 @@ sub dstsvc_acct { local($FS::Record::qsearch_qualify_columns) = 0; + $_[0] ||= $self->history_date; my $h_svc_acct = qsearchs( 'h_svc_acct', { 'svcnum' => $self->dstsvc }, diff --git a/FS/FS/h_svc_www.pm b/FS/FS/h_svc_www.pm index e719f1b47..d3f9811a4 100644 --- a/FS/FS/h_svc_www.pm +++ b/FS/FS/h_svc_www.pm @@ -34,6 +34,7 @@ sub domain_record { carp 'Called FS::h_svc_www->domain_record on svcnum ' . $self->svcnum if $DEBUG; local($FS::Record::qsearch_qualify_columns) = 0; + $_[0] ||= $self->history_date; my $domain_record = qsearchs( 'h_domain_record', { 'recnum' => $self->recnum },