FS::m2m_Common FS::option_Common );
use strict;
-use vars qw($disable_agentcheck $DEBUG $me);
+use vars qw( $disable_agentcheck $DEBUG $me $upgrade );
use Carp qw(cluck);
use Scalar::Util qw( blessed );
use List::Util qw(min max);
$disable_agentcheck = 0;
+$upgrade = 0; #go away after setup+start dates cleaned up for old customers
+
sub _cache {
my $self = shift;
my ( $hashref, $cache ) = @_;
return $error if $error;
return "A package with both start date (future start) and setup date (already started) will never bill"
- if $self->start_date && $self->setup;
+ if $self->start_date && $self->setup && ! $upgrade;
return "A future unsuspend date can only be set for a package with a suspend date"
if $self->resume and !$self->susp and !$self->adjourn;
=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
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