From 5f93584d758b5c6aebe469a2d6cb2b57536980e8 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 17 Oct 2007 15:28:32 +0000 Subject: [PATCH] adding "available only" status filtered pull list methods git-svn-id: svn://svn.open-ils.org/ILS/trunk@7891 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../Application/Storage/Publisher/action.pm | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm index 1d145f0f0e..76aa0dad7a 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm @@ -364,6 +364,9 @@ sub hold_pull_list { my $idlist = 1 if ($self->api_name =~/id_list/o); + my $status_filter = ''; + $status_filter = 'AND a.status IN (0,7)' if ($self->api_name =~/status_filtered/o); + my $select = <<" SQL"; SELECT h.* FROM $h_table h @@ -371,6 +374,7 @@ sub hold_pull_list { WHERE a.circ_lib = ? AND h.capture_time IS NULL AND h.cancel_time IS NULL + $status_filter ORDER BY h.request_time ASC LIMIT $limit OFFSET $offset @@ -415,6 +419,34 @@ __PACKAGE__->register_method( ], method => 'hold_pull_list', ); +__PACKAGE__->register_method( + api_name => 'open-ils.storage.direct.action.hold_request.pull_list.id_list.current_copy_circ_lib.status_filtered', + api_level => 1, + stream => 1, + signature => [ + "Returns the hold ids for a specific library's pull list that are definitely in that library, based on status.", + [ [org_unit => "The library's org id", "number"], + [limit => 'An optional page size, defaults to 10', 'number'], + [offset => 'Offset for paging, defaults to 0, 0 based', 'number'], + ], + ['A list of holds for the stated library to pull for', 'array'] + ], + method => 'hold_pull_list', +); +__PACKAGE__->register_method( + api_name => 'open-ils.storage.direct.action.hold_request.pull_list.search.current_copy_circ_lib.status_filtered', + api_level => 1, + stream => 1, + signature => [ + "Returns the holds for a specific library's pull list that are definitely in that library, based on status.", + [ [org_unit => "The library's org id", "number"], + [limit => 'An optional page size, defaults to 10', 'number'], + [offset => 'Offset for paging, defaults to 0, 0 based', 'number'], + ], + ['A list of holds for the stated library to pull for', 'array'] + ], + method => 'hold_pull_list', +); sub find_optional_surveys { my $self = shift; -- 2.43.2