improvments/fixes for z3950 support.

* Works now even on ADD, not only on MODIFY
* able to search on ISBN, author, title
This commit is contained in:
tipaul 2003-06-17 11:21:12 +00:00
parent 8970895bba
commit bb7fecd745
5 changed files with 74 additions and 8 deletions

View File

@ -1,6 +1,11 @@
package C4::Biblio;
# $Id$
# $Log$
# Revision 1.49 2003/06/17 11:21:13 tipaul
# improvments/fixes for z3950 support.
# * Works now even on ADD, not only on MODIFY
# * able to search on ISBN, author, title
#
# Revision 1.48 2003/06/16 09:22:53 rangi
# Just added an order clause to getitemtypes
#
@ -478,14 +483,15 @@ sub MARCgettagslib {
$res->{$tag}->{mandatory}=$mandatory;
}
$sth=$dbh->prepare("select tagfield,tagsubfield,$libfield as lib,tab, mandatory, repeatable,authorised_value,thesaurus_category,value_builder from marc_subfield_structure order by tagfield,tagsubfield");
$sth=$dbh->prepare("select tagfield,tagsubfield,$libfield as lib,tab, mandatory, repeatable,authorised_value,thesaurus_category,value_builder,kohafield from marc_subfield_structure order by tagfield,tagsubfield");
$sth->execute;
my $subfield;
my $authorised_value;
my $thesaurus_category;
my $value_builder;
while ( ($tag, $subfield, $lib, $tab, $mandatory, $repeatable,$authorised_value,$thesaurus_category,$value_builder) = $sth->fetchrow) {
my $kohafield;
while ( ($tag, $subfield, $lib, $tab, $mandatory, $repeatable,$authorised_value,$thesaurus_category,$value_builder,$kohafield) = $sth->fetchrow) {
$res->{$tag}->{$subfield}->{lib}=$lib;
$res->{$tag}->{$subfield}->{tab}=$tab;
$res->{$tag}->{$subfield}->{mandatory}=$mandatory;
@ -493,6 +499,7 @@ sub MARCgettagslib {
$res->{$tag}->{$subfield}->{authorised_value}=$authorised_value;
$res->{$tag}->{$subfield}->{thesaurus_category}=$thesaurus_category;
$res->{$tag}->{$subfield}->{value_builder}=$value_builder;
$res->{$tag}->{$subfield}->{kohafield}=$kohafield;
}
return $res;
}

View File

@ -2414,6 +2414,7 @@ sub breedingsearch {
$query .= "isbn like \"$isbn%\"";
}
}
warn "Q : $query";
$sth = $dbh->prepare($query);
$sth->execute;
while (my $data = $sth->fetchrow_hashref) {

View File

@ -190,6 +190,7 @@ sub build_tabs ($$$$) {
$subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
$subfield_data{kohafield}=$tagslib->{$tag}->{$subfield}->{kohafield};
$value=char_decode($value) unless ($is_a_modif);
$indicator = $x if $x; #XXX
if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
@ -220,6 +221,7 @@ sub build_tabs ($$$$) {
$subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
$subfield_data{kohafield}=$tagslib->{$tag}->{$subfield}->{kohafield};
if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
$subfield_data{marc_value}= build_authorized_values_list($tag, $subfield, $value, $dbh, $authorised_values_sth);
} elsif ($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {

View File

@ -50,6 +50,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -72,6 +73,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -94,6 +96,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -116,6 +119,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -138,6 +142,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -160,6 +165,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -182,6 +188,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -204,6 +211,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -226,6 +234,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -248,6 +257,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -268,6 +278,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -279,11 +290,13 @@
<input type="hidden" name="subfield" value="<TMPL_VAR name="oldbiblionumtagsubfield">">
<input type="hidden" name="field_value" value="<TMPL_VAR name="oldbiblionumber">">
<input type="hidden" name="mandatory" value="0">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag" value="<TMPL_VAR name="oldbiblioitemnumtagfield">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="oldbiblioitemnumtagsubfield">">
<input type="hidden" name="field_value" value="<TMPL_VAR name="oldbiblioitemnumber">">
<input type="hidden" name="mandatory" value="0">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</TMPL_IF>
</form>
@ -365,7 +378,22 @@ function Dopop(link,i) {
}
function PopupZ3950(link,i) {
newin=window.open("../z3950/search.pl?bibid=<TMPL_VAR name="bibid">","z3950 search",'width=500,height=400,toolbar=false,scrollbars=yes');
var strQuery="";
for (i=0 ; i<document.forms[0].field_value.length ; i++) {
if (document.forms[0].kohafield[i].value == "biblioitems.isbn" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&isbn="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblio.title" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&title="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblio.author" &&document.forms[0].field_value[i].value.length>0) {
strQuery += "&author="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblioitems.issn" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&issn="+document.forms[0].field_value[i].value;
}
}
newin=window.open("../z3950/search.pl?bibid=<TMPL_VAR name="bibid">"+strQuery,"z3950 search",'width=500,height=400,toolbar=false,scrollbars=yes');
}
</script>

View File

@ -49,6 +49,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -71,6 +72,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -93,6 +95,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -115,6 +118,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -137,6 +141,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -159,6 +164,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -181,6 +187,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -203,6 +210,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -225,6 +233,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -247,6 +256,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -267,6 +277,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
@ -277,12 +288,14 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="oldbiblionumtagfield">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="oldbiblionumtagsubfield">">
<input type="hidden" name="field_value" value="<TMPL_VAR name="oldbiblionumber">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="mandatory" value="0">
<input type="hidden" name="tag" value="<TMPL_VAR name="oldbiblioitemnumtagfield">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="oldbiblioitemnumtagsubfield">">
<input type="hidden" name="field_value" value="<TMPL_VAR name="oldbiblioitemnumber">">
<input type="hidden" name="mandatory" value="0">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
<input type="hidden" name="kohafield" value="<TMPL_VAR name="kohafield">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</TMPL_IF>
</form>
@ -358,9 +371,24 @@ function Check(f) {
document.f.submit();
}
}
function Dopop(link,i) {
defaultvalue=document.forms[0].field_value[i].value;
newin=window.open(link+"&result="+defaultvalue,"value builder",'width=500,height=400,toolbar=false,scrollbars=yes');
function PopupZ3950(link,i) {
var strQuery="";
for (i=0 ; i<document.forms[0].field_value.length ; i++) {
if (document.forms[0].kohafield[i].value == "biblioitems.isbn" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&isbn="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblio.title" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&title="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblio.author" &&document.forms[0].field_value[i].value.length>0) {
strQuery += "&author="+document.forms[0].field_value[i].value;
}
if (document.forms[0].kohafield[i].value == "biblioitems.issn" && document.forms[0].field_value[i].value.length>0) {
strQuery += "&issn="+document.forms[0].field_value[i].value;
}
}
newin=window.open("../z3950/search.pl?bibid=<TMPL_VAR name="bibid">"+strQuery,"z3950 search",'width=500,height=400,toolbar=false,scrollbars=yes');
}
</script>