adding Identity method for finding the pkey
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 29 Jun 2006 18:29:00 +0000 (18:29 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 29 Jun 2006 18:29:00 +0000 (18:29 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@4845 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index e4ca493..344a4d8 100644 (file)
@@ -56,11 +56,12 @@ sub import {
 
                $$fieldmap{$n}{hint} = $c;
                $$fieldmap{$n}{virtual} = ($idl->{$c}{'oils_persist:virtual'} eq 'true') ? 1 : 0;
+               $$fieldmap{$n}{identity} = $idl->{$c}{fields}{'oils_persist:primary'};
 
                for my $f ( keys %{ $idl->{$c}{fields}{field} } ) {
                        $$fieldmap{$n}{fields}{$f} =
                                { virtual => ($idl->{$c}{fields}{field}{$f}{'oils_persist:virtual'} eq 'true') ? 1 : 0,
-                                 position => $idl->{$c}{fields}{field}{$f}{'oils_obj:array_position'}
+                                 position => $idl->{$c}{fields}{field}{$f}{'oils_obj:array_position'},
                                };
                }
        }
@@ -150,6 +151,11 @@ sub AUTOLOAD {
        return $obj->$field($value);
 }
 
+sub Identity {
+       my $class_name = shift;
+       return $$fieldmap{$class_name}{identity};
+}
+
 sub class_name {
        my $class_name = shift;
        return ref($class_name) || $class_name;