improvments/fixes for z3950 support.
authortipaul <tipaul>
Tue, 17 Jun 2003 11:21:12 +0000 (11:21 +0000)
committertipaul <tipaul>
Tue, 17 Jun 2003 11:21:12 +0000 (11:21 +0000)
* Works now even on ADD, not only on MODIFY
* able to search on ISBN, author, title

C4/Biblio.pm
C4/Search.pm
acqui.simple/addbiblio.pl
koha-tmpl/intranet-tmpl/default/en/acqui.simple/addbiblio.tmpl
koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbiblio.tmpl

index 8ca8af7..6a150ce 100644 (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;
 }
index 0522fa9..d252268 100755 (executable)
@@ -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) {
index 0a799a8..54b96e6 100755 (executable)
@@ -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}) {
index 64d7631..497610c 100644 (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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                <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>
index a5faad6..1aa4be0 100644 (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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                        <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>
                <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>