[Rt-commit] r6120 - in rtir/branches/2.1-EXPERIMENTAL: .
jesse at bestpractical.com
jesse at bestpractical.com
Fri Sep 29 11:28:37 EDT 2006
Author: jesse
Date: Fri Sep 29 11:28:36 2006
New Revision: 6120
Modified:
rtir/branches/2.1-EXPERIMENTAL/ (props changed)
rtir/branches/2.1-EXPERIMENTAL/lib/RT/Action/RTIR_FindIP.pm
Log:
r27943 at 249: jesse | 2006-09-29 11:28:30 -0400
* Skip duplicated addresses when adding them to the IPs field
Modified: rtir/branches/2.1-EXPERIMENTAL/lib/RT/Action/RTIR_FindIP.pm
==============================================================================
--- rtir/branches/2.1-EXPERIMENTAL/lib/RT/Action/RTIR_FindIP.pm (original)
+++ rtir/branches/2.1-EXPERIMENTAL/lib/RT/Action/RTIR_FindIP.pm Fri Sep 29 11:28:36 2006
@@ -29,16 +29,23 @@
my $cf = $ticket->LoadCustomFieldByIdentifier('_RTIR_IP');
return 1 unless $cf && $cf->id;
+ my %existing;
+ for( @{$cf->ValuesForObject($ticket)->ItemsArrayRef} ) {
+ $existing{$_->Content} = 1;
+
+ }
my $attach = $self->TransactionObj->ContentObj;
return 1 unless $attach && $attach->id;
my @IPs = ( $attach->Content =~ /($RE{net}{IPv4})/go );
- foreach ( @IPs ) {
+ foreach my $ip ( @IPs ) {
+ next if ($existing{$ip}); # skip any IP we already had.
my ($status, $msg) = $ticket->AddCustomFieldValue(
- Value => $_,
+ Value => $ip,
Field => $cf,
);
$RT::Logger->error("Couldn't add CF value: $msg") unless $status;
+ $existing{$ip} = 1;
}
my @CIDRs = ( $attach->Content =~ /$RE{net}{CIDR}{IPv4}{-keep}/go );
More information about the Rt-commit
mailing list