Bugzilla – Attachment 59930 Details for
Bug 16018
Merge.pl code cleanup
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 16018: Merge.pl code cleanup
Bug-16018-Mergepl-code-cleanup.patch (text/plain), 4.50 KB, created by
Marcel de Rooy
on 2017-02-06 14:07:12 UTC
(
hide
)
Description:
Bug 16018: Merge.pl code cleanup
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2017-02-06 14:07:12 UTC
Size:
4.50 KB
patch
obsolete
>From 8b2aadd055cbe29b3a1e89a2af202160a72913e5 Mon Sep 17 00:00:00 2001 >From: remi <remi.mayrand-provencher@inLibro.com> >Date: Wed, 9 Mar 2016 11:48:31 -0500 >Subject: [PATCH] Bug 16018: Merge.pl code cleanup >Content-Type: text/plain; charset=utf-8 > >Original patch from Remi Mayrand-Provencher. >Amended by Marcel de Rooy (January 2017), part of omnibus bug 17908. > >EDIT: >We cannot remove the ModAuthority call, since the reference record is >the result of the merge and should be saved. >Variable $overwrite is not used and can be removed. > >It is not useful to postpone a merge to the cron job here, since the >old authority record is deleted. (Note that bug 9988 will address this >subject too.) > >Removing the call to C4::ImportBatch::SetImportRecordStatus: Since >$recordid2 is not an import_record_id, this is useless and potentially wrong. >Removed the if statement for @errors, since it is not used at this point; >putting the result of a comparison into $error is not useful either. > >Note: there is a lot of code in merge.pl around breeding that is actually >unused. Template tools/manage-marc-import.tt contains two unused blocks >final_match_link and match_link that contain a (unreachable) call to >authorities/merge.pl with parameters: >mergereference=breeding&authid=[% record_lis.match_id %]&authid=[% record_lis.import_record_id %] >It seems that this would show the records correctly, but would not merge >them correctly since that code expects two authority records. > >Leaving the signoff of Mehdi since he essentially tested the merge call. > >Test plan: >[1] Restart Plack and restart koha-indexer. (I had some problems related to > indexing as a result of the marcxml transition.) >[2] Go to Authorities. > Select two authorities to merge, start with two of the same type. > Make sure that both are used in a few biblio records. > Select at least one subfield from the authority to be removed for > inclusion in the authority to be kept ("reference record"). >[3] Click Merge. You come back to the kept authority record. > Note: The number of attached records may not yet be updated. This depends > on the speed of koha-indexer. If you wait a bit and refresh, you should > have the correct number. > First check the authority record again for the inserted subfield. > Now check a biblio that was ALREADY attached to the reference record. > And check a biblio that was FORMERLY attached to the deleted one. > Note: See bug 17913 to see how pref AuthorityMergeMode impacts this. >[4] Try steps 2 and 3 again for a merge of two authority records that do not > have the same authority type noting the remarks below. > For instance try to merge from a CORPO_NAME to a PERSO_NAME record. > Make a change in say 040$a of the record to be deleted. And select that > field later on the merge form. > Normally, you would use the PERSO_NAME framework in the merge now. > When checking the authority record, look at 040a. When checking the > record that was linked to the CORPO_NAME, check if it contains the > PERSO_NAME authority in the correct field (say 100, 600, 700). > >Signed-off-by: mehdi <mehdi@inlibro.com> > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Tested merging PERSO_NAME to PERSO_NAME and PERSO_NAME to CORPO_NAME. >--- > authorities/merge.pl | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) > >diff --git a/authorities/merge.pl b/authorities/merge.pl >index b423122..9d560d6 100755 >--- a/authorities/merge.pl >+++ b/authorities/merge.pl >@@ -58,21 +58,16 @@ if ($merge) { > $record->leader( GetAuthority($recordid1)->leader() ); > > # Modifying the reference record >+ # This triggers a merge for the biblios attached to $recordid1 > ModAuthority( $recordid1, $record, $typecode ); > >- # Deleting the other record >- if ( scalar(@errors) == 0 ) { >+ # Now merge for biblios attached to $recordid2 >+ # We ignore dontmerge now, since recordid2 is deleted >+ my $MARCfrom = GetAuthority( $recordid2 ); >+ &merge( $recordid2, $MARCfrom, $recordid1, $record ); > >- my $error; >- if ($input->param('mergereference') eq 'breeding') { >- require C4::ImportBatch; >- C4::ImportBatch::SetImportRecordStatus( $recordid2, 'imported' ); >- } else { >- C4::AuthoritiesMarc::merge( $recordid2, GetAuthority($recordid2), $recordid1, $record ); >- $error = (DelAuthority($recordid2) == 0); >- } >- push @errors, $error if ($error); >- } >+ # Deleting the other record >+ DelAuthority( $recordid2 ); > > # Parameters > $template->param( >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 16018
:
48889
|
58578
|
59497
|
59502
|
59531
|
59532
|
59547
|
59927
|
59930
|
59935