Bug 16010: follow-up of 15381 - FIX merge_authorities migration script
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 9 Mar 2016 08:20:04 +0000 (08:20 +0000)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Mon, 21 Mar 2016 18:28:46 +0000 (18:28 +0000)
Caused by commit 7e70202d34d75f988fbaea9b911347417c203aac
    Bug 15381: Remove GetAuthType and GetAuthTypeCode

If you execute perl misc/migration_tools/merge_authority.pl -f 1 -t 2
you will get:
Can't locate object method "authtypecode" via package "1" (perhaps you forgot to load "1"?)
 at misc/migration_tools/merge_authority.pl line 58.

GetAuthority does not return a Koha::Authority but a MARC::Record:
there is no authtype code method!

Test plan:
perl misc/migration_tools/merge_authority.pl -f X -t Y
Should not return any error.
Note that if the authid X or Y does not exist, the script will die.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
misc/migration_tools/merge_authority.pl

index 87a02f9..405b66a 100755 (executable)
@@ -55,8 +55,11 @@ $|=1; # flushes output
 my $authfrom = GetAuthority($mergefrom);
 my $authto = GetAuthority($mergeto);
 
-my $authtypecodefrom = $mergefrom->authtypecode;
-my $authtypecodeto   = $mergeto->authtypecode;
+die "Authority $mergefrom does not exist" unless $authfrom;
+die "Authority $mergeto does not exist"   unless $authto;
+
+my $authtypecodefrom = Koha::Authorities->find($mergefrom)->authtypecode;
+my $authtypecodeto = Koha::Authorities->find($mergeto)->authtypecode;
 
 unless ($noconfirm || $batch) {
     print "************\n";