projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
consolidate large numbers of accounts to avoid gigantic line items
[freeside.git]
/
FS
/
FS
/
svc_Common.pm
diff --git
a/FS/FS/svc_Common.pm
b/FS/FS/svc_Common.pm
index
7bc155d
..
cadb997
100644
(file)
--- a/
FS/FS/svc_Common.pm
+++ b/
FS/FS/svc_Common.pm
@@
-49,7
+49,9
@@
sub virtual_fields {
if ($self->svcpart) { # Case 1
$svcpart = $self->svcpart;
if ($self->svcpart) { # Case 1
$svcpart = $self->svcpart;
- } elsif ( $self->svcnum ) { #Case 2
+ } elsif ( $self->svcnum
+ && qsearchs('cust_svc',{'svcnum'=>$self->svcnum} )
+ ) { #Case 2
$svcpart = $self->cust_svc->svcpart;
} else { # Case 3
$svcpart = '';
$svcpart = $self->cust_svc->svcpart;
} else { # Case 3
$svcpart = '';
@@
-118,10
+120,12
@@
sub insert {
return $error if $error;
my $svcnum = $self->svcnum;
return $error if $error;
my $svcnum = $self->svcnum;
- my $cust_svc;
- unless ( $svcnum ) {
+ my $cust_svc = $svcnum ? qsearchs('cust_svc',{'svcnum'=>$self->svcnum}) : '';
+ #unless ( $svcnum ) {
+ if ( !$svcnum or !$cust_svc ) {
$cust_svc = new FS::cust_svc ( {
#hua?# 'svcnum' => $svcnum,
$cust_svc = new FS::cust_svc ( {
#hua?# 'svcnum' => $svcnum,
+ 'svcnum' => $self->svcnum,
'pkgnum' => $self->pkgnum,
'svcpart' => $self->svcpart,
} );
'pkgnum' => $self->pkgnum,
'svcpart' => $self->svcpart,
} );
@@
-132,7
+136,7
@@
sub insert {
}
$svcnum = $self->svcnum($cust_svc->svcnum);
} else {
}
$svcnum = $self->svcnum($cust_svc->svcnum);
} else {
- $cust_svc = qsearchs('cust_svc',{'svcnum'=>$self->svcnum});
+
#
$cust_svc = qsearchs('cust_svc',{'svcnum'=>$self->svcnum});
unless ( $cust_svc ) {
$dbh->rollback if $oldAutoCommit;
return "no cust_svc record found for svcnum ". $self->svcnum;
unless ( $cust_svc ) {
$dbh->rollback if $oldAutoCommit;
return "no cust_svc record found for svcnum ". $self->svcnum;
@@
-308,7
+312,7
@@
sub setx {
#get part_svc
my $svcpart;
#get part_svc
my $svcpart;
- if ( $self->svcnum ) {
+ if ( $self->svcnum
&& qsearchs('cust_svc', {'svcnum'=>$self->svcnum})
) {
my $cust_svc = $self->cust_svc;
return "Unknown svcnum" unless $cust_svc;
$svcpart = $cust_svc->svcpart;
my $cust_svc = $self->cust_svc;
return "Unknown svcnum" unless $cust_svc;
$svcpart = $cust_svc->svcpart;