diff options
author | Mark Wells <mark@freeside.biz> | 2015-08-31 22:16:37 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2015-08-31 22:16:59 -0700 |
commit | 45fb403e5eaf57eddc2dda93c9bd66c1df7f3d76 (patch) | |
tree | fb8763923a491944df8e03e1ef9b5415b95b21ec /FS | |
parent | d0373d64f79a086c6fbb95e2fac6ec542f3d928f (diff) |
allow services with a tower but no sector to appear in search results, #33056
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/svc_Tower_Mixin.pm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/FS/FS/svc_Tower_Mixin.pm b/FS/FS/svc_Tower_Mixin.pm index 2555b9e50..d6776791c 100644 --- a/FS/FS/svc_Tower_Mixin.pm +++ b/FS/FS/svc_Tower_Mixin.pm @@ -27,7 +27,13 @@ sub tower_sector_sql { 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+)$/ ) { |