From 5acddea685c665463aa0ca755962734a75700ecb Mon Sep 17 00:00:00 2001 From: Agustin Moyano Date: Tue, 23 Apr 2019 00:50:49 +0000 Subject: [PATCH] Bug 16232: Fix edit as new in Rancor When you edit a biblio as new, and you have enabled advanced editor, current record was opened, and was overwritten when saved. This patch effectively opens a new record based on the one selected. To test: 1) Enable "EnableAdvancedCatalogingEditor" preference 2) Go to cataloguing and click on advanced editor to save preference to the cookie 3) Search for an item in catalog 4) Click in "Edit as new (duplicate)" 5) Advanced editor should appear. CHECK => browser url ends with #catalog/{original biblionumber} => Title above toolbar is "Editing catalog record #{original biblionumber}" 6) Apply this patch 7) Repeat steps 3 to 5 SUCCESS => browser url ends with #duplicate/{original biblionumber} => Title above toolbar is "Editing duplicate record of #{original biblionumber}" 8) Save SUCCESS => browser url ends with #catalog/{new biblionumber} => Title above toolbar is "Editing catalog record #{new biblionumber}" 9) Sign off Sponsored-by: Carnegie Signed-off-by: Kyle M Hall Signed-off-by: Josef Moravec Signed-off-by: Nick Clemens (cherry picked from commit 680dd7f340ef445820864045127da9c65b3be0e2) Signed-off-by: Martin Renvoize --- cataloguing/addbiblio.pl | 2 +- .../prog/en/includes/cateditor-ui.inc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index 67dde9800e..cb7d21ccdf 100755 --- a/cataloguing/addbiblio.pl +++ b/cataloguing/addbiblio.pl @@ -741,7 +741,7 @@ if ($frameworkcode eq 'FA'){ # Only use the advanced editor for non-fast-cataloging. # breedingid is not handled because those would only come off a Z39.50 # search initiated by the basic editor. - print $input->redirect( '/cgi-bin/koha/cataloguing/editor.pl' . ( $biblionumber ? ( '#catalog/' . $biblionumber ) : '' ) ); + print $input->redirect( '/cgi-bin/koha/cataloguing/editor.pl' . ( $biblionumber ? ( ($op eq 'duplicate'?'#duplicate/':'#catalog/') . $biblionumber ) : '' ) ); exit; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc index 5bf7472f79..ded08ea912 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc @@ -234,6 +234,21 @@ require( [ 'koha-backend', 'search', 'macros', 'marc-editor', 'marc-record', 'pr callback( record ); }, }, + 'duplicate': { + titleForRecord: _("Editing duplicate record of #{ID}"), + get: function( id, callback ) { + if ( !id ) return false; + + KohaBackend.GetRecord( id, callback ); + }, + save: function( id, record, done ) { + function finishCb( data ) { + done( { error: data.error, newRecord: data.marcxml && data.marcxml[0], newId: data.biblionumber && [ 'catalog', data.biblionumber ] } ); + } + + KohaBackend.CreateRecord( record, finishCb ); + } + }, 'catalog': { titleForRecord: _("Editing catalog record #{ID}"), links: [ -- 2.39.5