LP#1373690: add USE_ID_FOR_OWNING_LIB EDI attribute
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 22 Aug 2017 20:13:54 +0000 (16:13 -0400)
committerMike Rylander <mrylander@gmail.com>
Fri, 1 Sep 2017 17:13:31 +0000 (13:13 -0400)
This attribute specifies that the copy owning library
should have its ID emitted rather than its shortname, which can
be used for Baker & Taylor, which imposes a five-character limit
on certain fields. This takes effect only when the INCLUDE_OWNING_LIB
EDI attribute is also in effect.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Utils/EDIWriter.pm
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/YYYY.data.edi_attr_set.sql

index 3b4cdfd..713d7c0 100644 (file)
@@ -324,7 +324,11 @@ sub compile_copy {
     my $fund = $copy->fund ? $copy->fund->code : '';
     my $item_type = $copy->circ_modifier || '';
     my $call_number = $copy->cn_label || '';
-    my $owning_lib = $copy->owning_lib ? $copy->owning_lib->shortname : '';
+    my $owning_lib = $copy->owning_lib ?
+                        $self->{compiled}->{edi_attrs}->{USE_ID_FOR_OWNING_LIB} ?
+                        $copy->owning_lib->id :
+                        $copy->owning_lib->shortname :
+                     '';
     my $location = $copy->location ? $copy->location->name : '';
     my $collection_code = $copy->collection_code || '';
     my $barcode = $copy->barcode || '';
index d8dbd03..cad9960 100644 (file)
@@ -17215,6 +17215,9 @@ INSERT INTO acq.edi_attr (key, label) VALUES
     ('INCLUDE_OWNING_LIB', 
         oils_i18n_gettext('INCLUDE_OWNING_LIB', 
         'Orders Include Copy Owning Library', 'aea', 'label')),
+    ('USE_ID_FOR_OWNING_LIB',
+        oils_i18n_gettext('USE_ID_FOR_OWNING_LIB',
+        'Emit Owning Library ID Rather Than Short Name. Takes effect only if INCLUDE_OWNING_LIB is in use', 'aea', 'label')),
     ('INCLUDE_QUANTITY', 
         oils_i18n_gettext('INCLUDE_QUANTITY', 
         'Orders Include Copy Quantities', 'aea', 'label')),
index 8e5c4b6..8ca7643 100644 (file)
@@ -30,6 +30,9 @@ INSERT INTO acq.edi_attr (key, label) VALUES
     ('INCLUDE_OWNING_LIB', 
         oils_i18n_gettext('INCLUDE_OWNING_LIB', 
         'Orders Include Copy Owning Library', 'aea', 'label')),
+    ('USE_ID_FOR_OWNING_LIB',
+        oils_i18n_gettext('USE_ID_FOR_OWNING_LIB',
+        'Emit Owning Library ID Rather Than Short Name. Takes effect only if INCLUDE_OWNING_LIB is in use', 'aea', 'label')),
     ('INCLUDE_QUANTITY', 
         oils_i18n_gettext('INCLUDE_QUANTITY', 
         'Orders Include Copy Quantities', 'aea', 'label')),