diff options
author | Mark Wells <mark@freeside.biz> | 2012-04-26 13:25:50 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2012-04-26 13:25:50 -0700 |
commit | 88269174c839d6953f30e2f849bc60327dd10f07 (patch) | |
tree | 251eff55b7185a83429a7591926d4766f72a78ca /FS | |
parent | 3775fafeb19d7dab5f7104e03685ec8dc0d3a8f7 (diff) |
better duplicate checking for ip address, #17515
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Schema.pm | 2 | ||||
-rwxr-xr-x | FS/FS/svc_broadband.pm | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 3894f65f8..d42b946f2 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2556,7 +2556,7 @@ sub tables_hashref { 'plan_id', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'svcnum', - 'unique' => [ [ 'mac_addr' ] ], + 'unique' => [ [ 'ip_addr' ], [ 'mac_addr' ] ], 'index' => [], }, diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index 64cc3770e..82102697d 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -543,9 +543,9 @@ sub _check_ip_addr { sub _check_duplicate { my $self = shift; - - $self->lock_table; - + # Not a reliable check because the table isn't locked, but + # that's why we have a unique index. This is just to give a + # friendlier error message. my @dup; @dup = $self->find_duplicates('global', 'ip_addr'); if ( @dup ) { |