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 <hector.hecaxmmx@gmail.com>
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.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit dd9a4ed6c6)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
David Cook 2015-11-17 13:03:59 +11:00 committed by Frédéric Demians
parent 9fa3b18924
commit c0928321a0
2 changed files with 3 additions and 3 deletions

View File

@ -974,7 +974,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

View File

@ -527,7 +527,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";
}
@ -536,7 +536,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";
}