X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_broadband.pm;h=d05ae72d08748afc82ed9eb57052f82605140e47;hp=e295f73ccbb7d4c330305f88ba0ec89dc3a66235;hb=5372897f367498972c96f5494e142e6e11b29eb8;hpb=775753ee1cba22aaeb81ae9caa94e8bc48660650 diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index e295f73cc..d05ae72d0 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -96,6 +96,8 @@ points to. You can ask the object for a copy with the I method. =cut sub table_info { + my $conf = new FS::Conf; + my $ip_addr_required = $conf->exists('svc_broadband-allow_null_ip_addr') ? '' : '1'; { 'name' => 'Wireless broadband', 'name_plural' => 'Wireless broadband services', @@ -103,18 +105,30 @@ 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)', - 'ip_addr' => 'IP address', - 'blocknum' => - { 'label' => 'Address block', - 'type' => 'select', - 'select_table' => 'addr_block', - 'select_key' => 'blocknum', - 'select_label' => 'cidr', + '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' => { + 'label' => 'IP address', + 'required' => $ip_addr_required, + }, + 'blocknum' => { + 'label' => 'Address block', + 'type' => 'select', + 'select_table' => 'addr_block', + 'select_key' => 'blocknum', + 'select_label' => 'cidr', 'disable_inventory' => 1, }, 'plan_id' => 'Service Plan Id', @@ -133,6 +147,7 @@ sub table_info { #select_table => 'radius_group', #select_key => 'groupnum', #select_label => 'groupname', + disable_select => 1, disable_inventory => 1, multiple => 1, }, @@ -146,6 +161,9 @@ sub table_info { 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)', }, }; } @@ -351,6 +369,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') @@ -500,6 +520,11 @@ sub _upgrade_data { #next SVC; } + require FS::Misc::FixIPFormat; + FS::Misc::FixIPFormat::fix_bad_addresses_in_table( + 'svc_broadband', 'svcnum', 'ip_addr', + ); + ''; } @@ -522,4 +547,3 @@ FS::part_svc, schema.html from the base documentation. =cut 1; -