From: dbs Date: Tue, 21 Sep 2010 03:48:32 +0000 (+0000) Subject: Merge r17587 and r17588 from trunk to add $0 control subfields for newly controlled... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8d395bb33aba53d69785ff3007c35bc1ea865f01;p=evergreen%2Fjoelewis.git Merge r17587 and r17588 from trunk to add $0 control subfields for newly controlled fields In the MARC editor, when editing a bibliographic record and right-clicking on a controllable subfield, the "Create new authority from this field" options now both add a $0 control subfield to the target bib field once the new auth record has successfully been created. git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@17859 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js index 6c68fcdd92..980ffffa5c 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.js +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js @@ -2338,16 +2338,17 @@ function browseAuthority (sf_popup, menu_id, target, sf, limit, page) { command : function() { // Call middle-layer function to create and save the new authority var source_f = summarizeField(sf); - fieldmapper.standardRequest( + var new_auth = fieldmapper.standardRequest( ["open-ils.cat", "open-ils.cat.authority.record.create_from_bib"], - { - "async": true, - "params": [source_f, ses()], - "oncomplete": function() { - alert($('catStrings').getString('staff.cat.marcedit.create_authority_success.label')); - } - } + [source_f, ses()] ); + if (new_auth && new_auth.id()) { + var id_sf = (CONS){new_auth.id()}; + sf.parent().appendChild(id_sf); + var new_sf = marcSubfield(id_sf); + target.parentNode.appendChild(new_sf); + alert($('catStrings').getString('staff.cat.marcedit.create_authority_success.label')); + } } }) ); @@ -2366,7 +2367,7 @@ function browseAuthority (sf_popup, menu_id, target, sf, limit, page) { ["open-ils.cat", "open-ils.cat.authority.record.create_from_bib.readonly"], { "params": [source_f] } ); - loadMarcEditor(pcrud, rec); + loadMarcEditor(pcrud, rec, target, sf); } }) ); @@ -2567,7 +2568,7 @@ function onBibSourceSelect() { } } -function loadMarcEditor(pcrud, marcxml) { +function loadMarcEditor(pcrud, marcxml, target, sf) { /* To run in Firefox directly, must set signed.applets.codebase_principal_support to true in about:config @@ -2589,7 +2590,15 @@ function loadMarcEditor(pcrud, marcxml) { rec.last_xact_id(xact_id); rec.isnew(true); pcrud.create(rec, { - "oncomplete": function () { + "oncomplete": function (r, objs) { + var new_rec = objs[0]; + if (!new_rec) { + return ''; + } + var id_sf = (CONS){new_rec.id()}; + sf.parent().appendChild(id_sf); + var new_sf = marcSubfield(id_sf); + target.parentNode.appendChild(new_sf); alert($('catStrings').getString('staff.cat.marcedit.create_authority_success.label')); win.close(); }