Lines 39-49
GetOptions(
Link Here
|
39 |
|
39 |
|
40 |
@authid = map { split /[,]/, $_; } @authid; |
40 |
@authid = map { split /[,]/, $_; } @authid; |
41 |
print "No changes will be made\n" unless $commit; |
41 |
print "No changes will be made\n" unless $commit; |
42 |
if( $help ) { |
42 |
pod2usage(1) if $help; |
43 |
pod2usage(1); |
43 |
|
44 |
} elsif( $delete ) { |
44 |
if ( $delete and $merge and $renumber ) { |
|
|
45 |
pod2usage(q|Only one action parameter can be passed (delete, merge or renumber)|); |
46 |
} |
47 |
|
48 |
if( $delete ) { |
45 |
delete_auth( \@authid ); |
49 |
delete_auth( \@authid ); |
46 |
} elsif( $merge ) { |
50 |
} elsif( $merge ) { |
|
|
51 |
pod2usage(q|Reference parameter is missing|) unless $reference; |
47 |
merge_auth( \@authid, $reference ); |
52 |
merge_auth( \@authid, $reference ); |
48 |
} elsif( $renumber ) { |
53 |
} elsif( $renumber ) { |
49 |
renumber( \@authid ); |
54 |
renumber( \@authid ); |
Lines 65-74
sub delete_auth {
Link Here
|
65 |
|
70 |
|
66 |
sub merge_auth { |
71 |
sub merge_auth { |
67 |
my ( $auths, $reference ) = @_; |
72 |
my ( $auths, $reference ) = @_; |
68 |
if( !$reference ) { |
73 |
|
69 |
print "Reference parameter is missing\n"; |
74 |
return unless $reference; |
70 |
return; |
75 |
|
71 |
} |
|
|
72 |
my $marc_ref = GetAuthority( $reference ) || die "Reference record $reference not found\n"; |
76 |
my $marc_ref = GetAuthority( $reference ) || die "Reference record $reference not found\n"; |
73 |
# First update all linked biblios of reference |
77 |
# First update all linked biblios of reference |
74 |
merge({ mergefrom => $reference, MARCfrom => $marc_ref, mergeto => $reference, MARCto => $marc_ref, override_limit => 1 }) if $commit; |
78 |
merge({ mergefrom => $reference, MARCfrom => $marc_ref, mergeto => $reference, MARCto => $marc_ref, override_limit => 1 }) if $commit; |
Lines 101-110
sub merge_auth {
Link Here
|
101 |
sub renumber { |
105 |
sub renumber { |
102 |
my ( $auths ) = @_; |
106 |
my ( $auths ) = @_; |
103 |
foreach my $authid ( uniq(@$auths) ) { |
107 |
foreach my $authid ( uniq(@$auths) ) { |
104 |
if( my $obj = Koha::Authorities->find($authid) ) { |
108 |
if( my $authority = Koha::Authorities->find($authid) ) { |
105 |
my $marc = GetAuthority( $authid ); |
109 |
my $marc = GetAuthority( $authid ); |
106 |
if( $commit ) { |
110 |
if( $commit ) { |
107 |
AddAuthority( $marc, $authid, $obj->authtypecode ); |
111 |
AddAuthority( $marc, $authid, $authority->authtypecode ); |
108 |
# AddAuthority contains an update of 001, 005 etc. |
112 |
# AddAuthority contains an update of 001, 005 etc. |
109 |
print "Renumbered $authid\n" if $verbose; |
113 |
print "Renumbered $authid\n" if $verbose; |
110 |
} else { |
114 |
} else { |
111 |
- |
|
|