Bug 4189 : Searching z39.50 without selecting any servers results in error message
authorTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 30 Mar 2011 20:08:57 +0000 (17:08 -0300)
committerChris Cormack <chrisc@catalyst.net.nz>
Fri, 8 Apr 2011 01:19:20 +0000 (13:19 +1200)
This patch makes z3950_search.pl handle the situation properly, and z3950_search.tmpl
show a proper message instead of a program error. All this, in case the javascript
checks that alert the user (that at least one target has to be chosen)  are by-passed.

Regards
To+

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed small translation problem in javascript alert message.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
cataloguing/z3950_search.pl
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tmpl

index 6311c0b..b12a9c9 100755 (executable)
@@ -103,6 +103,14 @@ if ( $op ne "do_search" ) {
 }
 else {
     my @id = $input->param('id');
+
+    if ( not defined @id ) {
+        # empty server list -> report and exit
+        $template->param( emptyserverlist => 1 );
+        output_html_with_http_headers $input, $cookie, $template->output;
+        exit;
+    }
+
     my @oConnection;
     my @oResult;
     my @errconn;
index f0b11f8..d4b292f 100644 (file)
@@ -22,6 +22,7 @@ function closemenu(){
     $(".linktools").hide();
     $("tr").removeClass("selected");
 }
+
 $(document).ready(function(){
     $("#CheckAll").click(function(){
         $(".checkboxed").checkCheckboxes();
@@ -52,6 +53,13 @@ $(document).ready(function(){
             var row = $(this).parent();
             row.addClass("selected");
         });
+    $("form[name='f']").submit(function(){
+        if ($('input[type=checkbox]').filter(':checked').length == 0) {
+            alert(_("Please choose at least one Z39.50 target"));
+            return false;
+        } else
+            return true;
+    });
 });
 
 //]]>
@@ -153,9 +161,13 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
     <!-- /TMPL_LOOP --></tbody>
 </table>
     <!-- TMPL_ELSE -->
-        <!-- TMPL_LOOP name="errconn" -->
-            Connection failed to <!-- TMPL_VAR NAME="server" -->
-        <!-- /TMPL_LOOP -->
+        <!-- TMPL_IF NAME="emptyserverlist" -->
+            You didn't select any Z39.50 target.
+        <!-- TMPL_ELSE -->
+            <!-- TMPL_LOOP name="errconn" -->
+                Connection failed to <!-- TMPL_VAR NAME="server" -->
+            <!-- /TMPL_LOOP -->
+        <!-- /TMPL_IF -->
        <p>Nothing found. <a href="/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Try another search</a>.</p>
     <!-- /TMPL_IF -->