Revert "LP#1464709: teach QP about is_available statuses"
authorBill Erickson <berickxx@gmail.com>
Mon, 26 Feb 2018 15:12:38 +0000 (10:12 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
Retaining previous availabilty filtering behavior because KCLS uses
is_available (previously checkout_ok) more liberally than suits a search
availability filter.  E.g. 'missing' is is_available=true

This reverts commit fed65df3c669e1337f187d533e9033a697d6b263.

Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm

index 3ca3751..3ebdd87 100644 (file)
@@ -2863,14 +2863,6 @@ __PACKAGE__->register_method(
     }
 );
 
-my @available_statuses_cache;
-sub available_statuses {
-    if (!scalar(@available_statuses_cache)) {
-       @available_statuses_cache = map { $_->id } config::copy_status->search_where({is_available => 't'});
-    }
-    return @available_statuses_cache;
-}
-
 sub query_parser_fts {
     my $self = shift;
     my $client = shift;
@@ -3045,11 +3037,10 @@ sub query_parser_fts {
 
     # gather statuses, and then forget those if we have an #available modifier
     my @statuses;
-    if ($query->parse_tree->find_modifier('available')) {
-        @statuses = available_statuses();
-    } elsif (my ($filter) = $query->parse_tree->find_filter('statuses')) {
+    if (my ($filter) = $query->parse_tree->find_filter('statuses')) {
         @statuses = @{$filter->args} if (@{$filter->args});
     }
+    @statuses = (0,7,12) if ($query->parse_tree->find_modifier('available'));
 
 
     # gather locations