From 79437a9f5d2e0fc41b40b2e5dd985181af3100cc Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Wed, 1 Aug 2018 15:22:48 -0400 Subject: RT# 78356 - created script to cycle thru svc_broadband and move speed field values. --- FS/FS/svc_broadband.pm | 6 +++-- bin/move_svc_broadband_speeds.pl | 52 +++++++++++++++++++++++++++++++++++++++ httemplate/view/svc_broadband.cgi | 3 +++ 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 bin/move_svc_broadband_speeds.pl diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index 11e3331a0..9cd085942 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -156,8 +156,8 @@ sub table_info { disable_inventory => 1, }, 'serviceid' => 'Torrus serviceid', #but is should be hidden - 'speed_test_up' => 'Speed test download (Kbps)', - 'speed_test_down' => 'Speed test upload (Kbps)', + 'speed_test_up' => { 'label' => 'Speed test upload (Kbps)' }, + 'speed_test_down' => { 'label' => 'Speed test download (Kbps)' }, 'speed_test_latency' => 'Speed test latency (ms)', }, }; @@ -364,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') diff --git a/bin/move_svc_broadband_speeds.pl b/bin/move_svc_broadband_speeds.pl new file mode 100644 index 000000000..fed405b43 --- /dev/null +++ b/bin/move_svc_broadband_speeds.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl + +use strict; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearchs qsearch); +use FS::svc_broadband; + +my $user = shift or die &usage; +my $dbh = adminsuidsetup($user); + +my $fcc_up_speed = "(select part_pkg_fcc_option.optionvalue from part_pkg_fcc_option where fccoptionname = 'broadband_upstream' and pkgpart = cust_pkg.pkgpart) AS fcc477_upstream"; +my $fcc_down_speed = "(select part_pkg_fcc_option.optionvalue from part_pkg_fcc_option where fccoptionname = 'broadband_downstream' and pkgpart = cust_pkg.pkgpart) AS fcc477_downstream"; +foreach my $rec (qsearch({ + 'select' => 'svc_broadband.*, cust_svc.svcpart, cust_pkg.pkgpart, '.$fcc_up_speed.', '.$fcc_down_speed, + 'table' => 'svc_broadband', + 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) LEFT JOIN cust_pkg USING ( pkgnum )', +})) { + $rec->{Hash}->{speed_test_up} = $rec->{Hash}->{speed_up}; + $rec->{Hash}->{speed_test_down} = $rec->{Hash}->{speed_down}; + $rec->{Hash}->{speed_up} = $rec->{Hash}->{fcc477_upstream} * 1000; + $rec->{Hash}->{speed_down} = $rec->{Hash}->{fcc477_downstream} * 1000; + $rec->replace(); + warn "Fixing broadband service speeds for service ".$rec->{Hash}->{svcnum}."-".$rec->{Hash}->{description}."\n"; +} + +warn "Completed fixing broadband service speeds!\n"; + +exit; + +=head1 NAME + +move_svc_broadband_speeds + +=head1 SYNOPSIS + + move_svc_broadband_speeds.pl [ user ] + +=head1 DESCRIPTION + +Moves value for speed_down to speed_test_down, speed_up to speed_test_up, +and sets speed_down, speed_up to matching fcc_477 speeds from package for +all svc_broadband services. + +user: freeside username + +=head1 BUGS + +=head1 SEE ALSO + +L + +=cut \ No newline at end of file diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi index 0517c307a..189fe5e6f 100644 --- a/httemplate/view/svc_broadband.cgi +++ b/httemplate/view/svc_broadband.cgi @@ -33,6 +33,9 @@ my @fields = ( { field => 'routernum', value_callback => \&router }, 'speed_down', 'speed_up', + 'speed_test_down', + 'speed_test_up', + 'speed_test_latency', { field => 'ip_addr', value_callback => \&ip_addr }, { field => 'sectornum', value_callback => \§ornum }, { field => 'mac_addr', type=>'mac_addr', value_callback => \&mac_addr }, -- cgit v1.2.1 From 8bb6f1d3ea3448c95a5eb2e309e19a01f9251f0d Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Thu, 2 Aug 2018 09:45:51 -0400 Subject: RT# 78356 - sped up update query --- bin/move_svc_broadband_speeds.pl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/bin/move_svc_broadband_speeds.pl b/bin/move_svc_broadband_speeds.pl index fed405b43..8a9af99f2 100644 --- a/bin/move_svc_broadband_speeds.pl +++ b/bin/move_svc_broadband_speeds.pl @@ -10,19 +10,33 @@ my $dbh = adminsuidsetup($user); my $fcc_up_speed = "(select part_pkg_fcc_option.optionvalue from part_pkg_fcc_option where fccoptionname = 'broadband_upstream' and pkgpart = cust_pkg.pkgpart) AS fcc477_upstream"; my $fcc_down_speed = "(select part_pkg_fcc_option.optionvalue from part_pkg_fcc_option where fccoptionname = 'broadband_downstream' and pkgpart = cust_pkg.pkgpart) AS fcc477_downstream"; + foreach my $rec (qsearch({ - 'select' => 'svc_broadband.*, cust_svc.svcpart, cust_pkg.pkgpart, '.$fcc_up_speed.', '.$fcc_down_speed, - 'table' => 'svc_broadband', - 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) LEFT JOIN cust_pkg USING ( pkgnum )', + 'select' => 'svc_broadband.*, cust_svc.svcpart, cust_pkg.pkgpart, '.$fcc_up_speed.', '.$fcc_down_speed, + 'table' => 'svc_broadband', + 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) LEFT JOIN cust_pkg USING ( pkgnum )', })) { $rec->{Hash}->{speed_test_up} = $rec->{Hash}->{speed_up}; $rec->{Hash}->{speed_test_down} = $rec->{Hash}->{speed_down}; $rec->{Hash}->{speed_up} = $rec->{Hash}->{fcc477_upstream} * 1000; $rec->{Hash}->{speed_down} = $rec->{Hash}->{fcc477_downstream} * 1000; - $rec->replace(); + + my $sql = "UPDATE svc_broadband set + speed_up = $rec->{Hash}->{speed_up}, + speed_down = $rec->{Hash}->{speed_down}, + speed_test_up = $rec->{Hash}->{speed_test_up}, + speed_test_down = $rec->{Hash}->{speed_test_down} + WHERE svcnum = $rec->{Hash}->{svcnum}"; + warn "Fixing broadband service speeds for service ".$rec->{Hash}->{svcnum}."-".$rec->{Hash}->{description}."\n"; + + my $sth = $dbh->prepare($sql) or die $dbh->errstr; + $sth->execute or die $sth->errstr; + } +$dbh->commit; + warn "Completed fixing broadband service speeds!\n"; exit; -- cgit v1.2.1 From 12ce18dfa572fabaac35e3d11a905a46095de3b4 Mon Sep 17 00:00:00 2001 From: Mitch Jackson Date: Thu, 2 Aug 2018 19:05:36 -0400 Subject: RT# 78356 keys on hashref deprecated in perl 5.24 --- httemplate/edit/process/part_pkg.cgi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/httemplate/edit/process/part_pkg.cgi b/httemplate/edit/process/part_pkg.cgi index 1db3a9cd1..9e0fa5f55 100755 --- a/httemplate/edit/process/part_pkg.cgi +++ b/httemplate/edit/process/part_pkg.cgi @@ -172,7 +172,7 @@ my $update_svc = sub { foreach my $svc_part(@svcs) { my @part_svc_column = qsearch('part_svc_column',{ 'svcpart' => $svc_part->{Hash}->{svcpart}, 'columnflag' => 'P' }); - if ($svc_part->{Hash}->{svcdb} eq "svc_broadband" && (keys $args{fcc_options}) && @part_svc_column ) { + if ($svc_part->{Hash}->{svcdb} eq "svc_broadband" && (keys %{ $args{fcc_options} }) && @part_svc_column ) { ## find provisioned services to update my @svc_svcdb = qsearch({ 'table' => 'svc_broadband', -- cgit v1.2.1 From 3da875870fc86799f4d1c5990260840e44337590 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Mon, 6 Aug 2018 16:21:47 -0400 Subject: RT# 77160 - fixed sql when joing cust_location --- httemplate/search/cust_timespan.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/httemplate/search/cust_timespan.html b/httemplate/search/cust_timespan.html index 13fc6a1ab..53ee66d42 100644 --- a/httemplate/search/cust_timespan.html +++ b/httemplate/search/cust_timespan.html @@ -101,8 +101,6 @@ my @fields = ( 'custnum', 'custname', $location_sub, 'daytime', $email_sub, 'act my @links = ( $customer_link, $customer_link, '', '', '', '', '', '', '' ); my @select = ( 'cust_main.*', - 'cust_location.*', - 'part_pkg.*', "(select to_char((select to_timestamp((".$active_date."))), 'Mon DD YYYY')) AS active_date", "(select to_char((select to_timestamp((".$cancel_date."))), 'Mon DD YYYY')) AS cancel_date", "($cancel_reason) AS cancel_reason", -- cgit v1.2.1 From 7b8350fe734d659d61c870128e98161ce4ba4449 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Mon, 6 Aug 2018 20:06:04 -0400 Subject: RT# 77160 - updated date selection sql to make sure last cancel date falls with in range --- httemplate/search/cust_timespan.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/httemplate/search/cust_timespan.html b/httemplate/search/cust_timespan.html index 53ee66d42..254891cec 100644 --- a/httemplate/search/cust_timespan.html +++ b/httemplate/search/cust_timespan.html @@ -88,7 +88,8 @@ my $active_date = 'select min(setup) from cust_pkg left join part_pkg using (pkg ## set cancel date range here my($beginning_date, $ending_date) = FS::UI::Web::parse_beginning_ending($cgi, ''); -my $cancel_date = 'select max(cancel) from cust_pkg left join part_pkg using (pkgpart) where cust_pkg.custnum = cust_main.custnum and part_pkg.freq > \'0\' and (cancel >= '.$beginning_date.' and cancel <= '.$ending_date.')'; +my $max_cancel_sql = "select max(cancel) from cust_pkg left join part_pkg using (pkgpart) where cust_pkg.custnum = cust_main.custnum and part_pkg.freq > \'0\'"; +my $cancel_date = $max_cancel_sql.' and (('.$max_cancel_sql.') >= '.$beginning_date.' and ('.$max_cancel_sql.') <= '.$ending_date.')'; my $cancel_reason = 'select reason.reason from cust_pkg left join cust_pkg_reason on (cust_pkg.pkgnum = cust_pkg_reason.pkgnum) -- cgit v1.2.1 From 2fc8238ca5301e2ed686447f4efea0e55cd69567 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Thu, 16 Aug 2018 20:14:03 -0400 Subject: RT# 78356 - updated script to allow for null values when moving. --- bin/move_svc_broadband_speeds.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100644 => 100755 bin/move_svc_broadband_speeds.pl diff --git a/bin/move_svc_broadband_speeds.pl b/bin/move_svc_broadband_speeds.pl old mode 100644 new mode 100755 index 8a9af99f2..7d20ef68a --- a/bin/move_svc_broadband_speeds.pl +++ b/bin/move_svc_broadband_speeds.pl @@ -16,10 +16,10 @@ foreach my $rec (qsearch({ 'table' => 'svc_broadband', 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) LEFT JOIN cust_pkg USING ( pkgnum )', })) { - $rec->{Hash}->{speed_test_up} = $rec->{Hash}->{speed_up}; - $rec->{Hash}->{speed_test_down} = $rec->{Hash}->{speed_down}; - $rec->{Hash}->{speed_up} = $rec->{Hash}->{fcc477_upstream} * 1000; - $rec->{Hash}->{speed_down} = $rec->{Hash}->{fcc477_downstream} * 1000; + $rec->{Hash}->{speed_test_up} = $rec->{Hash}->{speed_up} ? $rec->{Hash}->{speed_up} : "null"; + $rec->{Hash}->{speed_test_down} = $rec->{Hash}->{speed_down} ? $rec->{Hash}->{speed_down} : "null"; + $rec->{Hash}->{speed_up} = $rec->{Hash}->{fcc477_upstream} ? $rec->{Hash}->{fcc477_upstream} * 1000 : "null"; + $rec->{Hash}->{speed_down} = $rec->{Hash}->{fcc477_downstream} ? $rec->{Hash}->{fcc477_downstream} * 1000 : "null"; my $sql = "UPDATE svc_broadband set speed_up = $rec->{Hash}->{speed_up}, -- cgit v1.2.1 From f894f28f646e6a233ccb10624f37d7a5f216279b Mon Sep 17 00:00:00 2001 From: Mitch Jackson Date: Wed, 22 Aug 2018 14:14:30 -0400 Subject: RT# 81150 Google now requires api key for drawing api --- FS/FS/deploy_zone.pm | 2 +- httemplate/elements/polygon.html | 5 ++++- httemplate/search/elements/gmap.html | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/FS/FS/deploy_zone.pm b/FS/FS/deploy_zone.pm index 6ad355f72..7c3a76ca5 100644 --- a/FS/FS/deploy_zone.pm +++ b/FS/FS/deploy_zone.pm @@ -6,7 +6,7 @@ use FS::Record qw( qsearch qsearchs dbh ); use Storable qw(thaw); use MIME::Base64; -use JSON qw(encode_json decode_json) ; +use Cpanel::JSON::XS qw(encode_json decode_json); use LWP::UserAgent; use HTTP::Request::Common; diff --git a/httemplate/elements/polygon.html b/httemplate/elements/polygon.html index 813aa419f..b5aa93753 100644 --- a/httemplate/elements/polygon.html +++ b/httemplate/elements/polygon.html @@ -5,13 +5,16 @@ my $id = $opt{'id'} || $opt{'field'}; my $div_id = "div_$id"; my $vertices_json = $opt{'curr_value'} || '[]'; + +my $apikey = FS::Conf->new->config('google_maps_api_key'); + <& hidden.html, %opt &>
 
- + + +<& elements/edit.html, + 'name_singular' => 'customer contacts', #yes, we're editing all of them + 'table' => 'cust_main', + 'post_url' => popurl(1). 'process/cust_main-contacts.html', + 'no_pkey_display' => 1, + 'labels' => { 'custnum' => ' ', #XXX supress this line entirely, its being redundant + 'contactnum' => ' ', #'Contact', + #'locationnum' => ' ', + }, + 'fields' => [ { 'field' => 'contactnum', 'type' => 'contact', 'colspan' => 6, @@ -30,8 +43,7 @@ $conf->config('countrydefault') || 'US', 1, #no balance ), - ) -%> +&> <%init> my $curuser = $FS::CurrentUser::CurrentUser; diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html index 678193516..a298a1b15 100644 --- a/httemplate/elements/contact.html +++ b/httemplate/elements/contact.html @@ -40,6 +40,8 @@ % } % } elsif ( $field eq 'emailaddress' ) { % $value = join(', ', map $_->emailaddress, $contact->contact_email); +% } elsif ( $field eq 'password' ) { +% $value = $contact->get('_password') ? '********' : ''; % } else { % $value = $contact->get($field); % } @@ -51,7 +53,7 @@ ID = "<%$id%>_<%$field%>" STYLE = "width: 140px" > -