add links to the fm class structure
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 24 Jan 2009 01:48:41 +0000 (01:48 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 24 Jan 2009 01:48:41 +0000 (01:48 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@11942 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm

index 3e0fd09..3a6c58a 100644 (file)
@@ -47,7 +47,8 @@ sub import {
 
        # parse the IDL ...
        my $file = $args{IDL} || OpenSRF::Utils::SettingsClient->new->config_value( 'IDL' );
-       my $idl = XMLin( $file, ForceArray => 0, KeyAttr => ['name', 'id'], ValueAttr => {link =>'key'} )->{class};
+       #my $idl = XMLin( $file, ForceArray => 0, KeyAttr => ['name', 'id'], ValueAttr => {link =>'key'} )->{class};
+       my $idl = XMLin( $file, ForceArray => 0, KeyAttr => ['name', 'id', 'field'] )->{class};
 
        for my $c ( keys %$idl ) {
                next unless ($idl->{$c}{'oils_obj:fieldmapper'});
@@ -71,6 +72,13 @@ sub import {
                                $$fieldmap{$n}{selector} = $idl->{$c}{fields}{field}{$f}{'reporter:selector'};
                        }
                }
+               for my $f ( keys %{ $idl->{$c}{links}{link} } ) {
+                       $$fieldmap{$n}{links}{$f} =
+                               { class => $idl->{$c}{links}{link}{$f}{class},
+                                 reltype => $idl->{$c}{links}{link}{$f}{reltype},
+                                 key => $idl->{$c}{links}{link}{$f}{key},
+                               };
+               }
        }