Bug 5375 (Update date/time last transaction (MARC 005) when saving authority record)
authorMarcel de Rooy <M.de.Rooy@rijksmuseum.nl>
Thu, 16 Dec 2010 01:12:28 +0000 (20:12 -0500)
committerChris Cormack <chrisc@catalyst.net.nz>
Tue, 4 Jan 2011 19:44:05 +0000 (08:44 +1300)
Update 005 date/time when saving authority record for MARC21 and UNIMARC.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/AuthoritiesMarc.pm

index d07cca4..9421be9 100644 (file)
@@ -610,6 +610,16 @@ sub AddAuthority {
         $format= 'MARC21';
     }
 
+    #update date/time to 005 for marc and unimarc
+    my $time=POSIX::strftime("%Y%m%d%H%M%S",localtime);
+    my $f5=$record->field('005');
+    if (!$f5) {
+      $record->insert_fields_ordered( MARC::Field->new('005',$time.".0") );
+    }
+    else {
+      $f5->update($time.".0");
+    }
+
        if ($format eq "MARC21") {
                if (!$record->leader) {
                        $record->leader($leader);
@@ -619,12 +629,6 @@ sub AddAuthority {
                                MARC::Field->new('003',C4::Context->preference('MARCOrgCode'))
                        );
                }
-               my $time=POSIX::strftime("%Y%m%d%H%M%S",localtime);
-               if (!$record->field('005')) {
-                       $record->insert_fields_ordered(
-                               MARC::Field->new('005',$time.".0")
-                       );
-               }
                my $date=POSIX::strftime("%y%m%d",localtime);
                if (!$record->field('008')) {
                        $record->insert_fields_ordered(