package FS::svc_Tower_Mixin;
use strict;
-use FS::Record qw(qsearchs); #qsearch;
-use FS::tower_sector;
=item tower_sector
-=cut
-
-sub tower_sector {
- my $self = shift;
- return '' unless $self->sectornum;
- qsearchs('tower_sector', { sectornum => $self->sectornum });
-}
-
=item tower_sector_sql HASHREF
Class method which returns a list of WHERE clause fragments to
my $in = join(',', map { /^(\d+)$/ ? $1 : () } @$value);
my @orwhere;
push @orwhere, "tower_sector.$field IN ($in)" if $in;
- push @orwhere, "tower_sector.$field IS NULL" if grep /^none$/, @$value;
+ if ( grep /^none$/, @$value ) {
+ # then allow this field to be null
+ push @orwhere, "tower_sector.$field IS NULL";
+ # and if this field is the sector, also allow the default sector
+ # on the tower
+ push @orwhere, "sectorname = '_default'" if $field eq 'sectornum';
+ }
push @where, '( '.join(' OR ', @orwhere).' )';
}
elsif ( $value =~ /^(\d+)$/ ) {