[Koha-patches] [PATCH] [3.0.1](bug #2978) fix differents bugs in marc editor

Nahuel ANGELINETTI nahuel.angelinetti at biblibre.com
Mon Feb 23 12:12:49 CET 2009


This patch fix two bugs:

 * tag duplication
If you try to duplicate an autority tag, the javascript call is kept, and the id is not modified, and fields are not emptied.

 * openAuth() call
The id called on duplicated fields is not the great id.
And the different values sent to auth_finder.pl to pre-fetch datas from firstname, etc... send values from all same tags, and not from the selected tag.
---
 cataloguing/addbiblio.pl                           |    2 +-
 .../prog/en/modules/cataloguing/addbiblio.tmpl     |   11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl
index 647c754..a6b6676 100755
--- a/cataloguing/addbiblio.pl
+++ b/cataloguing/addbiblio.pl
@@ -399,7 +399,7 @@ sub create_input {
                     maxlength=\"$max_length\"
                     readonly=\"readonly\"
                     \/><a href=\"#\" class=\"buttonDot\"
-                        onclick=\"openAuth('".$subfield_data{id}."','".$tagslib->{$tag}->{$subfield}->{authtypecode}."'); return false;\" title=\"Tag Editor\">...</a>
+                        onclick=\"openAuth(this.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."'); return false;\" title=\"Tag Editor\">...</a>
             ";
       }
     # it's a plugin field
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
index 0c33f78..87ebd20 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
@@ -162,10 +162,11 @@ function openAuth(tagsubfieldid,authtype) {
     var elementsubfcode=getSubfieldcode(element.name);
     var mainmainstring=element.value;
     var mainstring="";  
-    var inputs = document.getElementsByTagName("input");
+    var inputs = element.parentNode.parentNode.getElementsByTagName("input");
+
     for (var myindex =0; myindex<inputs.length;myindex++){
         if (inputs[myindex].name && inputs[myindex].name.match(tagsubfield)){
-            var subfieldcode=getSubfieldcode(inputs[myindex].name);  
+            var subfieldcode=getSubfieldcode(inputs[myindex].name);
             if (isNaN(parseInt(subfieldcode)) && inputs[myindex].value != "" && subfieldcode!=elementsubfcode){
                 mainstring=inputs[myindex].value+" "+mainstring;
             }      
@@ -221,6 +222,12 @@ function CloneField(index) {
             var inputs   = divs[i].getElementsByTagName('input');
             var id_input = "";
             
+            for( j = 0 ; j < inputs.length ; j++ ) {
+            	if(inputs[j].getAttribute("id") && inputs[j].getAttribute("id").match(/^tag_/) ){
+            		inputs[j].value = "";
+            	}
+            }
+            
             inputs[0].setAttribute('id',inputs[0].getAttribute('id')+new_key);
             inputs[0].setAttribute('name',inputs[0].getAttribute('name')+new_key);
             var id_input;
-- 
1.5.6.3




More information about the Koha-patches mailing list