X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_broadband.pm;h=9cd08594221e950270ff0b80f17151ff8add799e;hb=58dfeb5412c54d676119d1c6b8a9ff7edde7e234;hp=6073902e8789fc2830eca0978a2042e229626654;hpb=6027eeaf77eb9f7e55a60ed551d41fe804433e2e;p=freeside.git diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index 6073902e8..9cd085942 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -2,9 +2,11 @@ package FS::svc_broadband; use base qw( FS::svc_Radius_Mixin FS::svc_Tower_Mixin + FS::svc_Torrus_Mixin FS::svc_IP_Mixin + FS::svc_MAC_Mixin FS::svc_Common - ); +); use strict; use vars qw($conf); @@ -101,11 +103,20 @@ sub table_info { 'display_weight' => 50, 'cancel_weight' => 70, 'ip_field' => 'ip_addr', + 'manual_require' => 1, 'fields' => { 'svcnum' => 'Service', 'description' => 'Descriptive label', - 'speed_down' => 'Download speed (Kbps)', - 'speed_up' => 'Upload speed (Kbps)', + 'speed_up' => { + 'label' => 'Upload speed (Kbps)', + 'type' => 'fcc_477_speed', + 'def_info' => 'both upload and download speed must be set to FCC 477 information if using that modifier', + }, + 'speed_down' => { + 'label' => 'Download speed (Kbps)', + 'type' => 'fcc_477_speed', + 'def_info' => 'both upload and download speed must be set to FCC 477 information if using that modifier', + }, 'ip_addr' => 'IP address', 'blocknum' => { 'label' => 'Address block', @@ -131,6 +142,7 @@ sub table_info { #select_table => 'radius_group', #select_key => 'groupnum', #select_label => 'groupname', + disable_select => 1, disable_inventory => 1, multiple => 1, }, @@ -143,6 +155,10 @@ sub table_info { type => 'search-svc_broadband', disable_inventory => 1, }, + 'serviceid' => 'Torrus serviceid', #but is should be hidden + 'speed_test_up' => { 'label' => 'Speed test upload (Kbps)' }, + 'speed_test_down' => { 'label' => 'Speed test download (Kbps)' }, + 'speed_test_latency' => 'Speed test latency (ms)', }, }; } @@ -262,7 +278,7 @@ sub smart_search { =item label -Returns the IP address. +Returns the IP address, MAC address and description. =cut @@ -348,6 +364,8 @@ sub check { || $self->ut_textn('description') || $self->ut_numbern('speed_up') || $self->ut_numbern('speed_down') + || $self->ut_numbern('speed_test_up') + || $self->ut_numbern('speed_test_down') || $self->ut_ipn('ip_addr') || $self->ut_hexn('mac_addr') || $self->ut_hexn('auth_key') @@ -362,6 +380,7 @@ sub check { || $self->ut_snumbern('rssi') || $self->ut_numbern('suid') || $self->ut_foreign_keyn('shared_svcnum', 'svc_broadband', 'svcnum') + || $self->ut_textn('serviceid') #too lenient? ; return $error if $error; @@ -419,22 +438,6 @@ sub _check_duplicate { ''; } -=item mac_addr_formatted CASE DELIMITER - -Format the MAC address (for use by exports). If CASE starts with "l" -(for "lowercase"), it's returned in lowercase. DELIMITER is inserted -between octets. - -=cut - -sub mac_addr_formatted { - my $self = shift; - my ($case, $delim) = @_; - my $addr = $self->mac_addr; - $addr = lc($addr) if $case =~ /^l/i; - join( $delim || '', $addr =~ /../g ); -} - #class method sub _upgrade_data { my $class = shift; @@ -534,4 +537,3 @@ FS::part_svc, schema.html from the base documentation. =cut 1; -