projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
shorter names and rearranged weights for a brighter tommorow^W^Wbetter price plan...
[freeside.git]
/
FS
/
FS
/
svc_broadband.pm
diff --git
a/FS/FS/svc_broadband.pm
b/FS/FS/svc_broadband.pm
index
07821f9
..
d123524
100755
(executable)
--- a/
FS/FS/svc_broadband.pm
+++ b/
FS/FS/svc_broadband.pm
@@
-97,7
+97,13
@@
sub table_info {
'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.',
'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,
+ },
},
};
}
},
};
}
@@
-114,6
+120,10
@@
sub search_sql {
my( $class, $string ) = @_;
if ( $string =~ /^(\d{1,3}\.){3}\d{1,3}$/ ) {
$class->search_sql_field('ip_addr', $string );
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
}
} else {
'1 = 0'; #false
}
@@
-200,8
+210,8
@@
sub check {
|| $self->ut_ipn('ip_addr')
|| $self->ut_hexn('mac_addr')
|| $self->ut_hexn('auth_key')
|| $self->ut_ipn('ip_addr')
|| $self->ut_hexn('mac_addr')
|| $self->ut_hexn('auth_key')
- || $self->ut_
sfloatn('latitude'
)
- || $self->ut_
sfloatn('longitude'
)
+ || $self->ut_
coordn('latitude', -90, 90
)
+ || $self->ut_
coordn('longitude', -180, 180
)
|| $self->ut_sfloatn('altitude')
|| $self->ut_textn('vlan_profile')
;
|| $self->ut_sfloatn('altitude')
|| $self->ut_textn('vlan_profile')
;
@@
-210,13
+220,6
@@
sub check {
if($self->speed_up < 0) { return 'speed_up must be positive'; }
if($self->speed_down < 0) { return 'speed_down must be positive'; }
if($self->speed_up < 0) { return 'speed_up must be positive'; }
if($self->speed_down < 0) { return 'speed_down must be positive'; }
- if($self->latitude < -90 || $self->latitude > 90) {
- return 'latitude must be between -90 and 90';
- }
- if($self->longitude < -180 || $self->longitude > 180) {
- return 'longitude must be between -180 and 180';
- }
-
if (not($self->ip_addr) or $self->ip_addr eq '0.0.0.0') {
my $next_addr = $self->addr_block->next_free_addr;
if ($next_addr) {
if (not($self->ip_addr) or $self->ip_addr eq '0.0.0.0') {
my $next_addr = $self->addr_block->next_free_addr;
if ($next_addr) {
@@
-256,7
+259,7
@@
is /32.
sub NetAddr {
my $self = shift;
sub NetAddr {
my $self = shift;
-
return
new NetAddr::IP ($self->ip_addr);
+ new NetAddr::IP ($self->ip_addr);
}
=item addr_block
}
=item addr_block
@@
-267,8
+270,7
@@
Returns the FS::addr_block record (i.e. the address block) for this broadband se
sub addr_block {
my $self = shift;
sub addr_block {
my $self = shift;
-
- return qsearchs('addr_block', { blocknum => $self->blocknum });
+ qsearchs('addr_block', { blocknum => $self->blocknum });
}
=back
}
=back
@@
-281,8
+283,7
@@
Returns a list of allowed FS::router objects.
sub allowed_routers {
my $self = shift;
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
}
=head1 BUGS