[Koha-patches] [PATCH] When searching the catalogue, if I get no results then hit the Z39.50 search the title field in the pop up window is populated with what I searched for.
Peter Lorimer
peter at oslo.ie
Thu Jun 30 10:51:23 CEST 2011
If I search for a valid ISBN number and hit the Z39.50 search, the title field
is populated with the ISBN number I searched for. This number should populate
the ISBN field and not the title field.
---
C4/Search.pm | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/C4/Search.pm b/C4/Search.pm
index c3cff65..d8d2ec5 100644
--- a/C4/Search.pm
+++ b/C4/Search.pm
@@ -33,6 +33,7 @@ use C4::Debug;
use C4::Items;
use YAML;
use URI::Escape;
+use Business::ISBN;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
@@ -1423,7 +1424,7 @@ sub searchResults {
#find branchname
#get branch information.....
my %branches;
- my $bsth =$dbh->prepare("SELECT branchcode,branchname FROM branches"); # FIXME : use C4::Branch::GetBranches
+ my $bsth =$dbh->prepare("SELECT branchcode,branchname FROM branches ");
$bsth->execute();
while ( my $bdata = $bsth->fetchrow_hashref ) {
$branches{ $bdata->{'branchcode'} } = $bdata->{'branchname'};
@@ -1671,7 +1672,7 @@ sub searchResults {
($reservestatus, $reserveitem) = C4::Reserves::CheckReserves($item->{itemnumber});
}
- # item is withdrawn, lost, damaged, not for loan, reserved or in transit
+ # item is withdrawn, lost or damaged
if ( $item->{wthdrawn}
|| $item->{itemlost}
|| $item->{damaged}
@@ -1686,8 +1687,8 @@ sub searchResults {
$item_in_transit_count++ if $transfertwhen ne '';
$item_onhold_count++ if $reservestatus eq 'Waiting';
$item->{status} = $item->{wthdrawn} . "-" . $item->{itemlost} . "-" . $item->{damaged} . "-" . $item->{notforloan};
-
- # can place hold on item ?
+
+ # can place hold on item ?
if ((!$item->{damaged} || C4::Context->preference('AllowHoldsOnDamagedItems'))
&& !$item->{itemlost}
&& !$item->{withdrawn}
@@ -1695,6 +1696,7 @@ sub searchResults {
$can_place_holds = 1;
}
+
$other_count++;
my $key = $prefix . $item->{status};
@@ -2599,9 +2601,20 @@ $template->param ( MYLOOP => C4::Search::z3950_search_args($searchscalar) )
=cut
+
+
+
sub z3950_search_args {
my $bibrec = shift;
- $bibrec = { title => $bibrec } if !ref $bibrec;
+ my $isbn = Business::ISBN->new($bibrec);
+
+ if (defined $isbn && $isbn->is_valid)
+ {
+ $bibrec = { isbn => $bibrec } if !ref $bibrec;
+}
+else {
+ $bibrec = { title => $bibrec } if !ref $bibrec;
+}
my $array = [];
for my $field (qw/ lccn isbn issn title author dewey subject /)
{
@@ -2641,6 +2654,9 @@ OR adds a new authority record
=cut
+
+
+
sub BiblioAddAuthorities{
my ( $record, $frameworkcode ) = @_;
my $dbh=C4::Context->dbh;
--
1.7.4.1
More information about the Koha-patches
mailing list