bugfixes on unimarc 100 handling (the field used for encoding)
[koha_gimpoz] / cataloguing / addbiblio.pl
index 4d43487..a5ceee7 100755 (executable)
@@ -97,32 +97,29 @@ sub MARCfindbreeding {
     my ($file,$marc,$encoding) = $sth->fetchrow;
     if ($marc) {
         my $record = MARC::Record->new_from_usmarc($marc);
-       if ($record->field('010')){ 
-       foreach my $field ($record->field('010'))
-               {
-                       foreach my $subfield ($field->subfield('a')){
-                               my $newisbn = $field->subfield('a');
-                               $newisbn =~ s/-//g;
-                               $field->update( 'a' => $newisbn );
-                               
-                                               
-                       }
-#                      $record->insert_fields_ordered($record->field('010'));
-               }               
-       }
-       
-    if ($record->subfield(100,'a')){
-       my $f100a=$record->subfield(100,'a');
-       my $f100 = $record->field(100);
-       my $f100temp = $f100->as_string;
-       $record->delete_field($f100);
-       if (length($f100temp)>28){
-       substr($f100temp,26,2,"50");
-       $f100->update('a' => $f100temp);
-       my $f100 = MARC::Field->new('100','','','a' => $f100temp);
-       $record->insert_fields_ordered($f100);
-       }
-    }
+        if ($record->field('010')){ 
+            foreach my $field ($record->field('010'))
+            {
+                foreach my $subfield ($field->subfield('a')){
+                    my $newisbn = $field->subfield('a');
+                    $newisbn =~ s/-//g;
+                    $field->update( 'a' => $newisbn );
+                }
+    #                  $record->insert_fields_ordered($record->field('010'));
+            }          
+        }
+        if ($record->subfield(100,'a')) {
+            my $f100a=$record->subfield(100,'a');
+            my $f100 = $record->field(100);
+            my $f100temp = $f100->as_string;
+            $record->delete_field($f100);
+            if (length($f100temp)>28) {
+                substr($f100temp,26,2,"50");
+                $f100->update('a' => $f100temp);
+                my $f100 = MARC::Field->new('100','','','a' => $f100temp);
+                $record->insert_fields_ordered($f100);
+            }
+        }
         if (ref($record) eq undef) {
             return -1;
         } else {
@@ -505,7 +502,7 @@ my $framework=CGI::scrolling_list(
             -multiple => 0 );
 $template->param( framework => $framework, breedingid => $breedingid);
 
-$tagslib = &GetMarcStructure($dbh,1,$frameworkcode);
+$tagslib = &GetMarcStructure(1,$frameworkcode);
 my $record=-1;
 my $encoding="";
 $record = GetMarcBiblio( $biblionumber ) if ($biblionumber);
@@ -559,7 +556,7 @@ if ($op eq "addbiblio") {
             ($biblionumber,$oldbibitemnum) = AddBiblio($record,$frameworkcode);
         }
     # now, redirect to additem page
-        print $input->redirect("additem.pl?biblionumber=$biblionumber&frameworkcode=$frameworkcode");
+        print $input->redirect("/cgi-bin/koha/cataloguing/additem.pl?biblionumber=$biblionumber&frameworkcode=$frameworkcode");
         exit;
     } else {
     # it may be a duplicate, warn the user and do nothing