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: [