adjusting cql qualifier logic
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 1 Mar 2008 16:31:38 +0000 (16:31 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 1 Mar 2008 16:31:38 +0000 (16:31 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@8846 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm

index 60a041e..8c8bfae 100644 (file)
@@ -1449,26 +1449,32 @@ sub sru_search {
         my $relation  = $self->getRelation();
 
         my $query;
-        if ( $qualifier and $qualifier_map{lc($qualifier)} ) {
-            my $base      = $relation->getBase();
-            my @modifiers = $relation->getModifiers();
-
-            foreach my $m ( @modifiers ) {
-                if( $m->[ 1 ] eq 'fuzzy' ) {
-                    $term = "$term~";
-                }
+        if ( $qualifier ) {
+
+            if ( exists($qualifier_map{lc($qualifier)}) ) {
+                $qualifier = 'kw' unless ( defined($qualifier_map{lc($qualifier)}) );
             }
 
+
+            #my @modifiers = $relation->getModifiers();
+
+            #foreach my $m ( @modifiers ) {
+            #    if( $m->[ 1 ] eq 'fuzzy' ) {
+            #        $term = "$term~";
+            #    }
+            #}
+
+            my $base = $relation->getBase();
             if( $base eq '=' ) {
                 $base = ':';
             } else {
                 croak( "Evergreen doesn't support relations other than '='" );
             }
+
             return "$qualifier$base$term";
-        } elsif ($qualifier) {
-            return "kw:$term";
+
         } else {
-            return "";
+            return "kw:$term";
         }
     }
 }