[Koha-patches] [PATCH] (bug #3355) add pagination in bib search for subscriptions

Nahuel ANGELINETTI nahuel.angelinetti at biblibre.com
Wed Jun 24 11:00:48 CEST 2009


This add the support of pagination, delete a javascript call, and use now a get method(why post was used?).
---
 .../prog/en/modules/serials/result.tmpl            |   18 +++++++++---------
 .../modules/serials/subscription-bib-search.tmpl   |    2 +-
 serials/subscription-bib-search.pl                 |   17 +++++++++--------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tmpl
index 38e3cb3..67a2060 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tmpl
@@ -21,7 +21,7 @@ function GetIt(bibno,title)
    <div id="bd">
 	
 
-<h1>Search results</h1>
+<h1>Search results from <!-- TMPL_VAR NAME="from" --> to <!-- TMPL_VAR NAME="to" --> of <!-- TMPL_VAR NAME="total" --></h1>
 <!-- TMPL_IF NAME="total"-->
 <table>
     <tr>
@@ -54,15 +54,15 @@ function GetIt(bibno,title)
 <!-- TMPL_ELSE -->
 <h2>No results found for <b><!-- TMPL_VAR NAME="query" --></b></h2>
 <!-- /TMPL_IF-->
-<a onclick="Plugin(f)" href="">Search for another Biblio</a>
+<!-- TMPL_IF NAME="displayprev" -->
+<a href="/cgi-bin/koha/serials/subscription-bib-search.pl?op=do_search&type=intranet&startfrom=<!-- TMPL_VAR ESCAPE="URL" NAME="startfromprev" -->&q=<!-- TMPL_VAR ESCAPE="URL" NAME="query" -->">&lt;&lt;</a>
+<!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="displaynext" -->
+<a href="/cgi-bin/koha/serials/subscription-bib-search.pl?op=do_search&type=intranet&startfrom=<!-- TMPL_VAR ESCAPE="URL" NAME="startfromnext" -->&q=<!-- TMPL_VAR ESCAPE="URL" NAME="query" -->">&gt;&gt;</a>
+<!-- /TMPL_IF -->
+<br/>
+<a href="subscription-bib-search.pl">Search for another Biblio</a>
 <a class="button" href="#" onclick="window.close()">  Close</a></p>
 </div>
 
-<script type="text/javascript">
-function Plugin(f)
-{
-    window.open('subscription-bib-search.pl','FindABibIndex','width=800,height=400,toolbar=no,scrollbars=yes');
-}
-</script>
-
 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-bib-search.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-bib-search.tmpl
index 2a17a72..a8cf0cf 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-bib-search.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-bib-search.tmpl
@@ -12,7 +12,7 @@
 <!-- TMPL_IF name="no_query" -->
     <div class="warning">You must enter a term to search on </div>
 <!-- /TMPL_IF -->
-<form name="f" action="/cgi-bin/koha/serials/subscription-bib-search.pl" method="post">
+<form name="f" action="/cgi-bin/koha/serials/subscription-bib-search.pl" method="get">
     <input type="hidden" name="op" value="do_search" />
     <input type="hidden" name="type" value="intranet" />
     <label for="q">Keyword</label>
diff --git a/serials/subscription-bib-search.pl b/serials/subscription-bib-search.pl
index 21341db..0ad7476 100755
--- a/serials/subscription-bib-search.pl
+++ b/serials/subscription-bib-search.pl
@@ -76,9 +76,9 @@ if ($op eq "do_search" && $query) {
     $query .= " AND itype=$itemtypelimit" if $itemtypelimit;
     
     $resultsperpage= $input->param('resultsperpage');
-    $resultsperpage = 19 if(!defined $resultsperpage);
+    $resultsperpage = 20 if(!defined $resultsperpage);
 
-    my ($error, $marcrecords, $total_hits) = SimpleSearch($query, $startfrom, $resultsperpage);
+    my ($error, $marcrecords, $total_hits) = SimpleSearch($query, $startfrom*$resultsperpage, $resultsperpage);
     my $total = scalar @$marcrecords;
 
     if (defined $error) {
@@ -119,14 +119,14 @@ if ($op eq "do_search" && $query) {
     # multi page display gestion
     my $displaynext=0;
     my $displayprev=$startfrom;
-    if(($total - (($startfrom+1)*($resultsperpage))) > 0 ){
+    if(($total_hits - (($startfrom+1)*($resultsperpage))) > 0 ){
         $displaynext = 1;
     }
 
 
     my @numbers = ();
 
-    if ($total>$resultsperpage)
+    if ($total_hits>$resultsperpage)
     {
         for (my $i=1; $i<$total/$resultsperpage+1; $i++)
         {
@@ -141,11 +141,12 @@ if ($op eq "do_search" && $query) {
             }
         }
     }
-
-    my $from = $startfrom*$resultsperpage+1;
+    
+    my $from = 0;
+    $from = $startfrom*$resultsperpage+1 if($total_hits > 0);
     my $to;
 
-    if($total < (($startfrom+1)*$resultsperpage))
+    if($total_hits < (($startfrom+1)*$resultsperpage))
     {
         $to = $total;
     } else {
@@ -160,7 +161,7 @@ if ($op eq "do_search" && $query) {
                             resultsperpage => $resultsperpage,
                             startfromnext => $startfrom+1,
                             startfromprev => $startfrom-1,
-                            total=>$total,
+                            total=>$total_hits,
                             from=>$from,
                             to=>$to,
                             numbers=>\@numbers,
-- 
1.6.0.4




More information about the Koha-patches mailing list