diff options
author | ivan <ivan> | 2004-09-04 10:02:51 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-09-04 10:02:51 +0000 |
commit | 47d18732ecb7f43fbed2c8f94226c509fe887a53 (patch) | |
tree | 670587aba588e7f642ff83365d12b4f40aa230f2 | |
parent | 4f9e876b1e2549e09bafc85289951bbb973194aa (diff) |
first try at duplicate checking on new export associations
-rw-r--r-- | FS/FS/export_svc.pm | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/FS/FS/export_svc.pm b/FS/FS/export_svc.pm index 9a7178e6e..f610b3c79 100644 --- a/FS/FS/export_svc.pm +++ b/FS/FS/export_svc.pm @@ -86,6 +86,13 @@ sub insert { return $error if $error; #check for duplicates! +#TODO: +#- XXX here +# +#- have edit/process/part_svc.cgi redirect with error back to +#edit/part_svc.cgi rather than eidiot out +# +#- rewrite in SQL for efficiency my $label = ''; my $method = ''; @@ -105,11 +112,14 @@ sub insert { warn "WARNING: XXX fill in this warning"; } + #warn "$method\n"; if ( $method ) { my @current_svc = $self->part_export->svc_x; + #warn "current: ". scalar(@current_svc). " $current_svc[0]\n"; my @new_svc = $self->part_svc->svc_x; + #warn "new: ". scalar(@new_svc). " $new_svc[0]\n"; my %cur_svc = map { $_->$method() => 1 } @current_svc; - my @dup_svc = grep { $cur_svc{$_->method()} } @new_svc; + my @dup_svc = grep { $cur_svc{$_->$method()} } @new_svc; if ( @dup_svc ) { #aye, that's the rub #error out for now, eventually accept different options of adjustments @@ -117,10 +127,10 @@ sub insert { $dbh->rollback if $oldAutoCommit; return "Can't export ". $self->part_svc->svcpart.':'.$self->part_svc->svc. " service to ". - $self->part_export->exportnum.':'.$self->exporttype. - ' on '. $self->machine. - " : Duplicate $label: ". - join(', ', sort map { $_->method() } @dup_svc ); + $self->part_export->exportnum.':'.$self->part_export->exporttype. + ' on '. $self->part_export->machine. + ' : '. scalar(@dup_svc). " duplicate $label: ". + join(', ', sort map { $_->$method() } @dup_svc ); #XXX eventually a sort sub so usernames and domains are default alpha, username@domain is domain first then username, and uid is numeric } } |