'speed_down' => 'Maximum download speed for this service in Kbps. 0 denotes unlimited.',
'speed_up' => 'Maximum upload speed for this service in Kbps. 0 denotes unlimited.',
'ip_addr' => 'IP address. Leave blank for automatic assignment.',
- 'blocknum' => 'Address block.',
+ 'blocknum' => { 'label' => 'Address block',
+ 'type' => 'select',
+ 'select_table' => 'addr_block',
+ 'select_key' => 'blocknum',
+ 'select_label' => 'cidr',
+ 'disable_inventory' => 1,
+ },
},
};
}
my( $class, $string ) = @_;
if ( $string =~ /^(\d{1,3}\.){3}\d{1,3}$/ ) {
$class->search_sql_field('ip_addr', $string );
+ }elsif ( $string =~ /^([a-fA-F0-9]{12})$/ ) {
+ $class->search_sql_field('mac_addr', uc($string));
+ }elsif ( $string =~ /^(([a-fA-F0-9]{1,2}:){5}([a-fA-F0-9]{1,2}))$/ ) {
+ $class->search_sql_field('mac_addr', uc("$2$3$4$5$6$7") );
} else {
'1 = 0'; #false
}
sub NetAddr {
my $self = shift;
- return new NetAddr::IP ($self->ip_addr);
+ new NetAddr::IP ($self->ip_addr);
}
=item addr_block
sub addr_block {
my $self = shift;
-
- return qsearchs('addr_block', { blocknum => $self->blocknum });
+ qsearchs('addr_block', { blocknum => $self->blocknum });
}
=back
sub allowed_routers {
my $self = shift;
-
- return map { $_->router } qsearch('part_svc_router', { svcpart => $self->svcpart });
+ map { $_->router } qsearch('part_svc_router', { svcpart => $self->svcpart });
}
=head1 BUGS