summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2005-02-14 04:08:46 +0000
committerivan <ivan>2005-02-14 04:08:46 +0000
commit95bde106219526479826d9ea0d3ad85ba850867b (patch)
treee5a2dfbd945c59c21219685ae6300c8c7fd90f67
parentb3b2c984a3538c7e8c4c56f18a65c1a3cd8e1ff7 (diff)
backport duplicate checking fixes to 1.4
-rw-r--r--FS/FS/svc_acct.pm13
1 files changed, 6 insertions, 7 deletions
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index 626c13f92..91b51620d 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -845,20 +845,19 @@ sub _check_duplicate {
or die dbh->errstr;
warn "$me acquired svc_acct table lock for duplicate search" if $DEBUG;
- my $svcpart = $self->svcpart;
- my $part_svc = qsearchs('part_svc', { 'svcpart' => $svcpart } );
+ my $part_svc = qsearchs('part_svc', { 'svcpart' => $self->svcpart } );
unless ( $part_svc ) {
return 'unknown svcpart '. $self->svcpart;
}
my $global_unique = $conf->config('global_unique-username');
- my @dup_user = grep { $svcpart != $_->svcpart }
+ my @dup_user = grep { !$self->svcnum || $_->svcnum != $self->svcnum }
qsearch( 'svc_acct', { 'username' => $self->username } );
return gettext('username_in_use')
if $global_unique eq 'username' && @dup_user;
- my @dup_userdomain = grep { $svcpart != $_->svcpart }
+ my @dup_userdomain = grep { !$self->svcnum || $_->svcnum != $self->svcnum }
qsearch( 'svc_acct', { 'username' => $self->username,
'domsvc' => $self->domsvc } );
return gettext('username_in_use')
@@ -867,7 +866,7 @@ sub _check_duplicate {
my @dup_uid;
if ( $part_svc->part_svc_column('uid')->columnflag ne 'F'
&& $self->username !~ /^(toor|(hyla)?fax)$/ ) {
- @dup_uid = grep { $svcpart != $_->svcpart }
+ @dup_uid = grep { !$self->svcnum || $_->svcnum != $self->svcnum }
qsearch( 'svc_acct', { 'uid' => $self->uid } );
} else {
@dup_uid = ();
@@ -928,8 +927,8 @@ sub _check_duplicate {
my $dup_svcpart = $dup_uid->cust_svc->svcpart;
if ( exists($conflict_user_svcpart{$dup_svcpart})
|| exists($conflict_userdomain_svcpart{$dup_svcpart}) ) {
- return "duplicate uid: conflicts with svcnum". $dup_uid->svcnum.
- "via exportnum ". $conflict_user_svcpart{$dup_svcpart}
+ return "duplicate uid: conflicts with svcnum ". $dup_uid->svcnum.
+ " via exportnum ". $conflict_user_svcpart{$dup_svcpart}
|| $conflict_userdomain_svcpart{$dup_svcpart};
}
}