Bug 9947 - Creating item for received serial prefills enumchron subfield
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Thu, 28 Mar 2013 14:52:13 +0000 (15:52 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Tue, 2 Apr 2013 12:58:52 +0000 (08:58 -0400)
In serial receiving :
When creating an item for an issue, a javascript prefilles the $h subfield with issue number.
This is for MARC21, in UNIMARC serial number is on $v.

This patch replaces hard-coded value with the subfield mapped with "items.enumchron".

Test plan :
- Set "Koha to MARC mapping" of "items.enumchron" on a subfield other than $h, ie $z
- Go to a serial subscription detail with "Serial receipt creates an item record"
- Click on "Receive"
- On an issue, click on "Click to add item"
=> Check that issue number is copied into selected subfield, ie $z
You may test that with no mapping of "items.enumchron" there is no javascript error

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Nice catch! Works as advertised.
All tests pass after fixing tabulation characters in serials-edit.tt.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt

index 6ab28c7..5c8c80c 100644 (file)
@@ -68,13 +68,13 @@ function unHideItems(index,labelindex, serialId) {
        label = document.getElementById(labelindex);
        label.style.display='none';     
 
-       // Prefilling 995$h with serial enumeration/issue number
-       // Getting item id
-       itemid = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items").attr("id");
-       // Getting subfield id
-       subfieldid = "subfield" + itemid.substr(4) + "h";
-       // Setting text field 
-       $("#" + subfieldid + " input[type='text']").val($("#serialseq" + serialId).val());
+    // Prefilling enumcron subfield with serial enumeration/issue number
+    // Getting item div
+    item_div = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items");
+    // Getting subfield with enumcron mapping
+    subfield_div = $(item_div).find("input[name='kohafield'][value='items.enumchron']").parent();
+    // Setting text field
+    $(subfield_div).children("input[type='text'][name='field_value']").val($("#serialseq" + serialId).val());
 
 }
 function HideItems(index,labelindex) {