preferred language and date filter fixes
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 29 Jul 2008 20:56:38 +0000 (20:56 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 29 Jul 2008 20:56:38 +0000 (20:56 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@10179 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm
Open-ILS/src/sql/Pg/300.schema.staged_search.sql

index c490b7b..9be3c6a 100644 (file)
@@ -2384,8 +2384,9 @@ sub staged_fts {
        my (@between,@statuses,@locations,@types,@forms,@lang,@aud,@lit_form,@vformats,@bib_level);
 
     if (!defined($args{preferred_language})) {
+               my $ses_locale = $client->session ? $client->session->session_locale : $default_preferred_language;
         $args{preferred_language} =
-            $locale_map{ $client->session->session_locale || $default_preferred_language } || 'eng';
+            $locale_map{ $ses_locale } || 'eng';
     }
 
     if (!defined($args{preferred_language_weight})) {
index 7506d79..8014426 100644 (file)
@@ -344,7 +344,7 @@ BEGIN
         where_clause = where_clause || $$ AND $$ || quote_literal(param_during) || $$ BETWEEN mrd.date1 AND mrd.date2 $$;
     END IF;
 
-    IF param_between IS NOT NULL AND array_upper(param_between, 1) > 0 THEN
+    IF param_between IS NOT NULL AND array_upper(param_between, 1) > 1 THEN
         where_clause = where_clause || $$ AND mrd.date1 BETWEEN $$ || array_to_string(param_bib_level, $$' AND '$$) || ' ';
     END IF;