projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
limit sales reports for employee, RT#25524
[freeside.git]
/
FS
/
FS
/
cust_pkg.pm
diff --git
a/FS/FS/cust_pkg.pm
b/FS/FS/cust_pkg.pm
index
009c81e
..
771d3ec
100644
(file)
--- a/
FS/FS/cust_pkg.pm
+++ b/
FS/FS/cust_pkg.pm
@@
-4,7
+4,7
@@
use base qw( FS::otaker_Mixin FS::cust_main_Mixin FS::Sales_Mixin
FS::m2m_Common FS::option_Common );
use strict;
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);
use Carp qw(cluck);
use Scalar::Util qw( blessed );
use List::Util qw(min max);
@@
-54,6
+54,8
@@
$me = '[FS::cust_pkg]';
$disable_agentcheck = 0;
$disable_agentcheck = 0;
+$upgrade = 0; #go away after setup+start dates cleaned up for old customers
+
sub _cache {
my $self = shift;
my ( $hashref, $cache ) = @_;
sub _cache {
my $self = shift;
my ( $hashref, $cache ) = @_;
@@
-656,7
+658,7
@@
sub check {
return $error if $error;
return "A package with both start date (future start) and setup date (already started) will never bill"
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;
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;
@@
-4285,21
+4287,29
@@
For FCC 477 reporting, mostly.
=item location_cust
=item location_cust
-Limit to packages whose service location
is
the same as the customer's
+Limit to packages whose service location
s are
the same as the customer's
default service location.
=item location_nocust
default service location.
=item location_nocust
-Limit to packages whose service location
is
not the customer's default
+Limit to packages whose service location
s are
not the customer's default
service location.
=item location_census
service location.
=item location_census
-Limit to packages whose service location
has a census tract
.
+Limit to packages whose service location
s have census tracts
.
=item location_nocensus
=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
=back
@@
-4543,6
+4553,10
@@
sub search {
my $op = $params->{location_census} ? "IS NOT NULL" : "IS NULL";
push @where, "cust_location.censustract $op";
}
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
###
# parse part_pkg