|| $self->ut_number('pkgnum', 'cust_pkg', 'pkgnum' )
|| $self->ut_foreign_key('locationnum', 'cust_location', 'locationnum' )
|| $self->ut_money('amount')
- || $self->ut_foreign_key('taxable_billpkgnum', 'cust_bill_pkg', 'billpkgnum')
+ || $self->ut_foreign_keyn('taxable_billpkgnum', 'cust_bill_pkg', 'billpkgnum')
;
return $error if $error;
|| $self->ut_number('pkgnum', 'cust_pkg', 'pkgnum' )
|| $self->ut_foreign_key('locationnum', 'cust_location', 'locationnum' )
|| $self->ut_money('amount')
- || $self->ut_foreign_key('taxable_billpkgnum', 'cust_bill_pkg_void', 'billpkgnum')
+ || $self->ut_foreign_keyn('taxable_billpkgnum', 'cust_bill_pkg_void', 'billpkgnum')
;
return $error if $error;
my $error;
# fix voids with tax from before July 2013, when the taxable_billpkgnum
# field was added to the void table
+ local $FS::Record::nowarn_classload = 1;
my $search = FS::Cursor->new({
'table' => 'cust_bill_pkg_tax_location_void',
'hashref' => { 'taxable_billpkgnum' => '' }
my $unvoid = qsearchs({
'table' => 'h_cust_bill_pkg_tax_location',
'hashref' => { 'billpkgtaxlocationnum' => $num },
+ 'extra_sql' => ' AND taxable_billpkgnum IS NOT NULL',
'order_by' => ' ORDER BY history_date DESC LIMIT 1'
});
if (!$unvoid) {
# should never happen
- die "billpkgtaxlocationnum $num: could not find pre-void history record to restore taxable_billpkgnum.";
+ # but should this be fatal? or wait until someone actually tries to
+ # use the record?
+ warn "billpkgtaxlocationnum $num: could not find pre-void history record to restore taxable_billpkgnum.";
}
if ($unvoid) {
$void->set('taxable_billpkgnum', $unvoid->taxable_billpkgnum);
<A HREF="<% $p.'view/cust_main.cgi?custnum=' . $cust_main->custnum .
($view ? ";show=$view" : '') . '#notes'
%>"><I>(<% mt('Show active attachments') |h %>)</I></A>
-% } elsif($curuser->access_right('View deleted attachments')) {
+% } elsif ( $curuser->access_right('View deleted attachments')
+% && FS::Record->scalar_sql(
+% 'SELECT 1 FROM cust_attachment WHERE custnum = ? '.
+% ' AND disabled IS NOT NULL AND disabled > 0 LIMIT 1',
+% $custnum )
+% )
+% {
<A HREF="<% $p.'view/cust_main.cgi?custnum=' . $cust_main->custnum .
($view ? ";show=$view" : '') . ';show_deleted=1#notes'
%>"><I>(<% mt('Show deleted attachments') |h %>)</I></A>