From 900ba9cf6c484f5e2eccc6f796bd6e3ec528e9a9 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 17 Nov 2015 13:03:59 +1100 Subject: [PATCH] [SIGNED-OFF]Bug 15198: Make OpacSuppression work even if there are no records suppressed This patch adds the Zebra special attribute 14 to ccl.properties and opac-search.pl, so that we can turn on OpacSuppression and still return results even if there are no records in Zebra for the Suppress index. _TEST PLAN_ Before applying: 1) Make sure that you have no suppressed records indexed in Zebra 2) Turn on OpacSuppression system preference 3) Search using a keyword which should bring up records 4) Note that no records are returned in the results 5) Change UseQueryParser system preference to "Try" 6) Repeat steps 3-4 Apply the patch. After applying: 7) Repeat step 3 (ie search using a keyword which should bring up records) 8) Confirm that records are appearing in the results! 9) Change UseQueryParser system preference to "Do not try" 10) Repeat step 3 11) Confirm that records are appearing in the results! Signed-off-by: Hector Castro Works as advertised. No more, won't need to have at least one record with the value "1" in the field mapped with this index. All records in OPAC returned. --- etc/zebradb/ccl.properties | 2 +- opac/opac-search.pl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/etc/zebradb/ccl.properties b/etc/zebradb/ccl.properties index 58df11c..f65d269 100644 --- a/etc/zebradb/ccl.properties +++ b/etc/zebradb/ccl.properties @@ -983,7 +983,7 @@ cn-class 1=9007 cn-item 1=9008 cn-prefix 1=9009 cn-suffix 1=9010 -Suppress 1=9011 +Suppress 1=9011 14=1 id-other 1=9012 date-entered-on-file 1=date-entered-on-file extent 1=Extent diff --git a/opac/opac-search.pl b/opac/opac-search.pl index d53ba1c..efbbbb2 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -555,7 +555,7 @@ if (C4::Context->preference('OpacSuppression')) { my $IPRange = C4::Context->preference('OpacSuppressionByIPRange'); if ($IPAddress !~ /^$IPRange/) { if ( $query_type eq 'pqf' ) { - $query = '@not '.$query.' @attr 1=9011 1'; + $query = '@not '.$query.' @attr 14=1 @attr 1=9011 1'; } else { $query = "($query) not Suppress=1"; } @@ -564,7 +564,7 @@ if (C4::Context->preference('OpacSuppression')) { else { if ( $query_type eq 'pqf' ) { #$query = "($query) && -(suppress:1)"; #QP syntax - $query = '@not '.$query.' @attr 1=9011 1'; #PQF syntax + $query = '@not '.$query.' @attr 14=1 @attr 1=9011 1'; #PQF syntax } else { $query = "($query) not Suppress=1"; } -- 2.1.4