Browse Source

Bug 25313: Add skip_merge to ModAuthority

Sometimes you know that the merge is useless, since the reporting
tag did not change.
Might be handy in batch processing of authority records.

Test plan:
Pick an authority with a few linked biblio recs (so that it will
immediately merge; lower than MergeLimit).
Open authority record and save it.
Verify that a linked biblio record was merged. Check time in 005.
You proved that this patch does not break the regular process.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
20.11.x
Marcel de Rooy 4 years ago
committed by Jonathan Druart
parent
commit
517dcabdf7
  1. 7
      C4/AuthoritiesMarc.pm

7
C4/AuthoritiesMarc.pm

@ -664,18 +664,19 @@ sub DelAuthority {
=head2 ModAuthority
$authid= &ModAuthority($authid,$record,$authtypecode)
$authid= &ModAuthority($authid,$record,$authtypecode, [ { skip_merge => 1 ] )
Modifies authority record, optionally updates attached biblios.
The parameter skip_merge is optional and should be used with care.
=cut
sub ModAuthority {
my ( $authid, $record, $authtypecode ) = @_;
my ( $authid, $record, $authtypecode, $params ) = @_;
my $oldrecord = GetAuthority($authid);
#Now rewrite the $record to table with an add
$authid = AddAuthority($record, $authid, $authtypecode);
merge({ mergefrom => $authid, MARCfrom => $oldrecord, mergeto => $authid, MARCto => $record });
merge({ mergefrom => $authid, MARCfrom => $oldrecord, mergeto => $authid, MARCto => $record }) if !$params->{skip_merge};
logaction( "AUTHORITIES", "MODIFY", $authid, "authority BEFORE=>" . $oldrecord->as_formatted ) if C4::Context->preference("AuthoritiesLog");
return $authid;
}

Loading…
Cancel
Save