LP#1464709 holds using is_available repairs user/berick/lp1464709-copy-status-is-available
authorBill Erickson <berickxx@gmail.com>
Fri, 28 Aug 2015 21:27:46 +0000 (17:27 -0400)
committerBill Erickson <berickxx@gmail.com>
Fri, 28 Aug 2015 21:27:48 +0000 (17:27 -0400)
* Fix hold targeter is_available statuses lookup
* Add is_available logic to open-ils.circ.hold_pull_list.print.stream
  API.
* Add is_available column config::copy_status CDBI.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/config.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm

index a859f11..314fc5f 100644 (file)
@@ -1723,7 +1723,7 @@ sub print_hold_pull_list_stream {
                         "field" => "id",
                         "fkey" => "current_copy",
                         "filter" => {
-                            "circ_lib" => $$params{org_id}, "status" => [0,7]
+                            "circ_lib" => $$params{org_id}
                         },
                         "join" => {
                             "acn" => {
@@ -1747,6 +1747,11 @@ sub print_hold_pull_list_stream {
                                 "filter" => {
                                     "location" => {"=" => {"+acp" => "location"}}
                                 }
+                            },
+                            "ccs" => {
+                                "filter" => {
+                                    is_available => "t"
+                                }
                             }
                         }
                     }
index 3873405..62c7777 100644 (file)
@@ -73,7 +73,7 @@ package config::copy_status;
 use base qw/config/;
 __PACKAGE__->table('config_copy_status');
 __PACKAGE__->columns(Primary => 'id');
-__PACKAGE__->columns(Essential => qw/name holdable opac_visible copy_active restrict_copy_delete/);
+__PACKAGE__->columns(Essential => qw/name holdable opac_visible copy_active restrict_copy_delete is_available/);
 #-------------------------------------------------------------------------------
 
 package config::net_access_level;
index 3bc6f4c..f5e6cd6 100644 (file)
@@ -1097,7 +1097,7 @@ sub new_hold_copy_targeter {
     $self->{max_loops} = {};
 
     my %avail_statuses = map { $_->id => 1 } 
-        @{asset::copy_status->search_where({is_available => 't'})};
+        config::copy_status->search_where({is_available => 't'});
 
     my $holds;
 
@@ -1715,7 +1715,7 @@ sub reservation_targeter {
     my $reservations;
 
     my %avail_statuses = map { $_->id => 1 } 
-        @{asset::copy_status->search_where({is_available => 't'})};
+        config::copy_status->search_where({is_available => 't'});
 
     try {
         if ($one_reservation) {