From 7427b3722522f049c9ebdb4ba3780a91b88c414f Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 24 Oct 2013 17:26:00 -0700 Subject: [PATCH] disable old no_censustract and with_geocode search options and move to cust_pkg search, #23582 --- FS/FS/cust_main/Search.pm | 31 +------------------------------ FS/FS/cust_pkg.pm | 20 ++++++++++++++++---- httemplate/search/report_cust_main.html | 14 -------------- httemplate/search/report_cust_pkg.html | 6 ++++++ 4 files changed, 23 insertions(+), 48 deletions(-) diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index 182527ff9..70d12c97d 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -668,22 +668,6 @@ sub search { unless $params->{'cancelled_pkgs'}; ## - # parse without census tract checkbox - ## - - push @where, "(ship_location.censustract = '' or ship_location.censustract is null)" - if $params->{'no_censustract'}; - - ## - # parse with hardcoded tax location checkbox - ## - - my $tax_prefix = FS::Conf->new->exists('tax-ship_location') ? 'ship_' - : 'bill_'; - push @where, "${tax_prefix}location.geocode is not null" - if $params->{'with_geocode'}; - - ## # "with email address(es)" checkbox ## @@ -950,19 +934,6 @@ sub search { } - if ( $params->{'with_geocode'} ) { - - unshift @extra_headers, 'Tax location override', 'Calculated tax location'; - unshift @extra_fields, sub { my $c = shift; $c->get('geocode'); }, - sub { my $c = shift; - $c->set('geocode', ''); - $c->geocode('cch'); #XXX only cch right now - }; - push @select, 'geocode'; - push @select, 'zip' unless grep { $_ eq 'zip' } @select; - push @select, 'ship_zip' unless grep { $_ eq 'ship_zip' } @select; - } - my $select = join(', ', @select); my $sql_query = { @@ -976,7 +947,7 @@ sub search { 'extra_headers' => \@extra_headers, 'extra_fields' => \@extra_fields, }; - warn Data::Dumper::Dumper($sql_query); + #warn Data::Dumper::Dumper($sql_query); $sql_query; } diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index face10a5a..771d3ec75 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -4287,21 +4287,29 @@ For FCC 477 reporting, mostly. =item location_cust -Limit to packages whose service location is the same as the customer's +Limit to packages whose service locations are the same as the customer's default service location. =item location_nocust -Limit to packages whose service location is not the customer's default +Limit to packages whose service locations are not the customer's default service location. =item location_census -Limit to packages whose service location has a census tract. +Limit to packages whose service locations have census tracts. =item location_nocensus -Limit to packages whose service location doesn't have a census tract. +Limit to packages whose service locations do not have a census tract. + +=item location_geocode + +Limit to packages whose locations have geocodes. + +=item location_geocode + +Limit to packages whose locations do not have geocodes. =back @@ -4545,6 +4553,10 @@ sub search { my $op = $params->{location_census} ? "IS NOT NULL" : "IS NULL"; push @where, "cust_location.censustract $op"; } + if ( $params->{location_geocode} xor $params->{location_nogeocode} ) { + my $op = $params->{location_geocode} ? "IS NOT NULL" : "IS NULL"; + push @where, "cust_location.geocode $op"; + } ### # parse part_pkg diff --git a/httemplate/search/report_cust_main.html b/httemplate/search/report_cust_main.html index ebff7fadb..1ceb48e1e 100755 --- a/httemplate/search/report_cust_main.html +++ b/httemplate/search/report_cust_main.html @@ -172,20 +172,6 @@ &> - <% mt('Without census tract') |h %> - - - -% if ( $conf->exists('enable_taxproducts') ) { - - - <% mt('With hardcoded tax location') |h %> - - - -% } - - <% mt('With email address(es)') |h %> diff --git a/httemplate/search/report_cust_pkg.html b/httemplate/search/report_cust_pkg.html index b3f2004b8..e75a0985b 100755 --- a/httemplate/search/report_cust_pkg.html +++ b/httemplate/search/report_cust_pkg.html @@ -190,6 +190,9 @@ <& /elements/tr-title.html, value => mt('Location search options') &> % my @location_options = qw(cust nocust census nocensus); +% if ( $conf->exists('enable_taxproducts') ) { +% push @location_options, 'geocode', 'nogeocode'; +% } <& /elements/tr-checkbox-multiple.html, 'label' => 'Where package location:', 'field' => 'loc', @@ -198,6 +201,8 @@ 'nocust' => "is not the customer's default location", 'census' => "has a census tract", 'nocensus' => "does not have a census tract", + 'nogeocode'=> 'has an implicit tax location', + 'geocode' => 'has a hardcoded tax location', }, 'value' => { map { $_ => 1 } @location_options }, &> @@ -274,4 +279,5 @@ my %checkbox = ( 'cancel' => 1, ); +my $conf = FS::Conf->new; -- 2.11.0