Bug 7328 Expanded options in advanced search
authorFrédéric Demians <f.demians@tamil.fr>
Wed, 7 Dec 2011 07:46:21 +0000 (08:46 +0100)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 30 Dec 2011 11:00:51 +0000 (12:00 +0100)
In OPAC and intra advanced search, more search options are displayed
depending on expandedSearchOption syspres and user choice. This doesn't
work anymore in HEAD.

This patch restore this functionnality.

To test:

  - enable/disable expandedSearchOption.
  - Load advanced search page. Limited seach options version is always
    displayed
  - Apply this patch and see how it works...

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
The problem only appeared in the staff client for me.
Tested both OPAC and staff with patch applied.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>

catalogue/search.pl

index 4792f0b..3013320 100755 (executable)
@@ -331,13 +331,13 @@ if ( $template_type eq 'advsearch' ) {
     my $languages_limit_loop = getAllLanguages();
     $template->param(search_languages_loop => $languages_limit_loop,);
 
-    # use the global setting by default
-    if ( C4::Context->preference("expandedSearchOption") == 1) {
-        $template->param( expanded_options => C4::Context->preference("expandedSearchOption") );
-    }
-    # but let the user override it
-    if ( ($cgi->param('expanded_options') == 0) || ($cgi->param('expanded_options') == 1 ) ) {
-        $template->param( expanded_options => $cgi->param('expanded_options'));
+    # Expanded search options in advanced search:
+    # use the global setting by default, but let the user override it
+    {
+        my $expanded = $cgi->param('expanded_options');
+        $expanded = C4::Context->preference("expandedSearchOption") || 0
+            if !defined($expanded) || $expanded !~ /^0|1$/;
+        $template->param( expanded_options => $expanded );
     }
 
     $template->param(virtualshelves => C4::Context->preference("virtualshelves"));