From 4c4cae22daef913e780ec3b8bda161ae1192d7eb Mon Sep 17 00:00:00 2001 From: Brian Harrington Date: Fri, 24 Apr 2009 14:39:54 -0400 Subject: [PATCH] Revisions to auto-generated authorities patch It turns out that the "blank" record created by MARC::Record->new() has a leader, so now I explicitly create one in addbiblio.pl. I also realized I can't count. :-) Signed-off-by: Galen Charlton --- C4/AuthoritiesMarc.pm | 2 +- cataloguing/addbiblio.pl | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index 644f53def6..bd768f5216 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -522,7 +522,7 @@ sub AddAuthority { # pass the MARC::Record to this function, and it will create the records in the authority table my ($record,$authid,$authtypecode) = @_; my $dbh=C4::Context->dbh; - my $leader=' nz a22 o 4500';#Leader for incomplete MARC21 record + my $leader=' nz a22 o 4500';#Leader for incomplete MARC21 record # if authid empty => true add, find a new authid number my $format= 'UNIMARCAUTH' if (uc(C4::Context->preference('marcflavour')) eq 'UNIMARC'); diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index 9bcf88be5e..81ff3b0dc5 100755 --- a/cataloguing/addbiblio.pl +++ b/cataloguing/addbiblio.pl @@ -789,11 +789,14 @@ AND (authtypecode IS NOT NULL AND authtypecode<>\"\")|); # FIXME: AddAuthority() instead should simply explicitly require that the MARC::Record # use UTF-8, but as of 2008-08-05, did not want to introduce that kind # of change to a core API just before the 3.0 release. - if (C4::Context->preference('marcflavour') eq 'MARC21') { - SetMarcUnicodeFlag($marcrecordauth, 'MARC21'); - } + # + # This isn't needed if we set the UTF flag in the leader below + #if (C4::Context->preference('marcflavour') eq 'MARC21') { + # SetMarcUnicodeFlag($marcrecordauth, 'MARC21'); + # } if (C4::Context->preference('marcflavour') eq 'MARC21') { + $marcrecordauth->leader(' nz a22 o 4500'); $marcrecordauth->insert_fields_ordered(MARC::Field->new('667','','','a'=>"Machine generated authority record.")); my $cite = $record->author() . ", " . $record->title_proper() . ", " . $record->publication_date() . " "; $cite =~ s/^[\s\,]*//; -- 2.39.5