X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FValidateCustomFields;h=55c1fcebbb21f1b80bf5b8b58cc2efbe8ac31dca;hp=7b0469bde1bc79f032abbeb5ca2a3caa97838d5e;hb=919e930aa9279b3c5cd12b593889cd6de79d67bf;hpb=7588a4ac90a9b07c08a3107cd1107d773be1c991 diff --git a/rt/share/html/Elements/ValidateCustomFields b/rt/share/html/Elements/ValidateCustomFields index 7b0469bde..55c1fcebb 100644 --- a/rt/share/html/Elements/ValidateCustomFields +++ b/rt/share/html/Elements/ValidateCustomFields @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -83,27 +83,12 @@ while ( my $CF = $CustomFields->Next ) { for my $value( @values ) { if ($value) { - if ( $CF->Type eq 'IPAddress' ) { - use Regexp::Common qw(RE_net_IPv4); - my $ip = RT::ObjectCustomFieldValue->ParseIP( $value ); - unless ( $ip ) { - my $msg = - loc( "Input can not be parsed as an IP address" ); - $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); - push @res, $msg; - $valid = 0; - } - } - elsif ( $CF->Type eq 'IPAddressRange' ) { - my ( $start_ip, $end_ip ) = - RT::ObjectCustomFieldValue->ParseIPRange($value); - unless ( $start_ip && $end_ip ) { - my $msg = - loc( "Input can not be parsed as an IP address range" ); - $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); - push @res, $msg; - $valid = 0; - } + my $ref = { Content => $value }; + my ($ok, $msg) = $CF->_CanonicalizeValue( $ref ); + unless ($ok) { + $m->notes( ( 'InvalidField-' . $CF->Id ) => $msg ); + push @res, $msg; + $valid = 0; } }