Bugzilla – Attachment 6721 Details for
Bug 6374
Use "size" as names/hash keys leads to an unexpected results when using Template::Toolkit (name of a virtual method there)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed patch
0001-Bug-6374-defines-a-default-value-for-size-in-Results.patch (text/plain), 4.86 KB, created by
Adrien SAURAT
on 2011-12-12 11:30:33 UTC
(
hide
)
Description:
proposed patch
Filename:
MIME Type:
Creator:
Adrien SAURAT
Created:
2011-12-12 11:30:33 UTC
Size:
4.86 KB
patch
obsolete
>From 27a98238e63d604ee62edfe88ffa348c7f7641b6 Mon Sep 17 00:00:00 2001 >From: Adrien Saurat <adrien.saurat@biblibre.com> >Date: Mon, 12 Dec 2011 12:22:27 +0100 >Subject: [PATCH] Bug 6374: defines a default value for "size" in Results > >If no size is stored in the database for a given biblio, >the script search.pl will now define a default size >(empty space) to avoid conflicts with TT (which uses >a size parameter too). >--- > catalogue/search.pl | 39 ++++++++++++++++++++++----------------- > 1 files changed, 22 insertions(+), 17 deletions(-) > >diff --git a/catalogue/search.pl b/catalogue/search.pl >index 907efdb..104b505 100755 >--- a/catalogue/search.pl >+++ b/catalogue/search.pl >@@ -440,18 +440,18 @@ if ($params->{'limit-yr'}) { > # $ %z3950p will be a hash ref if the indexes are present (advacned search), otherwise undef > my $z3950par; > my $indexes2z3950 = { >- kw=>'title', au=>'author', 'au,phr'=>'author', nb=>'isbn', ns=>'issn', >- 'lcn,phr'=>'dewey', su=>'subject', 'su,phr'=>'subject', >- ti=>'title', 'ti,phr'=>'title', se=>'title' >+ kw=>'title', au=>'author', 'au,phr'=>'author', nb=>'isbn', ns=>'issn', >+ 'lcn,phr'=>'dewey', su=>'subject', 'su,phr'=>'subject', >+ ti=>'title', 'ti,phr'=>'title', se=>'title' > }; > for (my $ii = 0; $ii < @operands; ++$ii) > { >- my $name = $indexes2z3950->{$indexes[$ii]}; >- if (defined $name && defined $operands[$ii]) >- { >- $z3950par ||= {}; >- $z3950par->{$name} = $operands[$ii] if !exists $z3950par->{$name}; >- } >+ my $name = $indexes2z3950->{$indexes[$ii]}; >+ if (defined $name && defined $operands[$ii]) >+ { >+ $z3950par ||= {}; >+ $z3950par->{$name} = $operands[$ii] if !exists $z3950par->{$name}; >+ } > } > > >@@ -484,9 +484,9 @@ for my $this_cgi ( split('&',$query_cgi) ) { > my $input_name = $1; > my $input_value = $2; > push @query_inputs, { input_name => $input_name, input_value => $input_value }; >- if ($input_name eq 'idx') { >- $scan_index_to_use = $input_value; # unless $scan_index_to_use; >- } >+ if ($input_name eq 'idx') { >+ $scan_index_to_use = $input_value; # unless $scan_index_to_use; >+ } > } > $template->param ( QUERY_INPUTS => \@query_inputs, > scan_index_to_use => $scan_index_to_use ); >@@ -552,8 +552,8 @@ for (my $i=0;$i<@servers;$i++) { > ## If there's just one result, redirect to the detail page > if ($total == 1) { > my $biblionumber = $newresults[0]->{biblionumber}; >- my $defaultview = C4::Context->preference('IntranetBiblioDefaultView'); >- my $views = { C4::Search::enabled_staff_search_views }; >+ my $defaultview = C4::Context->preference('IntranetBiblioDefaultView'); >+ my $views = { C4::Search::enabled_staff_search_views }; > if ($defaultview eq 'isbd' && $views->{can_view_ISBD}) { > print $cgi->redirect("/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=$biblionumber"); > } elsif ($defaultview eq 'marc' && $views->{can_view_MARC}) { >@@ -578,12 +578,17 @@ for (my $i=0;$i<@servers;$i++) { > $template->param(limit_desc => $limit_desc); > $template->param(offset => $offset); > $template->param(DisplayMultiPlaceHold => $DisplayMultiPlaceHold); >- $template->param (z3950_search_params => C4::Search::z3950_search_args($query_desc)); >+ $template->param (z3950_search_params => C4::Search::z3950_search_args($query_desc)); > if ($query_desc || $limit_desc) { > $template->param(searchdesc => 1); > } > $template->param(stopwords_removed => "@$stopwords_removed") if $stopwords_removed; > $template->param(results_per_page => $results_per_page); >+ # must define a value for size if not present in DB >+ # in order to avoid problems generated by the default size value in TT >+ foreach my $line (@newresults) { >+ if ( not exists $line->{'size'} ) { $line->{'size'} = "" } >+ } > $template->param(SEARCH_RESULTS => \@newresults); > > ## FIXME: add a global function for this, it's better than the current global one >@@ -649,7 +654,7 @@ for (my $i=0;$i<@servers;$i++) { > # no hits > else { > $template->param(searchdesc => 1,query_desc => $query_desc,limit_desc => $limit_desc); >- $template->param (z3950_search_params => C4::Search::z3950_search_args($z3950par || $query_desc)); >+ $template->param (z3950_search_params => C4::Search::z3950_search_args($z3950par || $query_desc)); > } > > } # end of the if local >@@ -679,7 +684,7 @@ $template->param( > total => $total, > opacfacets => 1, > facets_loop => $facets, >- displayFacetCount=> C4::Context->preference('displayFacetCount')||0, >+ displayFacetCount=> C4::Context->preference('displayFacetCount')||0, > scan => $scan, > search_error => $error, > ); >-- >1.7.4.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6374
:
4191
|
6721
|
7014
|
7016
|
7027
|
7028