@@ -, +, @@ control number is used for saved files file. the Advanced Editor interface. change to "Save by ControlNumber" there is) be saved as the biblionumber if there is no control field) saved are named abc00012345.mrc and abc00012345.xml --- ...24108-add_SaveRecordbyControlNumber_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + .../prog/en/includes/cateditor-ui.inc | 26 ++++++++++++++++++++-- .../en/modules/admin/preferences/cataloguing.pref | 9 ++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_24108-add_SaveRecordbyControlNumber_syspref.sql create mode 100644 installer/data/mysql/sysprefs.sql --- a/installer/data/mysql/atomicupdate/bug_24108-add_SaveRecordbyControlNumber_syspref.sql +++ a/installer/data/mysql/atomicupdate/bug_24108-add_SaveRecordbyControlNumber_syspref.sql @@ -0,0 +1, @@ +NSERT IGNORE INTO systempreferences (variable, value, explanation, options, type) VALUES ('SaveRecordbyControlNumber', '0', 'If set, advanced editor (Rancor) will use the control number field to populate the name of the save file, otherwise it uses the biblionumber.', NULL, 'YesNo'); --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -0,0 +1, @@ +('SaveRecordbyControlNumber','0',NULL,'If set, advanced editor (Rancor) will use the control number field to populate the name of the save file, otherwise it uses the biblionumber.','YesNo') --- a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc @@ -289,7 +289,18 @@ require( [ 'koha-backend', 'search', 'macros', 'marc-editor', 'marc-record', 'pr 'iso2709': { saveLabel: _("Save as MARC (.mrc) file"), save: function( id, record, done ) { - saveAs( new Blob( [record.toISO2709()], { 'type': 'application/octet-stream;charset=utf-8' } ), 'record.mrc' ); + var recname = 'record.mrc'; + if(state.recordID) { + recname = state.recordID+'.mrc'; + } + + [% IF (Koha.Preference('SaveRecordbyControlNumber') == '1') %] + var controlnumfield = record.field('001'); + if(controlnumfield) { + recname = controlnumfield.subfield('@')+'.mrc'; + } + [% END %] + saveAs( new Blob( [record.toISO2709()], { 'type': 'application/octet-stream;charset=utf-8' } ), recname ); done( {} ); } @@ -297,7 +308,18 @@ require( [ 'koha-backend', 'search', 'macros', 'marc-editor', 'marc-record', 'pr 'marcxml': { saveLabel: _("Save as MARCXML (.xml) file"), save: function( id, record, done ) { - saveAs( new Blob( [record.toXML()], { 'type': 'application/octet-stream;charset=utf-8' } ), 'record.xml' ); + var recname = 'record.mrc'; + if(state.recordID) { + recname = state.recordID+'.mrc'; + } + + [% IF (Koha.Preference('SaveRecordbyControlNumber') == '1') %] + var controlnumfield = record.field('001'); + if(controlnumfield) { + recname = controlnumfield.subfield('@')+'.xml'; + } + [% END %] + saveAs( new Blob( [record.toXML()], { 'type': 'application/octe t-stream;charset=utf-8' } ), recname ); done( {} ); } --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref @@ -27,6 +27,15 @@ Cataloging: - the advanced cataloging editor. - "
NOTE:" - Currently does not include support for UNIMARC or NORMARC fixed fields. + - + - "When saving in a MARC/MARCXML file in the advanced editor (Rancor), use the" + - pref: SaveRecordbyControlNumber + default: 0 + choices: + yes: Enable + yes: "Save by controlnumber" + no: "Save by biblionumber" + - "in the file name. Default is by biblionumer." Spine labels: - - When using the quick spine label printer, --