Revisions to auto-generated authorities patch
authorBrian Harrington <brian@jhu.edu>
Fri, 24 Apr 2009 18:39:54 +0000 (14:39 -0400)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Tue, 26 May 2009 19:15:17 +0000 (21:15 +0200)
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 <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
C4/AuthoritiesMarc.pm
cataloguing/addbiblio.pl

index e5babf1..de07677 100644 (file)
@@ -519,7 +519,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');
index 7dcc62c..db7ee2e 100755 (executable)
@@ -776,11 +776,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\,]*//;