From 86b28ccffa525880af8002d29839e64ec0b7700c Mon Sep 17 00:00:00 2001 From: miker Date: Tue, 28 Jun 2005 14:24:24 +0000 Subject: [PATCH] adding virtual field test to Fieldmapper and virtual class test to Publisher git-svn-id: svn://svn.open-ils.org/ILS/trunk@942 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm | 6 ++++-- Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm index b5fa3211ed..f516660b07 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm @@ -285,6 +285,9 @@ use OpenILS::Application::Storage::Publisher::permission; '; for my $fmclass ( (Fieldmapper->classes) ) { + + next if ($fmclass->is_virtual); + $log->debug("Generating methods for Fieldmapper class $fmclass", DEBUG); (my $cdbi = $fmclass) =~ s/^Fieldmapper:://o; @@ -328,8 +331,7 @@ for my $fmclass ( (Fieldmapper->classes) ) { ); } - unless ($fmclass->is_virtual) { - for my $field ($fmclass->real_fields) { + for my $field ($fmclass->real_fields) { unless ( __PACKAGE__->is_registered( $api_prefix.'.search.'.$field ) ) { __PACKAGE__->register_method( api_name => $api_prefix.'.search.'.$field, diff --git a/Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm b/Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm index d4a84bf821..788989b633 100644 --- a/Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm +++ b/Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm @@ -295,6 +295,8 @@ sub api_level { sub is_virtual { my $self = shift; + my $field = shift; + return $fieldmap->{$self->class_name}->{proto_fields}->{$field} if ($field); return $fieldmap->{$self->class_name}->{virtual}; } -- 2.11.0