added some sanity checks to prevent re-fetching objects and logging warnings because...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 24 Sep 2006 22:17:14 +0000 (22:17 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 24 Sep 2006 22:17:14 +0000 (22:17 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6206 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/ScriptBuilder.pm

index 9d1a8fe..09b2c17 100644 (file)
@@ -132,11 +132,19 @@ sub fetch_bib_data {
                $e->retrieve_actor_org_unit($copy->circ_lib)) 
                unless ref $copy->circ_lib;
 
-       $ctx->{volume} = $e->retrieve_asset_call_number(
-               $ctx->{copy}->call_number) or return $e->event;
+       if( ref $copy->call_number ) {
+               $ctx->{volume} = $copy->call_number;
+       } else {
+               $ctx->{volume} = $e->retrieve_asset_call_number(
+                       $copy->call_number) or return $e->event;
+       }
 
-       $ctx->{title} = $e->retrieve_biblio_record_entry(
-               $ctx->{volume}->record) or return $e->event;
+       if( ref $ctx->{volume}->record ) {
+               $ctx->{title} = $ctx->{volume}->record;
+       } else {
+               $ctx->{title} = $e->retrieve_biblio_record_entry(
+                       $ctx->{volume}->record) or return $e->event;
+       }
 
        $copy->age_protect(
                $e->retrieve_config_rules_age_hold_protect($copy->age_protect))