From 7f27eaa7f83ed7243150c9643ae74064016f5066 Mon Sep 17 00:00:00 2001
From: senator <senator@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Date: Wed, 17 Nov 2010 21:59:50 +0000
Subject: [PATCH] Hold targeting didn't work right on type I (issuance) holds,
 but now it does

git-svn-id: svn://svn.open-ils.org/ILS/trunk@18772 dcc99617-32d9-48b4-a31d-7c20da2025e4
---
 Open-ILS/examples/fm_IDL.xml                                       | 2 ++
 Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm          | 2 +-
 Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/serial.pm   | 7 ++++---
 .../src/perlmods/OpenILS/Application/Storage/Publisher/asset.pm    | 3 +--
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml
index 515d4ca7fc..cb2a12650e 100644
--- a/Open-ILS/examples/fm_IDL.xml
+++ b/Open-ILS/examples/fm_IDL.xml
@@ -3417,12 +3417,14 @@ SELECT  usr,
 			<field reporter:label="Holding Code" name="holding_code" reporter:datatype="text"/>
 			<field reporter:label="Holding Type" name="holding_type" reporter:datatype="text"/>
 			<field reporter:label="Holding Link ID" name="holding_link_id" reporter:datatype="int"/>
+			<field reporter:label="Items" name="items" oils_persist:virtual="true" reporter:datatype="link" />
 		</fields>
 		<links>
 			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
 			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
 			<link field="subscription" reltype="has_a" key="id" map="" class="ssub"/>
 			<link field="caption_and_pattern" reltype="has_a" key="id" map="" class="scap"/>
+			<link field="items" reltype="has_many" key="issuance" map="" class="sitem"/>
 		</links>
 		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
 			<actions>
diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm
index af9cbed378..d004f3898d 100644
--- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm
@@ -535,7 +535,7 @@ sub modify_from_fieldmapper {
 
 	serial::unit->has_many( items => 'serial::item' );
 
-	serial::issuance->has_a( subscription => 'serial::subsription' );
+	serial::issuance->has_a( subscription => 'serial::subscription' );
 	serial::issuance->has_many( items => 'serial::item' );
 
 	serial::subscription->has_a( record_entry => 'biblio::record_entry' );
diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/serial.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/serial.pm
index 7879cb7068..431c6729e8 100644
--- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/serial.pm
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/serial.pm
@@ -21,7 +21,8 @@ __PACKAGE__->table( 'serial_issuance' );
 __PACKAGE__->columns( Primary => qw/id/ );
 __PACKAGE__->columns( Essential => qw/creator editor create_date edit_date
                                       subscription label date_published
-                                      holding_code holding_type holding_link_id/ );
+                                      caption_and_pattern holding_code
+                                      holding_type holding_link_id/ );
 
 #-------------------------------------------------------------------------------
 package serial::item;
@@ -43,8 +44,8 @@ __PACKAGE__->columns( Essential => qw/call_number barcode creator create_date ed
 				   edit_date copy_number status loan_duration circ_lib
 				   fine_level circulate deposit price ref opac_visible dummy_isbn
 				   circ_as_type circ_modifier deposit_amount location mint_condition
-				   holdable dummy_title dummy_author deleted alert_message label
-				   age_protect floating label_sort_key contents/ );
+				   holdable dummy_title dummy_author deleted alert_message
+				   age_protect floating summary_contents detailed_contents/ );
 
 #-------------------------------------------------------------------------------
 package serial::record_entry;
diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/asset.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/asset.pm
index e227981880..622a1dbbf1 100644
--- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/asset.pm
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/asset.pm
@@ -835,8 +835,7 @@ sub issuance_ranged_tree {
     # ... and add all /their/ items to the target issuance
     for my $i ( @similar_iss ) {
         for my $it ( $i->items() ) {
-    
-            next if ($it->unit->deleted);
+            next unless $it->unit and not $it->unit->deleted;
             next unless (grep { $it->unit->circ_lib eq $_ } @$ou_list);
     
             my $unit = $it->unit->to_fieldmapper;
-- 
2.11.0