ACQ Vandeley : vandelay ML bits for temp queues
authorBill Erickson <berick@esilibrary.com>
Thu, 1 Dec 2011 22:09:37 +0000 (17:09 -0500)
committerBill Erickson <berick@esilibrary.com>
Thu, 1 Dec 2011 22:09:37 +0000 (17:09 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm

index ef49f00..4f06941 100644 (file)
@@ -61,6 +61,7 @@ sub create_bib_queue {
     my $type = shift;
     my $match_set = shift;
     my $import_def = shift;
+    my $temp = shift;
 
     my $e = new_editor(authtoken => $auth, xact => 1);
 
@@ -79,6 +80,7 @@ sub create_bib_queue {
     $queue->queue_type( $type ) if ($type);
     $queue->item_attr_def( $import_def ) if ($import_def);
     $queue->match_set($match_set) if $match_set;
+    $queue->temp($temp) if $temp;
 
     my $new_q = $e->create_vandelay_bib_queue( $queue );
     return $e->die_event unless ($new_q);
@@ -102,6 +104,7 @@ sub create_auth_queue {
     my $owner = shift;
     my $type = shift;
     my $match_set = shift;
+    my $temp = shift;
 
     my $e = new_editor(authtoken => $auth, xact => 1);
 
@@ -118,6 +121,7 @@ sub create_auth_queue {
     $queue->name( $name );
     $queue->owner( $owner );
     $queue->queue_type( $type ) if ($type);
+    $queue->temp($temp) if $temp;
 
     my $new_q = $e->create_vandelay_authority_queue( $queue );
     $e->die_event unless ($new_q);
@@ -896,6 +900,7 @@ sub import_record_list_impl {
     my $search_func = 'search_vandelay_queued_bib_record';
     my $retrieve_queue_func = 'retrieve_vandelay_bib_queue';
     my $update_queue_func = 'update_vandelay_bib_queue';
+    my $delete_queue_func = 'delete_vandelay_bib_queue';
     my $rec_class = 'vqbr';
 
     my $editor = new_editor();
@@ -912,6 +917,7 @@ sub import_record_list_impl {
         $update_queue_func =~ s/bib/authority/o;
         $update_func =~ s/bib/authority/o;
         $search_func =~ s/bib/authority/o;
+        $delete_queue_func =~ s/bib/authority/o;
         $rec_class = 'vqar';
     }
 
@@ -1128,6 +1134,11 @@ sub import_record_list_impl {
         unless(@$remaining) {
             my $queue = $e->$retrieve_queue_func($q_id);
 
+            if ($U->is_true($queue->temp)) {
+                $e->$delete_queue_func($queue) or return $e->die_event;
+                next;
+            }
+
             unless($U->is_true($queue->complete)) {
                 $queue->complete('t');
                 $e->$update_queue_func($queue) or return $e->die_event;