From 2841830d7ada9dcfa1acbe50fdc150eee82da0f8 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Wed, 6 Mar 2019 08:43:18 +0100 Subject: [PATCH] Bug 21049: Fix value of material select for Rancor 007 widget The material type is selected in accordance with position 0 of 007 Test plan: 1. Create a new record using the advanced editor 2. Select a material type for field 007 and set at least the position 0 of this field 3. Save the record and reload the page 4. The material type should remain selected 5. Try with all available material types Signed-off-by: Michal Denar --- koha-tmpl/intranet-tmpl/lib/koha/cateditor/widget.js | 7 +++++++ .../prog/en/includes/cateditor-widgets-marc21.inc | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/lib/koha/cateditor/widget.js b/koha-tmpl/intranet-tmpl/lib/koha/cateditor/widget.js index bfb1ea1697..be0623699c 100644 --- a/koha-tmpl/intranet-tmpl/lib/koha/cateditor/widget.js +++ b/koha-tmpl/intranet-tmpl/lib/koha/cateditor/widget.js @@ -121,6 +121,13 @@ define( [ 'resources' ], function( Resources ) { materialInfo[ $(this).attr('id') ] = this; } ); + if (widget.getMaterial) { + const material = widget.getMaterial(); + if (material) { + $matSelect.val(material); + } + } + $matSelect.change( function() { widget.loadXMLMaterial( materialInfo[ $matSelect.val() ] ); widget.nodeChanged(); diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-widgets-marc21.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-widgets-marc21.inc index f1cb70c1cd..bec78fe5ba 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-widgets-marc21.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-widgets-marc21.inc @@ -222,6 +222,26 @@ require( [ 'koha-backend', 'widget' ], function( KohaBackend, Widget ) { return $result[0]; }, + materialTypeMapping: { + a: 'MPS', + c: 'ER', + d: 'GL', + f: 'TM', + g: 'PG', + h: 'MF', + k: 'NG', + m: 'MP', + o: 'KT', + q: 'NM', + r: 'RI', + s: 'SR', + t: 'TC', + v: 'VR', + z: 'UN' + }, + getMaterial: function () { + return this.materialTypeMapping[this.text.substring(0, 1)]; + }, postCreate: function( node, mark ) { this.createFromXML( 'marc21/xml/007' ); } -- 2.11.0