adding virtual field test to Fieldmapper and virtual class test to Publisher
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jun 2005 14:24:24 +0000 (14:24 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jun 2005 14:24:24 +0000 (14:24 +0000)
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
Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm

index b5fa321..f516660 100644 (file)
@@ -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,
index d4a84bf..788989b 100644 (file)
@@ -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};
 }